SAP S/4HANA FICO 入门 47:银行账户与手工银行对账掩码

SAP S/4HANA FICO 入门 47:银行账户与手工银行对账掩码
本集先在 Fiori 中创建银行账户,并把它连接到公司代码、往来银行、账户标识和总账科目;后半段进入手工银行对账单配置,创建业务交易、账户符号,再用 + 掩码把同一套规则复用于不同银行科目。课程只完成了基础对象和科目分配,并没有完成过账规则、借贷逻辑、业务交易分配和实际对账单过账,本文会严格按这个边界整理。
视频信息
- 原视频:SAP FICO FOR BEGINNERS | FULL COURSE | DAY 23
- 视频时长:1 小时 12 分 05 秒
- 视频地址:https://www.youtube.com/watch?v=St-ZwLkw2hw
- 本文范围:银行账户主数据、往来银行账户连接、手工银行对账单、业务交易、账户符号、总账科目掩码
- 截图规则:只引用原视频中的 SAP 系统画面;Excel、演示文稿等非 SAP 画面已改写为中文表格,不直接使用原画面
- 数据说明:公司代码、银行账号、账户标识和总账科目均为课程演示数据,不应复制到生产系统
一、先把五个对象分清
银行配置容易混乱,是因为现实中的“银行、分行、账户”与 SAP 中的对象不是简单的一一同名。可以先按下面的层级理解:
| 对象 | 作用 | 本集示例 | 关键约束 |
|---|---|---|---|
| 银行主数据 / Bank Key | 标识某个国家或地区内的银行或分支机构 | HDFC 分行、IFSC | 属于银行目录层,不等于企业自己的账户 |
| 往来银行 / House Bank | 表示公司代码与银行之间的业务关系 | HDFC1、HDFC2 | 与公司代码组合后才有业务含义 |
| 银行账户主数据 | 保存真实账户号、币种、开户日期等 | Current Account、INR | 在 Manage Bank Accounts 中维护 |
| 往来银行账户标识 / Account ID | 在某个往来银行下识别一个账户连接 | HD456 | 与公司代码、House Bank 一起唯一识别账户;不是银行账号本身 |
| 总账科目 | 在财务账中承接银行余额或清算金额 | 200112 等 | 反映 SAP 中已过账的会计数据,不是银行门户的实时余额 |
SAP 官方文档同样以“公司代码 + House Bank ID + Account ID”识别往来银行账户。Account ID 是最多 5 位的内部标识;银行账户号是另一项主数据,二者不能混为一谈。参见 House Bank Accounts and Bank Accounts 与 Defining House Bank Accounts。
二、在 Fiori 中创建银行账户
课程打开 Manage Bank Accounts,新建一条银行账户主数据。常规数据包括公司代码 ZZ01、HDFC 分行、演示银行账号、账户类型 Current Account、币种 INR,以及开户日期 01.04.2025。

这一步创建的是银行账户主数据。真正把它接入 FI 往来银行结构,需要继续进入 House Bank Account Connectivity 页签。

本集填写的连接数据如下:
| 字段 | 课程值 | 含义 |
|---|---|---|
| ID Category | Central System: House Bank Account | 连接中央 S/4HANA 系统中的往来银行账户 |
| Company Code | ZZ01 | 账户所属公司代码 |
| House Bank | HDFC1 | 公司代码下的往来银行 |
| Account ID | HD456 | 往来银行下的内部账户标识 |
| Valid To | 31.12.9999 | 连接有效期终点 |
| G/L Account | 200112 | 与该账户连接的总账科目 |
SAP 官方要求,一个银行账户只连接一个 Central System: House Bank Account,以保证它在中央系统中的唯一表达。参见 Defining House Bank Account Connectivity。
保存后,可以从往来银行账户明细中检查账户号、币种、Account ID 和总账科目的连接关系。

课程使用经典事务 FI12 查看往来银行。SAP 当前文档同时提供 FI12_HBANK 作为定义往来银行的入口;实际项目应以系统版本、激活的业务角色和应用可用性为准。参见 Define House Banks。
三、多个分行、多个账户应该怎样组织
课程用“3 个分行、7 个银行账户”的非 SAP 图示解释层级。转换成可执行的中文结构如下:
| 现实对象 | SAP 中的组织方式 | 数量示例 |
|---|---|---|
| 3 个分别管理的银行分行 | 公司代码下建立 3 个 House Bank | 3 |
| 分行一共有 7 个真实账户 | 每个账户建立银行账户主数据,并创建自己的 Account ID 连接 | 7 |
| 每个账户采用主科目、收款清算、付款清算的经典设计 | 每个账户维护 3 个相关总账科目 | 课程示例为 21 |

这里有两个必须保留的限制:
- 一个 House Bank 可以包含多个银行账户;每个真实账户使用自己的银行账户主数据和 Account ID 连接。收款清算科目、付款清算科目不是额外的 Account ID。
- “一个真实账户固定建立 3 个总账科目”只是本集采用的经典设计,不是所有 S/4HANA 项目的强制规则。
SAP 当前支持两类总账连接方式:为每个银行账户维护独立的资产负债表科目组,或使用可由多个银行账户共享的银行对账科目并结合子科目处理。后一种方式能减少总账科目数量。设计前应根据系统版本、支付流程、银行对账方式和报表要求选型,不能直接把 7 × 3 = 21 当成产品硬性规则。参见 Assigning G/L Accounts to House Bank Accounts 与 Define G/L Accounts for Payment Processes。
四、主银行科目不是实时网银余额
课程把主银行总账科目类比为“Passbook”。这个类比只能用于理解账面余额,不能理解为 SAP 自动读取了银行的实时余额。
| 数据 | 来源 | 何时可信 |
|---|---|---|
| SAP 主银行总账余额 | 已在 SAP 中过账的会计凭证 | 反映 ERP 当前账面记录 |
| 收款、付款清算余额 | 支付、收款及后续清账过程 | 用于识别在途和未清项目 |
| 银行实际余额 | 银行对账单或银行连接 | 以银行提供的数据为准 |
| 对账后的余额 | 对账单过账并处理差异之后 | 才能用于判断账银是否一致 |
因此,FBL3N 可以查看总账行项目,但不能证明当前余额已与银行一致。必须结合对账单日期、最后一次导入或手工录入时间、未清项目和对账差异判断。
五、进入手工银行对账单配置
后半段进入以下配置路径:
SPRO → Financial Accounting → Bank Accounting → Business Transactions → Payment Transactions → Manual Bank Statement

手工银行对账单的基本目的,是把银行提供的每条交易逐项录入 SAP,并按配置生成会计过账。SAP 官方说明,每个对账单行项目最多可产生两次过账;是否一步或两步处理,由过账规则决定。参见 Manual Bank Statement。
课程先在交易类型 1 下创建两个自定义业务交易:
| 业务交易 | 符号 | 课程说明 |
|---|---|---|
Z001 | + | Incoming Receipts,银行收款 |
Z000 | - | Outgoing Payments,银行付款 |

截图中的 Post. Rule 仍为空。这正好说明,本集此时只创建了业务交易,还没有完成“把过账规则分配给业务交易”。
六、账户符号是科目抽象,不是 Account ID
接下来进入 Define Posting Rules for Manual Bank Statements,先创建账户符号。账户符号的作用,是让过账规则引用一个逻辑名称,再由配置决定这个名称最终解析到哪个总账科目或哪一组科目。

本集的五个自定义账户符号可以翻译为:
| 账户符号 | 中文含义 | 最终指向 |
|---|---|---|
ZZ01_MA | 主银行科目 | 使用掩码解析到主银行总账 |
ZZ01_IN | 收款清算科目 | 使用掩码解析到收款清算总账 |
ZZ01_OT | 付款清算科目 | 使用掩码解析到付款清算总账 |
ZZ01_BC | 银行手续费 | 直接指定费用类总账 |
ZZ01_IT | 银行利息 | 直接指定利息类总账 |
账户符号与前面的 House Bank Account ID 完全不同:Account ID 识别某个往来银行账户连接;账户符号则服务于银行对账单过账逻辑,可以代表一个或多个总账科目。SAP 对这一点的官方说明见 Posting Rules。
七、把账户符号分配给总账科目
创建逻辑名称后,进入 Assign Accounts to Account Symbol,按科目表和币种维护具体科目。

对于银行主科目和清算科目,课程没有逐行写死每个完整的总账科目,而是使用 + 作为变量字符:

| 账户符号 | 课程中的 G/L Account 模式 | 解析目标 |
|---|---|---|
ZZ01_IN | +++++++++1 | 末位为 1 的收款清算科目 |
ZZ01_MA | +++++++++2 | 末位为 2 的主银行科目 |
ZZ01_OT | +++++++++0 | 末位为 0 的付款清算科目 |
SAP 官方允许在科目分配中用 + 表示可变位置。系统会保留模板中写死的数字,并从相关银行科目中派生变量位置。参见 Assign Accounts to Account Symbol。
这个方法只有在科目编码规则稳定时才可靠。例如,项目必须先约定同一银行账户组使用相同前缀,并分别以 0、1、2 表示付款清算、收款清算和主科目。只要某个账户不遵守这套编号规则,掩码就可能解析到不存在或错误的科目。因此,掩码是对科目编码设计的复用,不是系统自动猜测业务含义。
八、银行手续费和利息为什么直接写科目
银行手续费与银行利息通常进入损益类科目,它们不一定和银行资产负债表科目共享同一编号前缀与尾号规则。本集因此直接分配:
| 账户符号 | 课程总账科目 | 用途 |
|---|---|---|
ZZ01_BC | 400401 | Bank Fees/Charges |
ZZ01_IT | 300401 | Interest |

直接分配并不代表所有公司都应使用这两个科目号。生产配置必须以企业科目表、费用归属、税务处理和报表要求为准。
九、本集完成到哪里
| 配置或操作 | 本集状态 | 结果 |
|---|---|---|
| 创建银行账户主数据 | 已完成 | 维护一般数据与开户信息 |
| 建立 House Bank Account Connectivity | 已完成 | 连接 ZZ01、HDFC1、HD456 和 200112 |
| 创建手工银行对账单业务交易 | 已完成 | 建立 Z001 收款和 Z000 付款 |
| 创建账户符号 | 已完成 | 主科目、收款、付款、手续费、利息共五类 |
| 为账户符号分配总账科目 | 已完成 | 银行科目使用 + 掩码,费用和利息直接指定 |
| 定义完整过账规则 | 未完成 | 尚未确定每一步的借方、贷方和凭证类型等逻辑 |
| 将过账规则分配给业务交易 | 未完成 | 业务交易画面的 Post. Rule 仍为空 |
| 录入并过账手工银行对账单 | 未完成 | 本集没有执行实际对账单测试 |
| 验证自动清账与差异处理 | 未完成 | 没有产生可验证的凭证或清账结果 |
因此,本集不能被表述为“已经完成手工银行对账”。准确说法是:银行账户连接、业务交易、账户符号和科目解析基础已经准备好,真正决定借贷过账的规则与端到端测试留到后续课程。
