53. SAP S/4HANA FICO:客户预收款、特殊总账与字段状态冲突

53. SAP S/4HANA FICO:客户预收款、特殊总账与字段状态冲突
客户预收款不是普通客户收款:钱已经进入银行,但企业尚未交付商品或服务,因此需要在客户明细账中保留客户归属,同时把金额更新到单独的特殊总账统驭科目。本课从 FS00 和 OBXR 配置开始,完整演示用 F-29 收到 4,500 INR 预收款、用 F-39 转出其中 1,500 INR、再用 F-32 与普通客户发票清账;最后补充 OBC4 与 OB41 同时控制字段时的冲突排查。
视频信息
- 原视频:SAP FICO FOR BEGINNERS | FULL COURSE | DAY 30
- 视频时长:54 分 59 秒
- 视频地址:https://www.youtube.com/watch?v=LShNKAsaqxg
- 本文范围:客户预收款、特殊总账、替代统驭科目、
F-29、F-39、F-32、FBL5N、FD10N、字段状态冲突 - 截图规则:只引用原视频中的 SAP GUI 原始画面;视频里的 PowerPoint 等非 SAP 画面已翻译成中文表格,不直接使用原图
说明:文中的公司代码
SKPI、客户6870000000、总账科目和金额均为课堂练习数据。生产系统的特殊总账标识、科目编号、凭证类型和字段状态必须以本公司配置为准。
一、先理解客户预收款
视频开头用非 SAP 课件解释业务场景。翻译成中文后可归纳为:
| 业务事实 | 会计含义 |
|---|---|
| 合同总额为 10,000,客户可能预付 50% 或 100% | 企业在交付前已经收到现金 |
| 客户付款发生在发货或服务之前 | 这笔钱不能直接当成销售收入 |
| 金额仍要能追溯到具体客户 | 必须保留客户子账明细和未清项状态 |
| 预收款与普通应收账款性质不同 | 需要通过特殊总账标识更新替代统驭科目 |
普通客户发票通常更新客户主数据中的正常统驭科目;客户预收款则通过特殊总账标识进入另一统驭科目。SAP 官方说明,特殊总账科目由账户类型、特殊总账标识和正常统驭科目共同决定。这样既能在客户账户下追踪业务,又能在总账中把预收款与普通应收账款分开列示。
本课采用的核心关系是:
客户主数据 → 正常客户统驭科目 200301 → OBXR + 特殊总账标识 A → 预收款统驭科目 100603
标识 A 是本训练系统中的客户预收款配置,不能假定所有系统都完全相同。
二、用 FS00 创建预收款统驭科目
讲师先检查总账科目组和编号范围,然后在 FS00 中创建资产负债表科目 100603,描述为“Advance from customer”。

在公司代码控制数据中,关键字段是 Recon. Account for Acct Type = D Customers。这表示该总账科目是客户类型的统驭科目,不应通过普通总账录入随意直接过账。

配置时要区分两个概念:
| 设置 | 本课应如何理解 |
|---|---|
| 行项目显示 | 替代统驭科目通常应支持行项目核对,便于追踪特殊总账发生额 |
| 未清项管理 | 不能仅因为要做预收款就给统驭科目随意启用;客户未清项由子账和特殊总账逻辑管理 |
账户类型 D | 表示该统驭科目服务于客户子账 |
| 直接过账 | 业务过账应从客户交易触发,由系统自动更新统驭科目 |
课堂画面没有展示生产系统所需的全部科目主数据字段,实际实施还要按会计准则、科目表模板和迁移状态核对。
三、用 OBXR 定义特殊总账映射
进入 OBXR 后,选择账户类型 D 和特殊总账标识 A。当前系统将它描述为 Down Payment。

随后为科目表 SKPI 维护映射:正常客户统驭科目 200301 对应预收款统驭科目 100603。

这一步不是把客户主数据改成 100603。客户主数据仍保留正常统驭科目 200301,系统只有在凭证同时满足“客户账户 + 特殊总账标识 A”时,才自动改用 100603 更新总账。
四、用 F-29 收到客户预收款
本课用 F-29 录入客户预收款。自动字幕一度把它识别成“FD29”或“F29”,准确事务码是 F-29。
在抬头画面输入凭证日期、过账日期、公司代码和币种;客户区域输入客户账户及特殊总账标识 A;银行区域输入收款银行总账科目和金额 4,500 INR。

模拟或总览画面显示两条平衡行项目:
| 行项目 | 过账码 | 借贷 | 金额 | 含义 |
|---|---|---|---|---|
| 银行科目 | 40 | 借 | 4,500 | 银行存款增加 |
| 客户特殊总账 | 19 + A | 贷 | 4,500 | 客户预收款增加 |

过账后,在凭证录入视图中仍能看到客户账户 6870000000 和特殊总账标识 A。

切换到总账视图后,客户行项目更新的是替代统驭科目 100603,而不是客户主数据中的正常统驭科目 200301。这正是 OBXR 映射的效果。

五、在 FBL5N 中查看特殊总账项目
使用 FBL5N 查看客户行项目时,需要在选择条件中包含特殊总账业务,否则预收款可能不会出现在当前结果中。本课的初始结果同时显示:
- 普通客户发票借方 10,000 INR;
- 特殊总账标识
A的预收款贷方 4,500 INR; - 两者尚未清账时,净敞口为 5,500 INR。

FBL5N 是行项目层面的工具,适合查看凭证号、日期、特殊总账标识、金额和清账凭证。它与 FD10N 的余额汇总用途不同。
六、先用 F-39 转出预收款,再用 F-32 清普通项目
这是本课最容易混淆的地方。SAP 的标准事务分工是:
| 事务码 | 作用 | 本课动作 |
|---|---|---|
F-39 | 清理或转出客户预收款 | 从 4,500 中转出 1,500 到普通客户账户 |
F-32 | 清理普通客户未清项 | 将转出的 1,500 与普通发票中的 1,500 配平并清账 |
1. F-39 转出 1,500 INR
在 F-39 中选择原预收款后,本课只处理其中 1,500 INR。系统生成一借一贷的客户行项目:特殊总账项目被借记 1,500,普通客户账户获得 1,500 贷项。

因此原 4,500 预收款中仍有 3,000 保留为特殊总账未清项。F-39 的目的不是让银行再次发生收付款,而是在客户子账内部把可冲抵金额从特殊总账状态转到普通客户状态。
2. F-32 清理普通客户项目
转出完成后,进入 F-32 选择同一客户的普通未清项。本课把 1,500 的普通贷项与发票中的 1,500 借方匹配,使“未分配金额”为零后过账。

清账后,匹配的两条普通项目获得同一清账凭证号,余额为零;剩余 3,000 特殊总账预收款仍保持未清,等待以后继续冲抵。

不能直接把 F-32 写成“客户预收款清账事务”。准确说法是:先由 F-39 完成预收款转出,再由 F-32 清理由此形成的普通客户贷项与普通发票借项。
七、FBL5N 与 FD10N 怎么选
本课还对比了两个常用报表:
| 事务码 | 查看粒度 | 适合回答的问题 |
|---|---|---|
FBL5N | 单条客户行项目 | 哪张发票、哪笔预收款、是否已清、清账凭证是什么 |
FD10N | 按期间汇总的客户余额 | 某期间借方、贷方、余额和累计余额是多少 |
FD10N 的普通余额页按期间汇总客户发生额。

特殊总账金额可通过其单独页签查看。读取余额时不要只看普通余额页就断言“客户没有预收款”;应同时核对特殊总账页签,并在需要时下钻到行项目。
八、字段状态冲突:OBC4 与 OB41 要一起查
视频后半段补讲了总账行项目字段为什么会隐藏、可选或必输。字段状态并非只由一个位置决定:
OBC4:字段状态变式和字段状态组;总账科目主数据引用字段状态组。OB41:过账码属性及其字段状态;例如过账码40表示总账借方。
本课先在 OBC4 中检查字段状态组 G001。

随后在 OB41 中检查过账码 40 的属性。自动字幕一度出现 OBC5,讲师随后更正;本课实际使用的是 OBC4。

SAP 合并字段状态时采用以下优先级:
| 优先级 | 字段状态 | 结果含义 |
|---|---|---|
| 1 | 隐藏 / Suppress | 字段不显示 |
| 2 | 仅显示 / Display | 字段可见但不能输入 |
| 3 | 必输 / Required | 字段必须输入 |
| 4 | 可选 / Optional | 字段允许输入但不强制 |
唯一会直接形成不兼容冲突的组合,是一侧要求“隐藏”,另一侧要求“必输”。系统既不能展示字段,又要求输入,因而报字段状态不一致。排查时应:
- 确认实际使用的过账码;
- 确认总账科目主数据中的字段状态组;
- 在
OB41和OBC4中分别检查同一字段; - 根据业务需要统一为可兼容状态,再重新测试;
- 不要为了消除错误就把所有字段改成可选。
九、完整业务链路
| 顺序 | 动作 | 结果 |
|---|---|---|
| 1 | FS00 创建客户预收款统驭科目 | 提供单独的特殊总账承载科目 |
| 2 | OBXR 维护正常与替代统驭科目映射 | 标识 A 能把预收款更新到 100603 |
| 3 | F-29 收到 4,500 | 银行借方 4,500,客户特殊总账贷方 4,500 |
| 4 | FBL5N 勾选特殊总账业务 | 能看到预收款仍为未清项 |
| 5 | F-39 转出 1,500 | 普通客户账户形成 1,500 贷项,特殊总账剩余 3,000 |
| 6 | F-32 匹配 1,500 发票借项 | 普通借贷项目清账并取得清账凭证 |
| 7 | FBL5N 与 FD10N 复核 | 分别核对明细状态和期间余额 |
十、本课边界
| 主题 | 本课状态 |
|---|---|
| 客户预收款概念与特殊总账 | 已讲解并演示 |
FS00、OBXR 配置 | 已演示课堂示例 |
F-29 收取预收款 | 已完成 4,500 INR 示例 |
F-39 部分转出预收款 | 已完成 1,500 INR 示例 |
F-32 清普通客户项目 | 已完成 1,500 INR 示例 |
FBL5N、FD10N 查询 | 已演示 |
OBC4、OB41 字段状态冲突 | 已补讲和验证 |
| 现金日记账、校验与替代 | 只列为后续计划,未教学 |
| GST、TCS、催款、报表布局 | 只口头提及,未完成配置或业务演示 |
十一、字幕与口误校正
| 视频或自动字幕表达 | 本文采用的准确表达 |
|---|---|
| FD29 / F29 | F-29:Post Customer Down Payment |
| F'39 | F-39:Clear Customer Down Payment |
| OBC5 | OBC4:维护字段状态变式与字段状态组 |
| F-32 清预收款 | F-39 先转出预收款,F-32 再清普通客户项目 |
| 标识 A 永远固定 | A 是本训练系统中的客户预收款标识,生产系统以实际配置为准 |
SAP 官方核验资料
- Special G/L Accounts
- Processing Down Payments in the SAP System
- Clearing of Down Payments
- Down Payment Integration with Sales and Distribution
- Posting Electronic Documents for Down Payments
- Account Balances and Line Items
- Field Status Priority and Conflict
- Special G/L Definition and Alternative Reconciliation Accounts
结论
客户预收款的关键不是记住一个事务码,而是理解“客户子账仍归属于同一客户、总账却更新替代统驭科目”的双层结构。配置上由 FS00 与 OBXR 建立承载和映射;业务上用 F-29 收款、F-39 转出、F-32 清普通项目;核对时用 FBL5N 看明细、用 FD10N 看期间余额。字段报错则同时检查 OBC4 与 OB41,不能只改其中一侧。
