SAP S/4HANA MM模块培训 52 - 预付款与履约保留款

SAP S/4HANA MM模块培训 52 - 预付款与履约保留款
在普通采购中,很多人习惯把采购订单、收货和供应商发票看成一条固定的三步链路。但当供应商要求“先付一部分钱再交货”,或者采购方希望“先扣留一部分发票金额,等质保期结束再支付”时,流程就不再只是 MM 内部的单模块操作,而会进入采购与财务之间的集成区。
本课视频以一张 1,000 欧元的采购订单为例,解释如何在采购订单抬头或项目层维护预付款类别、百分比、固定金额和到期日,并在 SAP GUI 中实际演示 10% 预付款自动计算为 100 欧元,以及直接录入 100 欧元固定金额的另一种做法。视频还用课件说明预付款监控、财务过账和发票清算之间的关系。
不过,这段视频在创建采购订单后就结束了。最后一句是“下一步是预付款处理”,没有实际进入预付款监控、预付款请求、实际付款、发票清算、履约保留款和合同参照发票。本文前半部分严格还原视频实际完成的内容;从第一个“SAP 官方教程补充”章节开始,再依据当前 SAP Learning 与 SAP Help 补齐被截断的完整流程。原视频地址:YouTube 第 52 课。
版本提示:视频画面是经典 SAP GUI 的 Create Purchase Order 界面。当前 SAP S/4HANA 既可能使用经典事务,也可能使用 SAP Fiori 应用。字段、应用名称、特别总账标识、消息控制和可用按钮还会受到产品版本、部署方式、业务角色与客户配置影响。本文会区分“视频画面”“SAP 标准说明”和“上线前必须在本系统确认”的内容。
本课目标、证据来源与真实边界
学完本文,应当能够回答以下问题:
- 预付款与履约保留款分别解决什么业务问题,为什么两者方向相反?
- 采购订单中可以维护哪些预付款字段,抬头层与项目层有什么区别?
- 强制预付款、自愿预付款和无预付款分别表示什么?
- 为什么采购订单只负责计划,预付款请求与实际付款却属于 FI?
- 预付款请求与实际预付款是不是同一张会计凭证?
- 怎样通过监控应用或经典事务找到待处理的采购订单?
- 发票校验怎样识别并清算已经支付的预付款?
- 履约保留款在采购订单、供应商发票和财务会计中怎样传递?
- 合同参照发票有哪些官方支持路径?
- 视频究竟讲到哪里,哪些内容是 SAP 官方补充而不是讲师实操?
本文使用三层证据:
| 证据层 | 核验方式 | 用途 |
|---|---|---|
| 视频语音 | 将英文自动字幕规范化为 215 条有效片段,逐条翻译、复核并保留原时间轴 | 还原讲师的定义、示例数字和操作顺序 |
| 视频画面 | 全片生成接触表,逐段检查课件与 SAP 画面,并从原视频直接提取 1920×1080 完整帧 | 区分非 SAP 课件、真实 SAP 操作和视频终点 |
| SAP 官方资料 | 核查 SAP Learning 与 SAP Help 的预付款、特别总账、发票清算、保留款和合同参照说明 | 校正当前产品口径,并补齐视频未完成内容 |

视频文件时长为 00:10:04.301,最后一条有效讲解字幕结束于 00:10:03.140。实际完成范围如下:
- 已完成:预付款定义、百分比或固定金额、抬头或项目层、到期日、预付款监控的概念、MM 与 FI 集成概念;
- 已演示:创建采购订单、查看 1,000 欧元净值、项目层预付款类别、抬头付款处理页签、选择强制预付款、录入 10%、系统计算 100 欧元、直接录入 100 欧元和保存采购订单;
- 只在议程中出现:履约保留款、合同参照发票;
- 没有演示:ME2DP 或 F2877 监控、供应商预付款请求、实际预付款过账、收货、MIRO/F0859 发票、预付款清算、保留款发票、保留款释放和合同参照发票。
因此,凡是 10:03 之后的业务步骤都不能写成“讲师随后操作”。本文会把这些内容放在连续标记的 SAP 官方教程补充章节中。

1. 先把两个方向相反的概念分清
1.1 预付款:供应商履约前先支付
预付款是采购方在收到物料或服务之前,先向供应商支付一部分金额。常见触发原因包括:
- 设备、模具或定制物料需要供应商先采购原材料;
- 项目型服务需要启动资金;
- 市场供给紧张,供应商要求锁定产能;
- 合同约定按里程碑提前支付;
- 某些司法辖区或行业规则要求达到一定金额后必须支付预付款。
视频用两个简单例子说明录入方式:
- 采购订单总额 1,000 欧元,预付款比例 10%,系统计算预付款金额 100 欧元;
- 不输入比例,直接输入固定预付款金额 50 欧元或 100 欧元。
预付款的关键时间方向是:钱先付,货或服务后到。
1.2 履约保留款:发票已确认,但一部分金额暂不支付
履约保留款是采购方在供应商发票中暂时扣留的一部分金额。业务已经发生,供应商也可能已经开具发票,但合同规定要等到质保期结束、验收完成或其他条件满足后,才能支付被保留的部分。
履约保留款的关键时间方向是:货或服务已经发生,部分钱延后支付。
1.3 两者不能混为一谈
| 对比项 | 预付款 | 履约保留款 |
|---|---|---|
| 现金方向 | 采购方提前向供应商付款 | 采购方暂时少付供应商 |
| 典型时间点 | 交货或服务之前 | 发票过账时扣留,到期后释放 |
| 主要目的 | 帮助供应商启动履约、满足合同要求 | 约束质量、质保或履约责任 |
| 采购订单数据 | 类别、比例或金额、到期日 | 是否适用、保留比例 |
| 财务表现 | 特别总账预付款,与普通应付分开 | 保留金额单独形成到期义务 |
| 后续关键动作 | 发票校验时清算预付款 | 到期或条件满足后支付保留款 |
这个区分是整课的第一条主线。如果把“先付款”和“延后付款”当成同一功能,后续的会计科目、到期日、付款程序和清算就都会理解错。
2. 视频中的预付款采购模型
视频先回顾普通采购周期:
- 创建采购订单;
- 收货;
- 发票校验。
在预付款场景中,采购订单与收货之间插入了新的财务步骤:
- 创建含预付款数据的采购订单;
- 创建预付款请求;
- 过账实际预付款;
- 收货;
- 录入供应商发票并清算预付款;
- 支付扣除预付款后的剩余应付金额。

2.1 采购订单负责“计划”,不是实际付款凭证
采购员在采购订单中维护的预付款比例、金额和到期日,是后续财务处理的业务依据。仅保存采购订单不会让银行账户减少,也不会自动证明供应商已经收到款项。
这意味着实施和操作时必须分清三种对象:
| 对象 | 业务作用 | 是否代表实际出款 |
|---|---|---|
| 采购订单中的预付款数据 | 记录合同约定、金额计算基础和到期日 | 否 |
| 供应商预付款请求 | 向付款程序提供到期提醒和过账模板 | 否,通常是备忘项目 |
| 实际供应商预付款 | 记录真实支付,进入特别总账和银行相关过账 | 是 |
只看到采购订单历史中有预付款计划,不能直接判断款项已经支付;必须继续看请求和实际付款状态。
2.2 为什么这是 MM–FI 集成
采购订单、收货和物流发票校验属于物料管理链路;预付款请求、实际出款、特别总账和付款清算属于财务会计链路。采购订单号把两边连接起来,使财务凭证能够回到原采购业务,发票校验也能识别尚未清算的预付款。

可以把职责概括为:
- 采购:确认供应商、采购金额、预付款条件、到期日和采购订单参照;
- 应付会计:生成或检查预付款请求,执行付款,监控特别总账项目;
- 仓库或业务验收人:完成收货或服务确认;
- 发票会计:录入供应商发票,决定清算哪些预付款;
- 付款团队:支付扣减预付款后的剩余应付。
2.3 百分比和固定金额的计算
视频示例中的计算非常直接:
采购订单净值:1,000 EUR
预付款比例:10%
预付款金额:1,000 × 10% = 100 EUR
如果合同约定固定金额,则无需让系统从百分比换算:
采购订单净值:1,000 EUR
固定预付款:100 EUR
百分比字段:不作为金额来源
上线时还要额外核对币种、汇率、税、舍入、抬头与项目层级。视频只演示了单币种、单项目的简单情况,不能直接推导多币种或多项目采购订单一定得到同样结果。

3. SAP GUI 实操:在采购订单中维护预付款
下面严格按视频实际操作顺序还原。
3.1 创建 1,000 欧元的标准采购订单
讲师进入 Create Purchase Order,使用标准采购订单类型,输入供应商、物料、数量、工厂和价格。项目的数量为 100 L,单价为 10 欧元,条件页签显示净值 1,000 欧元。

这里的 1,000 欧元是后续百分比计算的基础。实际项目中,采购订单净值是否包含运费、折扣、计划交货成本或其他条件,需要结合定价过程和业务口径确认。
3.2 项目层:Invoice 页签中的 DP Category
在项目明细区打开 Invoice 页签,可以看到 DP Category 字段。视频下拉列表包含三个选项:
| 代码 | 英文描述 | 中文理解 |
|---|---|---|
| M | Mandatory Down Payment | 强制预付款 |
| N | No Down Payment | 无预付款 |
| V | Voluntary Down Payment | 自愿预付款 |

强制与自愿的差异不是“金额自动与否”,而是业务约束的不同。强制预付款用于必须支付的场景;自愿预付款用于合同并非强制、但仍计划支付的场景;无预付款用于明确不记录预付款数据。
3.3 抬头层:Payment Processing 页签
视频随后展开采购订单抬头,进入 Payment Processing 页签。初始画面显示:
- Retention:Not Applicable;
- DP Category:尚未选择。

这个画面很重要,因为它同时出现预付款和保留款入口,但两者不能互相替代。Retention 控制履约保留;DP Category 控制预付款。
3.4 选择强制预付款后出现附加字段
讲师选择 M Mandatory Down Payment 并确认,系统显示三个附加字段:
- Down Payment %:预付款百分比;
- Down Payment Amount:预付款金额;
- Due Date:预付款到期日。

这三个字段形成一组完整的业务约定:
- 类别回答“是否以及为什么需要预付款”;
- 比例或金额回答“付多少”;
- 到期日回答“何时应付”。
只录金额但没有可靠到期日,会让后续监控和付款计划失去依据;只录比例但采购订单金额还会频繁变化,也必须考虑变更后的金额影响。
3.5 输入 10% 并由系统计算 100 欧元
讲师在 Down Payment % 输入 10。确认并检查后,系统把采购订单净值 1,000 欧元乘以 10%,得到 100 欧元。


视频还录入了到期日。到期日不是交货日期的同义词,而是预付款应完成的支付日期。两者可能相同,也可能不同,取决于合同条款。
3.6 直接输入固定金额
第二种做法是不使用百分比计算,直接在 Down Payment Amount 输入 100 欧元。视频重新创建采购订单,选择强制预付款,再直接输入金额。

固定金额适用于合同明确规定绝对值的场景。采购订单金额后来变化时,固定金额不会天然维持某个比例,因此变更流程必须重新检查:
- 采购订单总额增加后,固定预付款是否仍足够;
- 采购订单总额减少后,预付款是否超过合同允许比例;
- 采购订单项目被删除或关闭时,预付款是否需要回收或重分配;
- 已生成预付款请求后再修改采购订单,是否需要同步变更或重新创建请求。
3.7 保存采购订单
视频保存采购订单后,通过选择采购订单的对话框可以看到编号 4500000032。这证明采购订单已经创建,但不证明预付款请求或实际付款已经过账。

视频随后说“下一步是预付款处理”,但没有继续打开监控或财务应用。文章到这里结束视频实录部分。
4. 视频中会计示意图的正确读法
视频课件用一个简化图说明预付款对发票和清算的影响。不要把示意图当成所有公司的固定会计分录,而要理解它表达的业务结构。

4.1 实际预付款与普通应付分开
供应商预付款发生在货物或服务正式形成应付之前。如果直接把它与普通供应商应付混在同一个统驭科目中,报表会难以区分“已经收到发票的应付”与“尚未履约的提前支付”。因此 SAP 使用特别总账机制把预付款单独列示。
4.2 发票录入后不是再付一次全额
假设采购订单和最终发票都是 1,000 欧元,已经预付 100 欧元。业务上剩余应付通常是:
供应商发票总额:1,000
减:可清算预付款:100
剩余应付:900
实际过账还会受税、汇率、清算币种、舍入、部分发票、贷项凭证和客户配置影响。正确做法是让系统在发票校验中识别采购订单参照的未清预付款,并按允许金额执行清算,而不是手工把发票金额改成 900 来掩盖原始发票总额。
4.3 三个状态必须分别核对
完整审计至少要回答:
- 采购订单是否记录了预付款条件?
- 预付款请求是否已创建、是否到期、是否被付款程序处理?
- 实际预付款是否已过账、是否已经被发票完全或部分清算?
只核对其中一个状态,容易出现“采购认为已经安排、财务认为没有请求”或“财务已经付款、发票会计没有清算”的断点。
SAP 官方教程补充(一):当前官方五步流程
从本节开始,内容不再声称是视频实操,而是依据 SAP 官方教程补齐。SAP Learning 当前把采购预付款概括为五个连续阶段:
- 创建含预付款数据的采购订单;
- 创建供应商预付款请求;
- 过账实际预付款;
- 收货并录入供应商发票;
- 在发票校验中清算预付款,再支付剩余应付。

官方原始流程说明见 SAP Learning:Executing Purchase Order with Down Payment。这张官方课件图属于非 SAP 软件界面,因此本文按照规则重制为中文,而没有直接使用英文图。
5.1 第一步:在采购订单中计划
采购订单保存下列业务条件:
- 预付款类别;
- 预付款百分比或固定金额;
- 预付款到期日;
- 抬头层或项目层的适用范围;
- 供应商、采购组织、采购组、币种和订单金额等参照数据。
这些数据使后续监控和财务处理能够找到对应采购业务,但采购订单本身不产生实际出款。
5.2 第二步:创建预付款请求
预付款请求用于告诉付款程序“未来需要向该供应商支付这笔预付款”。SAP 官方把它解释为备忘项目:它保存付款程序所需的信息,但通常不更新账户余额。
预付款请求可以由采购订单预付款数据触发,也可以在供应商临时提出、而采购订单未预先维护时手工创建。是否允许这种例外,必须由企业流程控制。
5.3 第三步:过账实际预付款
实际付款才会形成真实财务影响。付款程序或手工付款使用请求中的供应商、金额、到期日、目标特别总账标识和银行信息,生成实际预付款,并清除相应请求。
必须区分:
- 请求已创建但未付款;
- 请求已部分付款;
- 请求已全部付款;
- 付款已完成但请求因差异未自动清除;
- 实际预付款已经被后续发票部分或全部清算。
5.4 第四步:收货与供应商发票
物料到货后完成收货。发票会计按照采购订单参照录入供应商发票。此时系统可以检查:
- 采购订单、收货与发票的数量和金额;
- 该采购订单是否存在未清预付款;
- 可清算金额、币种和状态;
- 是否允许在物流发票校验中执行清算。
5.5 第五步:清算并支付剩余金额
发票过账时,系统可以同时生成独立的预付款清算凭证。清算后,预付款不再作为独立未清项目继续挂账;供应商普通应付只保留尚未支付的净额。最后再通过付款程序或手工付款处理剩余金额。
SAP 官方教程补充(二):采购订单字段、层级与当前界面
SAP Learning 的当前课程说明,Create Purchase Order - Advanced 应用可以在抬头 Payment Processing 页签或项目 Invoice 区域维护预付款数据。官方界面原图如下。

原图来自 SAP Learning:Creating Purchase Orders with Down Payments。图片是 SAP 软件界面,因此保留官方原始 1600×893 文件,没有翻译、裁切、放大或重新压缩。
6.1 抬头层并不等于自动分摊到项目
官方教程特别提示:抬头层预付款保留在整个采购订单抬头,不会自动拆分到各项目。创建预付款请求时,抬头层金额可能不会自动提出到请求项目,需要手工输入相应金额。官方页面同时指向 SAP Note 2894701。
这条规则会直接影响多项目采购订单。例如:
| 场景 | 可能的业务问题 | 建议控制 |
|---|---|---|
| 一个 PO 有 5 个项目,抬头预付款 10% | 无法天然知道每个项目应承担多少 | 在合同和操作规程中定义分配原则 |
| 只对某个高价值项目预付 | 抬头维护会扩大适用范围 | 优先在项目层维护 |
| 多项目分批交货、分批开票 | 发票清算金额可能与项目完成度不一致 | 按项目、发票和未清预付款逐项核对 |
| 抬头金额后续变更 | 已创建请求可能不随之自动重算 | 采购变更后触发财务复核 |
不要把视频中的单项目采购订单经验直接复制到复杂多项目订单。
6.2 类别选择是控制字段
SAP 标准提供强制、自愿和不启用预付款三类。类别会影响是否把预付款数据传递给财务处理。企业还可能通过增强或配置,按采购订单金额、供应商风险、物料组或合同类型决定何时必须预付。
上线前应定义清晰规则:
- 谁可以选择强制或自愿预付款;
- 哪些供应商允许预付款;
- 超过什么金额需要审批;
- 固定金额与比例冲突时以哪个为准;
- 到期日早于采购订单日期或晚于交货日期是否允许;
- 采购订单被关闭、删除或冻结时怎样处理未清预付款。
6.3 日期不是装饰字段
预付款到期日用于监控和付款计划。正确日期应来自合同,不应由采购员随意填写。建议至少检查:
- 是否处于合同约定窗口;
- 是否考虑审批和付款运行所需提前量;
- 是否与计划交货日相容;
- 是否跨财务期间或年度;
- 是否会受银行假期、汇率或现金计划影响;
- 变更后是否通知应付会计。
SAP 官方教程补充(三):监控采购订单预付款
视频只说“SAP 有预付款监控”,没有打开该功能。当前官方资料提供两类入口。
7.1 Fiori:Monitor Purchase Order Down Payments
SAP Fiori 应用 Monitor Purchase Order Down Payments 的应用 ID 为 F2877。它可以按供应商、采购组织、采购组、订单类型、类别、到期日和状态等条件筛选采购订单预付款,并以图表和明细表查看金额。

官方界面原图保持 1600×867 不变。功能说明见 SAP Help:Monitor Purchase Order Down Payments。
应用可用于:
- 查看预付款类别、到期日区间和状态;
- 对供应商、采购订单、采购组等维度下钻;
- 对比订单净值、预付款金额和已过账预付款金额;
- 选择采购订单项目并创建预付款请求;
- 跳转到采购订单、物料和供应商上下文;
- 监控未过账、部分过账和完全过账状态。
官方提醒:实际预付款完成后,类别字段会变灰,不能再像未处理记录那样修改。显示币种是必填筛选条件。
7.2 经典事务:ME2DP
在经典后端中,SAP Help 说明报表 RM06DPMONITOR 对应事务 ME2DP。它列出带预付款数据的采购订单,并显示:
- 预付款是否未过账、部分过账或全部过账;
- 预付款类别;
- 百分比和金额;
- 到期日;
- 公司代码币种下的实际预付款总额;
- 预付款请求总额;
- 采购订单历史、明细和账户分配等相关信息。
官方说明见 SAP Help:Down Payment Monitoring for Purchase Order。
7.3 建议的日常监控视图
一个可执行的监控清单至少应包含:
| 监控维度 | 要回答的问题 | 异常例子 |
|---|---|---|
| 到期日 | 哪些请求即将到期或已逾期 | 到期日已过但状态仍为未过账 |
| 状态 | 未过账、部分或完全过账是否符合预期 | 采购认为已付,系统仍显示未付 |
| 订单变化 | PO 金额或项目是否在请求后变更 | PO 减额但请求仍保留原金额 |
| 供应商 | 是否存在高额或重复预付款 | 同一合同被创建两次请求 |
| 清算 | 已付款预付款是否长期未清 | 发票已过账但预付款仍是未清项目 |
| 币种 | 请求、付款、发票和清算币种是否一致 | 汇率差异导致无法全额清算 |
监控不是一次性报表,而应成为采购与应付会计之间的例行对账。
SAP 官方教程补充(四):供应商预付款请求与特别总账
8.1 Manage Supplier Down Payment Requests
当前 SAP Fiori 应用 Manage Supplier Down Payment Requests 的应用 ID 为 F1688。它可以查看、创建、更改供应商预付款请求,并支持备注和附件。

图片来自 SAP Learning 当前课程,保持原始 1600×893。应用官方说明见 SAP Help:Manage Supplier Down Payment Requests。
多数情况下,系统可以根据采购订单中的预付款数据创建请求。如果供应商后来通过邮件或其他方式提出采购订单中未记录的预付款,也可以手工创建。但手工例外应有审批和合同证据,避免绕开采购订单控制。
付款运行完成后,系统通常会自动清除对应请求。以下情况可能需要手工处理:
- 实际支付金额小于请求金额;
- 一张请求被拆分为多次支付;
- 付款由其他方式手工完成;
- 币种或舍入产生差额;
- 请求与实际预付款的参照不完整;
- 付款被冲销或退回。
8.2 请求为什么不更新账户余额
SAP 官方把供应商预付款请求称为特别凭证或备忘项目。它服务于付款计划和过账模板,不代表已经发生资产或现金变化。
在 SAP Learning 的标准示例中:
- 预付款请求使用特别总账标识 F;
- 实际供应商预付款使用特别总账标识 A;
- 预付款请求作为供应商明细账中的单行未清备忘项目;
- 付款程序可以读取该项目;
- 请求本身不更新总账余额。

官方原始 T 账户图属于非 SAP 软件界面,本文按要求翻译并重制。更详细的官方概念说明见 SAP Help:Down Payment Requests。
8.3 特别总账标识不是“永远固定的万能代码”
F 和 A 是 SAP 官方培训中的标准示例,但客户系统可以根据科目表、账户类型和特别总账配置有所不同。上线或排障时必须核对:
- 供应商账户类型对应的特别总账标识;
- 目标特别总账标识;
- 替代统驭科目;
- 过账码;
- 税处理;
- 付款程序是否包含相应特别总账项目;
- 是否配置付款冻结;
- 会计凭证分割和利润中心等维度。
正确的控制不是死记 F、A,而是理解“请求是统计性备忘,实际预付款进入替代统驭科目”的结构,再到本系统验证具体代码。
8.4 推荐的凭证链审计
审计一笔预付款时,可以按下面顺序追踪:
- 采购订单:确认预付款类别、比例或金额、到期日和层级;
- 预付款请求:确认供应商、公司代码、金额、到期日和目标标识;
- 付款凭证:确认银行、实际金额、币种和请求清除状态;
- 采购订单历史:确认请求与付款是否以正确采购订单为参照;
- 供应商发票:确认发票总额和采购订单参照;
- 清算凭证:确认清算金额没有超过未清预付款或发票可清金额;
- 剩余应付:确认最终支付金额与合同、发票和预付款一致。
SAP 官方教程补充(五):在发票校验中清算预付款
SAP Help 说明,采购订单抬头或项目层可以记录预付款类别、金额、比例和日期。实际预付款以采购订单为参照过账后,物流发票校验可以直接清算,不必另外跳到普通财务清算事务。
官方说明见 SAP Help:Down Payment Clearing。
9.1 标准处理步骤
- 在 MIRO、MIR7 或相应供应商发票应用中创建采购订单参照发票;
- 输入发票日期、过账日期、金额、税码和采购订单;
- 系统识别该采购订单存在未清预付款,并显示信息;
- 画面出现 Down Payment Clearing 功能;
- 选择要清算的预付款;
- 核对原预付款金额、可清金额和本次清算金额;
- 处理错误或警告,确认清算状态;
- 过账供应商发票;
- 系统同时创建单独的预付款清算凭证。
9.2 红、黄、绿状态的含义
官方帮助说明清算状态使用颜色:
- 红色:清算存在错误,必须先处理;
- 黄色:仍有预付款没有输入清算金额;
- 绿色:所有选定预付款都已输入清算金额。
颜色只是操作提示,最终仍要核对凭证金额和未清余额。
9.3 为什么清算按钮可能不出现
常见原因包括:
- 采购订单没有预付款数据;
- 实际预付款没有以该采购订单为参照;
- 预付款已经全部清算;
- 系统配置不发出“该采购订单存在预付款”的相关消息;
- 特别总账科目没有按凭证分割要求分类;
- 使用了与该功能不兼容的预付处理;
- 用户没有相应权限;
- 自动清算配置改变了手工入口。
SAP Help 提到,若系统不发出消息 M8 318,Down Payment Clearing 按钮也不会提供。还可以把消息 M8 774 配置为错误,防止清算金额超过仍需支付的发票总额。
9.4 部分发票与部分清算
假设采购订单总额 10,000,已经预付 2,000,第一张发票只有 4,000。企业不一定要在第一张发票中清算全部 2,000,可以根据合同、交付比例和配置选择部分清算。需要同时记录:
- 预付款原始金额;
- 之前已清算金额;
- 当前可用余额;
- 本次发票总额;
- 本次允许清算金额;
- 清算后剩余预付款;
- 清算后剩余普通应付。
错误地清算过多会压低供应商应付,错误地完全不清算则会导致预付款长期挂账。
9.5 币种与税
官方帮助说明,清算屏幕可以选择与发票币种不同的清算币种。多币种场景还要考虑:
- 采购订单币种;
- 公司代码本位币;
- 预付款请求币种;
- 实际付款币种;
- 发票币种;
- 清算日期汇率;
- 已实现或未实现汇兑差额;
- 税基和税额是否随清算调整。
视频没有覆盖这些情况,生产环境必须用实际配置和测试数据验证。
SAP 官方教程补充(六):履约保留款
SAP 官方把 Retention 定义为:发票金额中被暂时保留的一部分,直到约定到期日,例如质保期结束,用于确保合同规定的物料交付或服务履行。
官方说明见 SAP Help:Retention 和 SAP Learning:Creating Purchase Orders with Retention。

10.1 在采购订单中维护
Create Purchase Order - Advanced 的抬头 Payment Processing 页签可以选择 Retention 适用于抬头层,并输入保留比例;也可以只在特定项目层维护。官方原图如下。

该图保持 SAP 官方 1600×893 原始文件。画面同时显示:
- 抬头 Retention 为 Applicable (Header Level);
- Retention 百分比为 20%;
- 项目 Invoice 页签带出相应比例。
10.2 在供应商发票中带出
采购订单带有保留款时,供应商发票应用会在应用日志提示项目与保留款有关,并提供四个核心字段:
- Retention Amount:凭证币种下的保留金额;
- Retention in Percent:保留比例;
- Retention Due Date:保留款到期日;
- Tax Reduction for Retention:是否对保留款进行税额扣减处理。

该图保持 SAP 官方 1600×867 原始文件。示例发票项目金额 4,000 欧元,保留比例 20%,系统显示保留金额 800 欧元,并要求输入到期日。
10.3 财务会计中的处理
SAP Help 说明,系统把保留款特别总账标识传递到财务会计,标准默认可以是 H,也可按公司代码配置不同标识。核心结构是:
- 原供应商发票仍按完整业务金额确认;
- 保留部分从普通到期应付中分离;
- 保留款形成独立的特别总账项目;
- 到期或条件满足后再支付该项目。
不要把供应商发票金额手工改小来模拟保留款,否则会破坏发票原值、税、采购订单历史和后续释放。
10.4 到期日与物料组规则
SAP 可以在物流发票校验配置中,为不同物料组定义保留款有效期,并据此自动计算发票中的到期日。这适合不同采购类别采用不同质保周期的企业,例如:
| 物料或服务类别 | 可能的保留原因 | 示例期限 |
|---|---|---|
| 建筑工程 | 竣工缺陷责任 | 验收后 12 个月 |
| 生产设备 | 性能保证 | 稳定运行后 6 个月 |
| 软件实施 | 最终上线与知识转移 | 上线验收后 3 个月 |
| 常规耗材 | 通常不需要长期保留 | 不适用或短期 |
示例期限只是业务说明,不是 SAP 固定值。企业应以合同和法务要求配置。
10.5 税和预提税
SAP Help 允许配置:
- 保留款凭证是否包含预提税;
- 保留款按含税还是不含税金额计算;
- 发票项目是否启用 Tax Reduction for Retention;
- 不同公司代码使用哪个特别总账标识。
这部分必须由财务、税务和采购共同确认。仅由 MM 顾问看到画面字段就决定税处理,风险很高。
10.6 配置入口
SAP S/4HANA Cloud 的配置教程列出 Incoming Invoice 下与保留款相关的设置,例如:
- Define Default Due Date for Retention;
- Define Tax Handling for Retention;
- Define Control Parameters for Retention。

该图保持 SAP 官方 1600×548 原始文件。不同部署方式的 IMG 或配置活动名称可能不同,应按本系统版本查询。
SAP 官方教程补充(七):合同参照发票
视频议程第三项是处理带合同参照的发票,但没有进入实操。SAP Help 当前说明,合同处理支持三种路径。

官方来源:SAP Help:Contract Handling for Invoices。
11.1 直接参照合同
发票可以直接参照 SAP S/4HANA 合同或 SRM 中央合同。用户在发票的 Contract 页签选择合同类型并输入合同编号。过账后,系统更新合同历史。
这种路径适用于业务和配置允许直接对合同开票,而不要求先创建普通采购订单的场景。
11.2 限额采购订单项目 + 合同参照
发票先参照限额采购订单项目,同时保留合同参照。这可以让采购订单承担额度控制和操作入口,合同承担长期协议或价格条款参照。
11.3 限额采购订单项目 + 发票阶段补合同
采购订单项目最初没有合同参照,也可以在发票校验最后阶段加入合同参照。该路径提供灵活性,但也需要更严格的授权和验证,避免发票会计随意关联错误合同。
11.4 配置前提
SAP Help 指出,直接对合同过账需要激活相应配置活动 Activate Direct Posting to Contracts;还可以在 Set Tolerance Limits 中维护合同相关容差。
上线前应测试:
- 用户是否看得到 Contract 页签;
- 支持哪种合同类型;
- 合同是否有效、额度是否足够;
- 发票金额、数量和合同消耗如何更新;
- 限额采购订单与合同是否重复消耗;
- 冲销发票时合同历史是否正确回退;
- 用户是否有跨采购组织或跨公司代码访问权限。
SAP 官方教程补充(八):端到端操作清单
下面给出一条可以用于测试或培训的端到端清单。事务和应用名称按产品版本选择,不要求一套系统同时使用所有入口。
12.1 采购准备
- 确认供应商主数据和公司代码数据完整;
- 确认采购组织、采购组、工厂、币种和付款条件;
- 确认合同是否允许预付款,比例、金额和到期日是否有书面依据;
- 确认采购订单使用抬头还是项目层;
- 确认审批策略覆盖高风险预付款;
- 确认变更采购订单后会触发财务复核。
12.2 创建采购订单
- 创建标准或适用类型的采购订单;
- 输入供应商、物料或服务、数量、价格和交货日期;
- 在抬头 Payment Processing 或项目 Invoice 区域选择预付款类别;
- 输入百分比或固定金额;
- 输入到期日;
- 检查系统计算;
- 保存并记录采购订单号;
- 回显采购订单,确认预付款数据已保存。
12.3 创建并支付预付款
- 打开 F2877 或 ME2DP;
- 按到期日、供应商或采购订单筛选;
- 选择正确项目并创建预付款请求;
- 核对公司代码、供应商、币种、金额和目标特别总账标识;
- 过账请求;
- 通过付款程序或 Post Outgoing Payments 处理实际付款;
- 确认请求已自动或手工清除;
- 回到监控应用确认状态;
- 在采购订单历史和供应商明细账核对凭证链。
12.4 收货与发票清算
- 按采购订单完成收货或服务确认;
- 录入完整供应商发票总额;
- 参照正确采购订单和项目;
- 确认系统提示存在预付款;
- 打开预付款清算;
- 选择未清预付款;
- 输入或检查本次清算金额;
- 核对状态、币种、税和剩余应付;
- 过账发票;
- 核对发票凭证和独立清算凭证;
- 支付剩余应付;
- 确认预付款未清余额为预期值。
12.5 履约保留款测试
- 在采购订单抬头或项目维护 Retention;
- 输入保留比例;
- 创建收货或服务确认;
- 创建采购订单参照供应商发票;
- 核对系统提示和保留款四个字段;
- 检查保留金额、比例、到期日和税处理;
- 过账发票;
- 在供应商明细账确认普通应付与保留款分开;
- 到期或条件满足后执行付款;
- 核对保留款已经清除。
SAP 官方教程补充(九):配置与权限检查
功能画面存在,不代表流程已经可以安全使用。建议按以下五层检查。
13.1 采购层
- 采购订单类型是否允许预付款和保留款;
- 字段选择是否显示并允许输入相关字段;
- 抬头与项目层规则是否符合业务;
- 采购订单审批是否覆盖预付款风险;
- 供应商或物料组是否有禁用规则;
- 采购订单变更是否影响已创建请求。
13.2 财务层
- 特别总账标识及目标标识;
- 替代统驭科目;
- 过账码和字段状态;
- 付款程序选择规则;
- 请求和实际预付款的清除逻辑;
- 币种、汇率、税和预提税;
- 会计凭证分割和利润中心派生。
13.3 发票校验层
- 是否启用采购订单预付款清算;
- M8 318 等消息是否正确配置;
- 是否限制清算金额不超过可支付发票金额;
- 部分发票、部分清算和冲销是否可用;
- 保留款默认到期日、税处理和控制参数;
- 合同参照和容差是否启用。
13.4 角色与权限层
| 角色 | 最小职责 | 不宜同时拥有的高风险能力 |
|---|---|---|
| 采购员 | 维护采购订单预付款条件 | 无审批直接创建并支付预付款 |
| 采购审批人 | 审核供应商、金额、条件和合同依据 | 修改并自批同一订单 |
| 应付会计 | 创建请求、录入发票、执行清算 | 修改采购合同核心商业条款 |
| 付款人员 | 执行付款运行或手工出款 | 单独创建供应商并批准付款 |
| 财务配置人员 | 维护特别总账和消息控制 | 直接处理本人配置影响的生产付款 |
职责分离应以企业控制要求为准,但“采购条件、财务请求、实际出款、发票清算”由同一人无复核完成,通常风险过高。
13.5 报表与对账层
至少建立以下周期性对账:
- 已到期但未创建请求;
- 请求已创建但未付款;
- 已付款但请求未清;
- 已付款但超过约定期限仍未收货;
- 发票已过账但预付款未清;
- 预付款余额超过采购订单未履约金额;
- 采购订单已关闭但仍有未清预付款;
- 保留款已到期但未支付;
- 合同已失效但仍有新发票参照。
SAP 官方教程补充(十):常见问题与排障
14.1 为什么输入 10% 后金额没有计算?
检查采购订单是否已有可计算的净值、预付款类别是否已选择、字段是否在正确层级、是否输入并确认、币种和定价条件是否完整。若订单有多个项目,还要确认抬头数据是否允许按预期计算。
14.2 为什么抬头预付款没有带到请求?
官方教程明确提示,抬头预付款不会自动分摊到项目,创建请求时金额可能需要手工输入。不要把它误判为单纯界面故障;先核对产品版本和 SAP Note 2894701 的适用性。
14.3 为什么监控应用找不到采购订单?
检查:
- 采购订单是否真的保存了预付款数据;
- 筛选币种、供应商、组织、到期日和状态;
- 预付款类别是否为无预付款;
- 用户业务角色和数据权限;
- 数据刷新、索引或分析查询状态;
- 采购订单是否属于当前应用支持的文档类型。
14.4 为什么预付款请求没有自动清除?
可能是支付金额与请求不一致、拆分付款、手工付款、币种差异、参照缺失或付款冲销。应从请求、付款凭证和供应商未清项目三处核对,不要直接删除请求。
14.5 为什么 MIRO 没有预付款清算按钮?
先确认实际预付款以当前采购订单为参照且仍未清,然后检查消息 M8 318、特别总账科目分类、权限和自动清算设置。视频没有演示该按钮,不能拿视频画面作为版本判断依据。
14.6 为什么发票金额不应手工减掉预付款?
供应商发票代表完整应付业务,预付款是独立资产或特别总账项目。应通过清算把两者抵消,而不是篡改发票原值。手工减额会影响采购订单历史、税、审计和供应商对账。
14.7 预付款能否超过采购订单金额?
业务上通常不应无控制地超过。系统是否阻止取决于配置、消息和审批。企业应明确最大比例、允许偏差和例外审批,并在清算环节限制超过发票可支付金额的操作。
14.8 履约保留款与付款冻结有什么区别?
保留款是合同化、可计量、带比例和到期日的独立业务安排;付款冻结通常是对某个项目暂不付款的控制状态。两者会导致延迟支付,但会计表现、解除条件和审计含义不同。
14.9 保留款到期后会自动付款吗?
到期只代表项目具备付款条件,是否实际付款还取决于付款程序、付款方式、银行信息、付款冻结、税务证明、现金计划和运行参数。应在付款运行后核对实际清除。
14.10 合同参照页签为什么看不到?
检查产品版本、是否激活直接合同过账、所用发票应用或事务是否支持、用户权限以及参照文档类型。合同功能未配置时,不应通过自由文本代替正式合同参照。
SAP 官方教程补充(十一):上线验收用例
只做“正常成功”一条测试不足以验证预付款流程。建议至少覆盖以下用例。
| 用例 | 输入 | 预期结果 |
|---|---|---|
| 百分比预付款 | 1,000 EUR,10% | 系统计算 100 EUR,监控可见 |
| 固定金额预付款 | 1,000 EUR,100 EUR | 不依赖比例,金额正确保存 |
| 项目层预付款 | 多项目,仅项目 20 适用 | 请求和清算只针对项目 20 |
| 抬头层预付款 | 多项目,抬头 10% | 请求阶段按官方规则手工确认项目金额 |
| 部分付款 | 请求 1,000,实际支付 600 | 请求保留正确差额或按流程拆分 |
| 部分发票清算 | 预付 2,000,首张发票 4,000 | 按规则清算部分或全部,余额正确 |
| 币种不同 | PO、付款、发票币种不同 | 汇率和差额凭证正确 |
| 采购订单减额 | 请求后 PO 金额下调 | 触发复核,不产生超额预付款 |
| 发票冲销 | 已清算发票被冲销 | 清算关系和未清余额正确回退 |
| 保留款 | 发票 4,000,保留 20% | 800 形成独立保留款,到期日正确 |
| 合同参照 | 直接合同与限额 PO 两种路径 | 合同历史和额度消耗正确 |
| 权限拒绝 | 未授权用户尝试付款 | 系统阻止并留下审计记录 |
每个用例都应保存采购订单号、请求凭证、付款凭证、收货凭证、发票凭证、清算凭证和供应商未清项目截图或导出结果。只记录“测试成功”而没有凭证链,无法支持后续审计。
SAP 官方教程补充(十二):结论与官方参考
这节课最重要的不是记住一个字段位置,而是建立三条边界:
- 计划与付款的边界:采购订单记录预付款条件,预付款请求负责提醒,实际预付款才代表出款;
- MM 与 FI 的边界:采购、收货和物流发票提供业务参照,特别总账、银行付款和清算由财务流程完成;
- 预付款与保留款的边界:预付款是先付,保留款是后付,二者方向相反、会计对象不同。
视频已经清楚演示了采购订单端的字段和两种金额输入方式,但在创建采购订单后中断。完整业务必须继续走监控、请求、实际付款、收货、发票清算和剩余付款;履约保留款与合同参照发票则完全依赖官方补充。实施时还要以当前系统版本、配置、特别总账科目、税务规则和权限设计为准。
本文使用的主要 SAP 官方资料:
- Creating Purchase Orders with Down Payments
- Monitor Purchase Order Down Payments
- Manage Supplier Down Payment Requests
- Down Payment Clearing
- Down Payment Monitoring for Purchase Order
- Retention
- Creating Purchase Orders with Retention
- Contract Handling for Invoices
最终建议是:把采购订单上的预付款字段当成整个凭证链的起点,而不是终点。只有采购、财务、收货、发票和付款五个环节都能用同一采购订单参照互相对上,预付款与履约保留款流程才算真正闭环。


