SAP Financial Supply Chain Management & Treasury

作者:Sajiv Francis 约 35 分钟阅读 更新日期:2026-07-22 标签:AI, 人工智能, 大模型, SAP, FI, CO, 财务

Central Payments, Advanced Payment Management, Bank Communication Management, Multi-Bank Connectivity, House Banks & External Bank Communications

Section titled “Central Payments, Advanced Payment Management, Bank Communication Management, Multi-Bank Connectivity, House Banks & External Bank Communications”

July 2026


Treasury in SAP S/4HANA is not a single module — it is an integrated platform spanning liquidity visibility, payment execution, bank communication, risk management, and cash operations. The six components examined here — Central Payments, Advanced Payment Management (APM), Bank Communication Management (BCM), SAP Multi-Bank Connectivity (MBC), House Banks & Bank Account Management, and External Bank Communications — form the operational payment backbone of any mature SAP finance transformation.

The organizing principle is straightforward: cash flows originate in the Transaction Manager or from Accounts Payable, are routed through a payment engine, pass through approval and format controls, and exit the system via a standardized bank channel. Each component occupies a defined position in that chain. Understanding the chain as a whole — and the strict configuration sequencing it demands — is what separates implementations that go live cleanly from those that produce duplicate payments, suspense account overflows, and bank format rejections on day one.

This white paper covers the architecture, process flows, configuration steps, key tables, and integration touchpoints for each component, and concludes with a sequenced implementation blueprint and a catalogue of the most common pitfalls.


The Problem with Distributed Payment Architectures

Section titled “The Problem with Distributed Payment Architectures”

In a multi-ERP SAP landscape — the default state of any Fortune 500 that has grown through acquisition — payment execution is fragmented. Each source system runs its own F110 payment proposal, maintains its own house bank configuration, manages its own bank reconciliation, and holds its own liquidity buffer. The result: duplicated bank relationships, no enterprise-level payment visibility, and a treasury team flying partially blind on actual cash position.

SAP’s answer is a layered consolidation. Central Finance (CFIN) centralizes the accounting spine. Central Payments shifts payment execution into CFIN. APM and BCM provide a single validation, routing, and approval layer. MBC abstracts the bank channel complexity into a managed cloud service. The Universal Journal (ACDOCA) becomes the single ledger of record for every cleared payment.

The payment platform has three distinct layers:

Origination — where payment obligations are created. Either the Transaction Manager (treasury deals generating cash flows via F111), Accounts Payable (vendor invoices cleared via F110), or a Central Finance instance executing payments on behalf of source systems.

Processing and Control — where payments are validated, batched, approved, and formatted. APM handles routing and validation; BCM handles approval workflows and batch management; the Payment Medium Workbench (PMW) handles format generation.

Communication — where formatted payment files leave the SAP system and bank confirmations return. MBC is the managed cloud service that abstracts the technical bank channel. House Banks are the master data anchor that ties company codes to physical bank accounts.

flowchart LR
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
TRM["Transaction Manager<br/>(TRM)"]:::source
AP["Accounts Payable<br/>(F110)"]:::source
CFIN["Central Finance<br/>(CFIN)"]:::source
APM["Advanced Payment<br/>Management (APM)"]:::integration
BCM["Bank Communication<br/>Management (BCM)"]:::integration
PMW["Payment Medium<br/>Workbench (PMW)"]:::integration
MBC["SAP Multi-Bank<br/>Connectivity (MBC)"]:::target
HB["House Banks &<br/>Bank Accounts"]:::target
BANK["External Banks"]:::target
GL["Universal Journal<br/>(ACDOCA)"]:::reporting
CASH["Cash Operations &<br/>Liquidity Management"]:::reporting
TRM -->|"F111 / FRFT"| APM
AP -->|"F110"| APM
CFIN -->|"Central Payment Run"| APM
APM --> BCM
BCM --> PMW
PMW --> MBC
MBC -->|"H2H / EBICS / SWIFT"| BANK
BANK -->|"Bank Statements"| MBC
MBC -->|"MT940 / camt.053"| HB
HB --> GL
GL --> CASH

Central Payments shifts the execution of vendor and intercompany payments from distributed source systems into the Central Finance instance. Prior to Central Payments, each source system ran its own F110 payment proposal, maintained its own house bank configuration, and managed its own bank reconciliation. In a multi-ERP landscape this produces fragmented bank relationships, duplicated liquidity buffers, and no enterprise-level payment visibility.

Central Payments solves this by technically clearing open items in the source system at the point of replication to CFIN — the open item can no longer be paid in the source — and reconstituting the payable exclusively in the CFIN instance. Once Central Payments is live, aging, open item analysis, and vendor correspondence all originate from CFIN only. Bank reconciliation is centralized. Cash operations and the liquidity forecast gain an enterprise-wide view across all source company codes. Payment factories for scanning, approval, and disbursement can be operated from the CFIN shared service center.

sequenceDiagram
participant SRC as "Source System"
participant SLT as "SLT Replication"
participant AIF as "AIF Interface"
participant CFIN as "Central Finance"
participant BCM as "Bank Comm. Mgmt"
participant BANK as "External Bank"
SRC->>SRC: Invoice posted (FB60)<br/>GR/IR + Payable created
SRC->>SLT: CFIN_ACCHD trigger fires
SLT->>AIF: AC_DOC interface message
AIF->>CFIN: Document posted to ACDOCA
CFIN->>SRC: Open item technically cleared<br/>(cannot be paid twice)
Note over CFIN: Actual open item lives<br/>only in CFIN
CFIN->>CFIN: F110 Payment Proposal<br/>created in CFIN
CFIN->>BCM: Payment batch submitted<br/>for approval
BCM->>CFIN: Approved and released
CFIN->>BANK: Payment instructions sent
BANK->>CFIN: Bank statement received
CFIN->>CFIN: Bank reconciliation<br/>completed in CFIN

Central Payments as a Standard Process Flow

Section titled “Central Payments as a Standard Process Flow”

The Central Payments cycle — source invoice, SLT/AIF replication, technical clearing, and the central payment run with BCM approval — as a BPMN 2.0 process:

<?xml version="1.0" encoding="UTF-8"?>
<!--
Central Payments — source invoice replicated to CFIN, technically cleared, paid centrally via BCM (FSCM & Treasury).
Canonical BPMN 2.0 (Plan 01): standard namespaces, stable ids, DI included
so the file imports cleanly into Camunda / Signavio / ARIS / Bizagi.
-->
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
id="Defs_TreasuryCentralPayments"
targetNamespace="https://docs.sajivfrancis.com/bpmn">
<bpmn:process id="Process_TreasuryCentralPayments" name="Central Payments — Source Invoice to Central Settlement" isExecutable="false">
<bpmn:startEvent id="Start_Invoice" name="Vendor invoice posted in source system (FB60)">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="Task_Slt" name="SLT captures document (CFIN_ACCHD trigger)">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Aif" name="AIF posts document to CFIN ACDOCA">
<bpmn:incoming>Flow_2</bpmn:incoming>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_TechClear" name="Technically clear open item in source (blocks double payment)">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_F110" name="Run central payment proposal in CFIN (F110)">
<bpmn:incoming>Flow_4</bpmn:incoming>
<bpmn:incoming>Flow_8</bpmn:incoming>
<bpmn:outgoing>Flow_5</bpmn:outgoing>
</bpmn:task>
<bpmn:exclusiveGateway id="Gw_Approve" name="BCM batch approved?">
<bpmn:incoming>Flow_5</bpmn:incoming>
<bpmn:outgoing>Flow_6</bpmn:outgoing>
<bpmn:outgoing>Flow_7</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:task id="Task_Rework" name="Rework and re-submit payment batch">
<bpmn:incoming>Flow_7</bpmn:incoming>
<bpmn:outgoing>Flow_8</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Send" name="Transmit payment instructions to bank">
<bpmn:incoming>Flow_6</bpmn:incoming>
<bpmn:outgoing>Flow_9</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Statement" name="Receive bank statement; reconcile in CFIN">
<bpmn:incoming>Flow_9</bpmn:incoming>
<bpmn:outgoing>Flow_10</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="End_Settled" name="Payment settled — ACDOCA is ledger of record">
<bpmn:incoming>Flow_10</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="Start_Invoice" targetRef="Task_Slt" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_Slt" targetRef="Task_Aif" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Task_Aif" targetRef="Task_TechClear" />
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_TechClear" targetRef="Task_F110" />
<bpmn:sequenceFlow id="Flow_5" sourceRef="Task_F110" targetRef="Gw_Approve" />
<bpmn:sequenceFlow id="Flow_6" name="Approved" sourceRef="Gw_Approve" targetRef="Task_Send" />
<bpmn:sequenceFlow id="Flow_7" name="Rejected" sourceRef="Gw_Approve" targetRef="Task_Rework" />
<bpmn:sequenceFlow id="Flow_8" sourceRef="Task_Rework" targetRef="Task_F110" />
<bpmn:sequenceFlow id="Flow_9" sourceRef="Task_Send" targetRef="Task_Statement" />
<bpmn:sequenceFlow id="Flow_10" sourceRef="Task_Statement" targetRef="End_Settled" />
</bpmn:process>
<bpmndi:BPMNDiagram id="Diagram_Process_TreasuryCentralPayments">
<bpmndi:BPMNPlane id="Plane_Process_TreasuryCentralPayments" bpmnElement="Process_TreasuryCentralPayments">
<bpmndi:BPMNShape id="Shape_Start_Invoice" bpmnElement="Start_Invoice">
<dc:Bounds x="202" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Slt" bpmnElement="Task_Slt">
<dc:Bounds x="330" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Aif" bpmnElement="Task_Aif">
<dc:Bounds x="500" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_TechClear" bpmnElement="Task_TechClear">
<dc:Bounds x="670" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_F110" bpmnElement="Task_F110">
<dc:Bounds x="840" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Gw_Approve" bpmnElement="Gw_Approve" isMarkerVisible="true">
<dc:Bounds x="1045" y="235" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Rework" bpmnElement="Task_Rework">
<dc:Bounds x="1180" y="360" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Send" bpmnElement="Task_Send">
<dc:Bounds x="1180" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Statement" bpmnElement="Task_Statement">
<dc:Bounds x="1350" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_End_Settled" bpmnElement="End_Settled">
<dc:Bounds x="1562" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Edge_Flow_1" bpmnElement="Flow_1">
<di:waypoint x="238" y="260" />
<di:waypoint x="330" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_2" bpmnElement="Flow_2">
<di:waypoint x="450" y="260" />
<di:waypoint x="500" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_3" bpmnElement="Flow_3">
<di:waypoint x="620" y="260" />
<di:waypoint x="670" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_4" bpmnElement="Flow_4">
<di:waypoint x="790" y="260" />
<di:waypoint x="840" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_5" bpmnElement="Flow_5">
<di:waypoint x="960" y="260" />
<di:waypoint x="1045" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_6" bpmnElement="Flow_6">
<di:waypoint x="1095" y="260" />
<di:waypoint x="1180" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_7" bpmnElement="Flow_7">
<di:waypoint x="1070" y="285" />
<di:waypoint x="1070" y="400" />
<di:waypoint x="1180" y="400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_8" bpmnElement="Flow_8">
<di:waypoint x="1240" y="440" />
<di:waypoint x="1240" y="500" />
<di:waypoint x="900" y="500" />
<di:waypoint x="900" y="300" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_9" bpmnElement="Flow_9">
<di:waypoint x="1300" y="260" />
<di:waypoint x="1350" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_10" bpmnElement="Flow_10">
<di:waypoint x="1470" y="260" />
<di:waypoint x="1562" y="260" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
StepTransaction / PathAction
1FBZPCreate House Bank and Bank Account for the CFIN company code
2SPRO → CFINIMG → Settings for Accounting Document Replication → Activate Tax Consistency CheckMandatory prerequisite — loads reference tables to CFIN via SLT
3SPRO → CFINIMG → Central Finance: Target System Settings → Central Payment → Activate Central Payment for Company CodesSpecify source system company codes for which central payment is activated

When the Tax Consistency Check is activated, the following tables must be replicated from source to CFIN via SAP LT Replication Server:

TableContent
FINS_CFIN_T000FClient settings
FINS_CFIN_T001Company codes
FINS_CFIN_T005Countries
FINS_CFIN_T007ATax codes
FINS_CFIN_T007BTax processing keys
FINS_CFIN_TAXDTax jurisdictions

Advanced Payment Management is the S/4HANA-native payment hub that supersedes the classical payment program for high-volume, multi-format treasury and AP payments. Its key architectural shift: payment format generation is centralized in the S/4HANA system, removing the need for each connected system to maintain its own format library.

APM operates on an internal ISO 20022 data model. All incoming payment requests — regardless of original format — are mapped into this model, validated, enriched, routed, and then re-emitted in the target bank format.

flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
IN["Payment Import<br/>(ISO 20022 / MT101 / PEXR2003)"]:::source
VAL["Validation Engine<br/>Content checks · Duplicate checks"]:::integration
FRAUD["Fraud and Sanctions Screening<br/>(SAP or 3rd party — sync/async)"]:::integration
BAM["Bank Account Management<br/>Enrichment (BAM ID)"]:::integration
ROUTE["Payment Routing<br/>GL Accounts / In-House Cash / External Bank"]:::integration
CASH_UPD["Cash Management Update<br/>Amount + Value Date"]:::integration
APPROVE["Approval Workflow<br/>Full / Partial / Reject"]:::integration
DMEEX["Payment Medium Generation<br/>(DMEEX — centralized formats)"]:::target
BANK["External Bank"]:::target
CONFIRM["Confirmation Messages<br/>(file or MBC connector)"]:::reporting
IN --> VAL
VAL --> FRAUD
FRAUD --> BAM
BAM --> ROUTE
ROUTE --> CASH_UPD
CASH_UPD --> APPROVE
APPROVE --> DMEEX
DMEEX --> BANK
BANK --> CONFIRM

The APM pipeline — import, validation, screening, BAM enrichment, routing, approval, and DMEEX output — as a BPMN 2.0 process:

<?xml version="1.0" encoding="UTF-8"?>
<!--
APM payment processing — import, validation, screening, BAM enrichment, routing, approval, DMEEX output (FSCM & Treasury).
Canonical BPMN 2.0 (Plan 01): standard namespaces, stable ids, DI included
so the file imports cleanly into Camunda / Signavio / ARIS / Bizagi.
-->
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
id="Defs_ApmPaymentPipeline"
targetNamespace="https://docs.sajivfrancis.com/bpmn">
<bpmn:process id="Process_ApmPaymentPipeline" name="Advanced Payment Management — Processing Pipeline" isExecutable="false">
<bpmn:startEvent id="Start_Import" name="Payment order imported (ISO 20022 / MT101 / PEXR2003)">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="Task_Validate" name="Validate content; run duplicate checks">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Screen" name="Fraud and sanctions screening (sync / async)">
<bpmn:incoming>Flow_2</bpmn:incoming>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:task>
<bpmn:exclusiveGateway id="Gw_Clean" name="Screening passed?">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
<bpmn:outgoing>Flow_5</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:task id="Task_Reject" name="Reject or hold payment; notify originator">
<bpmn:incoming>Flow_5</bpmn:incoming>
<bpmn:incoming>Flow_11</bpmn:incoming>
<bpmn:outgoing>Flow_6</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="End_Rejected" name="Payment rejected">
<bpmn:incoming>Flow_6</bpmn:incoming>
</bpmn:endEvent>
<bpmn:task id="Task_Enrich" name="Enrich with Bank Account Management ID (BAM)">
<bpmn:incoming>Flow_4</bpmn:incoming>
<bpmn:outgoing>Flow_7</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Route" name="Route: GL account / In-House Cash / external bank">
<bpmn:incoming>Flow_7</bpmn:incoming>
<bpmn:outgoing>Flow_8</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Cash" name="Update Cash Management (amount + value date)">
<bpmn:incoming>Flow_8</bpmn:incoming>
<bpmn:outgoing>Flow_9</bpmn:outgoing>
</bpmn:task>
<bpmn:exclusiveGateway id="Gw_Approve" name="Approval workflow outcome?">
<bpmn:incoming>Flow_9</bpmn:incoming>
<bpmn:outgoing>Flow_10</bpmn:outgoing>
<bpmn:outgoing>Flow_11</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:task id="Task_Dmeex" name="Generate payment medium (DMEEX central format library)">
<bpmn:incoming>Flow_10</bpmn:incoming>
<bpmn:outgoing>Flow_12</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Transmit" name="Transmit to bank; receive confirmation (MBC)">
<bpmn:incoming>Flow_12</bpmn:incoming>
<bpmn:outgoing>Flow_13</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="End_Confirmed" name="Payment confirmed to originating system">
<bpmn:incoming>Flow_13</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="Start_Import" targetRef="Task_Validate" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_Validate" targetRef="Task_Screen" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Task_Screen" targetRef="Gw_Clean" />
<bpmn:sequenceFlow id="Flow_4" name="Pass" sourceRef="Gw_Clean" targetRef="Task_Enrich" />
<bpmn:sequenceFlow id="Flow_5" name="Hit" sourceRef="Gw_Clean" targetRef="Task_Reject" />
<bpmn:sequenceFlow id="Flow_6" sourceRef="Task_Reject" targetRef="End_Rejected" />
<bpmn:sequenceFlow id="Flow_7" sourceRef="Task_Enrich" targetRef="Task_Route" />
<bpmn:sequenceFlow id="Flow_8" sourceRef="Task_Route" targetRef="Task_Cash" />
<bpmn:sequenceFlow id="Flow_9" sourceRef="Task_Cash" targetRef="Gw_Approve" />
<bpmn:sequenceFlow id="Flow_10" name="Approved" sourceRef="Gw_Approve" targetRef="Task_Dmeex" />
<bpmn:sequenceFlow id="Flow_11" name="Rejected" sourceRef="Gw_Approve" targetRef="Task_Reject" />
<bpmn:sequenceFlow id="Flow_12" sourceRef="Task_Dmeex" targetRef="Task_Transmit" />
<bpmn:sequenceFlow id="Flow_13" sourceRef="Task_Transmit" targetRef="End_Confirmed" />
</bpmn:process>
<bpmndi:BPMNDiagram id="Diagram_Process_ApmPaymentPipeline">
<bpmndi:BPMNPlane id="Plane_Process_ApmPaymentPipeline" bpmnElement="Process_ApmPaymentPipeline">
<bpmndi:BPMNShape id="Shape_Start_Import" bpmnElement="Start_Import">
<dc:Bounds x="202" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Validate" bpmnElement="Task_Validate">
<dc:Bounds x="330" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Screen" bpmnElement="Task_Screen">
<dc:Bounds x="500" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Gw_Clean" bpmnElement="Gw_Clean" isMarkerVisible="true">
<dc:Bounds x="705" y="235" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Reject" bpmnElement="Task_Reject">
<dc:Bounds x="840" y="360" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_End_Rejected" bpmnElement="End_Rejected">
<dc:Bounds x="1052" y="382" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Enrich" bpmnElement="Task_Enrich">
<dc:Bounds x="840" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Route" bpmnElement="Task_Route">
<dc:Bounds x="1010" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Cash" bpmnElement="Task_Cash">
<dc:Bounds x="1180" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Gw_Approve" bpmnElement="Gw_Approve" isMarkerVisible="true">
<dc:Bounds x="1385" y="235" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Dmeex" bpmnElement="Task_Dmeex">
<dc:Bounds x="1520" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Transmit" bpmnElement="Task_Transmit">
<dc:Bounds x="1690" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_End_Confirmed" bpmnElement="End_Confirmed">
<dc:Bounds x="1902" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Edge_Flow_1" bpmnElement="Flow_1">
<di:waypoint x="238" y="260" />
<di:waypoint x="330" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_2" bpmnElement="Flow_2">
<di:waypoint x="450" y="260" />
<di:waypoint x="500" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_3" bpmnElement="Flow_3">
<di:waypoint x="620" y="260" />
<di:waypoint x="705" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_4" bpmnElement="Flow_4">
<di:waypoint x="755" y="260" />
<di:waypoint x="840" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_5" bpmnElement="Flow_5">
<di:waypoint x="730" y="285" />
<di:waypoint x="730" y="400" />
<di:waypoint x="840" y="400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_6" bpmnElement="Flow_6">
<di:waypoint x="960" y="400" />
<di:waypoint x="1052" y="400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_7" bpmnElement="Flow_7">
<di:waypoint x="960" y="260" />
<di:waypoint x="1010" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_8" bpmnElement="Flow_8">
<di:waypoint x="1130" y="260" />
<di:waypoint x="1180" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_9" bpmnElement="Flow_9">
<di:waypoint x="1300" y="260" />
<di:waypoint x="1385" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_10" bpmnElement="Flow_10">
<di:waypoint x="1435" y="260" />
<di:waypoint x="1520" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_11" bpmnElement="Flow_11">
<di:waypoint x="1410" y="285" />
<di:waypoint x="1410" y="500" />
<di:waypoint x="900" y="500" />
<di:waypoint x="900" y="440" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_12" bpmnElement="Flow_12">
<di:waypoint x="1640" y="260" />
<di:waypoint x="1690" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_13" bpmnElement="Flow_13">
<di:waypoint x="1810" y="260" />
<di:waypoint x="1902" y="260" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
CapabilityDetail
ISO 20022 Internal ModelAll payments normalized to ISO 20022 transfer structure on ingest; built-in mapping from external formats
Duplicate DetectionConfigurable duplicate check rules applied at validation stage before any routing
Fraud / Sanctions ScreeningPluggable — SAP-native or third-party; supports synchronous (blocking) and asynchronous (advisory) modes
BAM EnrichmentPayment enriched with BAM ID of the bank account to be used — enforces central bank account governance
Routing LogicRules-based routing to internal GL accounts, in-house cash accounts, or external banks
Centralized Format LibraryPayment formats maintained once in DMEEX; no per-system format maintenance required
Approval WorkflowFull, partial, or complete rejection; integrates with BCM for multi-level approval
Status ConfirmationsConfirmation messages returned to payment-initiating systems via file or MBC connector
FormatUse Case
NACHAUS ACH payments
FedwireUS high-value wire transfers
SWIFT MTInternational correspondent banking (MT101, MT103, MT202)
ISO 20022 (pain.001 etc.)SEPA and global XML-based payments
EBICSEuropean bank communication standard

For bank-specific or country-specific format variants, the Payment Medium Workbench provides a graphical editor for creating and testing custom formats. PMW’s test mode allows practitioners to preview the exact output file before submitting to the bank for approval — eliminating iterative format negotiation during onboarding. This capability alone justifies using PMW over classical payment medium programs for any implementation involving more than two banking relationships.


BCM sits between the payment proposal and the payment file generation step. Its primary function is batch management and approval workflow — ensuring that payment files are reviewed and approved according to configurable threshold rules before they are formatted and sent to the bank. BCM is the SAP-native control point for segregation of duties on outbound payments: the initiator cannot approve, and approval limits enforce authorization levels.

The four-step treasury payment cycle integrates BCM at step two:

flowchart LR
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
S1["Step 1<br/>Create Payment Request<br/>in TRM"]:::source
S2["Step 2<br/>BCM<br/>Batch · Approve · Release"]:::integration
S3["Step 3<br/>Send via Middleware<br/>to SWIFT / Networks"]:::target
S4["Step 4<br/>External Bank Processing<br/>Clear · Confirm · EBS"]:::reporting
S1 --> S2 --> S3 --> S4
CapabilityDetail
Batch Cross-Payment Media RunsGroups payments across multiple payment media (checks, wires, ACH) into a single approval batch
Multi-Level Approval WorkflowConfigurable by payment type, amount, and company code; supports delegation and out-of-office substitution
Approval Limit RulesThreshold-based rules — payments above a defined amount require dual approval; free-form wires require treasury director sign-off
Outbound Payment MonitoringDashboard visibility into payment status from proposal through bank confirmation
Inbound Message MonitoringBank statement import status, payment acknowledgements, rejection notices
SOX / SoD ControlsInitiator cannot approve; approval limits enforce authorization levels by role
TransactionPurpose
F110AP payment program — invoice-based vendor payments and IHC internal transfers
F111Treasury payment program — external payments from Transaction Manager
FRFT_BDirect bank-to-bank transfers
FRFT_TRBank-to-business partner transfers
RVNDFree-form wire transfers

F110 vs. F111: F110 reads open items from the AP subledger. F111 is for treasury cash flows generated by Transaction Manager deals — these are not invoice-dependent. Both route through BCM but are distinct payment programs with separate configuration.


SAP Multi-Bank Connectivity is a managed cloud service built on SAP Cloud Platform Integration (CPI) that standardizes and automates bank channel integration. Prior to MBC, bank connectivity was a bespoke, project-dominated effort — each bank required custom middleware, format mappings, and ongoing certificate management. MBC abstracts this into a service that SAP actively operates on behalf of customers. The marginal cost of adding a new banking relationship drops dramatically: the bank connector catalog, certificate lifecycle management, and format library are all SAP-maintained.

flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
S4["SAP S/4HANA<br/>Payment Engine / BCM"]:::source
CPI["SAP CPI<br/>MBC Managed Service"]:::integration
NORM["Format Normalization<br/>pain.001 / MT101 / NACHA"]:::integration
CERT["Certificate and Key<br/>Management"]:::integration
AUDIT["Audit Log and<br/>Non-Repudiation"]:::integration
H2H["Host-to-Host<br/>(SFTP / AS2)"]:::target
EBICS["EBICS<br/>(European Standard)"]:::target
SWIFT["SWIFT L2BA<br/>(via Alliance Lite2)"]:::target
BANK["External Banks"]:::target
EBS_IN["Bank Statements<br/>MT940 / camt.053"]:::reporting
ACK["Payment Acknowledgements<br/>pain.002 / MT199"]:::reporting
S4 -->|"Payment file"| CPI
CPI --> NORM
NORM --> CERT
CERT --> AUDIT
AUDIT --> H2H
AUDIT --> EBICS
AUDIT --> SWIFT
H2H --> BANK
EBICS --> BANK
SWIFT --> BANK
BANK -->|"Inbound"| EBS_IN
BANK -->|"Inbound"| ACK
EBS_IN --> S4
ACK --> S4
ChannelProtocolTypical Use
Host-to-Host (H2H)SFTP / AS2Direct bilateral file exchange with a single bank; common in North America and for treasury banks with dedicated file portals
EBICSEBICS 2.x / 3.0Standard electronic banking protocol in Germany, France, Switzerland, and Austria; supports multi-bank from one endpoint
SWIFT L2BASWIFT Alliance Lite2 for Business ApplicationsGlobal correspondent banking; required for cross-border and FX payments; accessed via SWIFT’s managed lite connectivity for corporates
SFTP (Custom)SFTPLegacy bilateral connectivity where H2H is not formally packaged; MBC manages certificate rotation
StepActorAction
1S/4HANA BCMPayment batch approved and released; DMEEX generates formatted payment file
2MBCReceives file via CPI iFlow; validates structure against expected format schema
3MBCNormalizes to internal canonical model; applies format-specific transformations
4MBCSigns and encrypts using bank-issued certificates managed in MBC key store
5MBCTransmits over configured channel (H2H / EBICS / SWIFT)
6BankAcknowledges receipt (pain.002 / MT199 / proprietary ACK)
7MBCRoutes acknowledgement back to S/4HANA; updates payment status

MBC Inbound Flow — Bank Statement Import

Section titled “MBC Inbound Flow — Bank Statement Import”
StepActorAction
1BankGenerates end-of-day statement (MT940 or camt.053)
2MBCRetrieves statement via configured channel on schedule
3MBCNormalizes to camt.053 canonical format regardless of source format
4MBCRoutes to S/4HANA via CPI
5S/4HANAEBS processing: FF_5 / FEBP posts clearing entries
6S/4HANACash Management updated; open items cleared in FI-AP / FI-AR
DimensionClassical Middleware (PI/PO)SAP MBC
Bank onboardingCustom iFlow per bankSAP-managed; bank connector catalog
Certificate managementCustomer-managedSAP-managed key store and rotation
Format libraryCustomer-maintainedSAP-maintained and updated
SWIFT accessRequires SWIFT bureau or own BICSWIFT L2BA — SAP as service bureau
MonitoringCustom alertingBuilt-in MBC dashboard + CPI monitoring
Regulatory updatesCustomer applies patchesSAP delivers format updates as service
TCOHigh per-bank project costSubscription-based; lower per-bank marginal cost

A House Bank in SAP is the master data object that represents a physical banking relationship — it ties a company code to a specific bank (identified by bank key / BIC) and its associated accounts. Everything downstream in the payment chain — payment methods, payment medium generation, bank statement import, liquidity management — references the house bank.

In S/4HANA, house bank management has been modernized through Bank Account Management (BAM) in the Fiori launchpad, replacing the classical FBZP / FI12 transaction model with a governed, workflow-driven account lifecycle.

flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
CC["Company Code<br/>(e.g. US01)"]:::source
HB["House Bank<br/>(Bank Key + BIC)"]:::integration
ACCT["Bank Account<br/>(Account ID + IBAN)"]:::integration
BAM["BAM ID<br/>(Internal Reference)"]:::integration
PM["Payment Method<br/>(W / T / U etc.)"]:::target
PMSA["Payment Method per<br/>Company Code"]:::target
GL_ACCT["GL Account<br/>(Bank Sub-Account)"]:::reporting
EBS["Electronic Bank Statement<br/>Import Config"]:::reporting
CC --> HB
HB --> ACCT
ACCT --> BAM
BAM --> PM
BAM --> GL_ACCT
PM --> PMSA
ACCT --> EBS
GL_ACCT --> EBS
StepTransactionAction
1FI12 / BAM FioriCreate House Bank — assign Bank Key (routing number / BIC), bank name, address
2FI12 / BAM FioriCreate Bank Account under House Bank — assign Account ID, IBAN, currency, GL account
3FBZPAssign House Bank to Payment Method per Company Code — defines which bank account is used for each payment type
4FBZPDefine Ranking Order — when multiple house banks exist for the same payment method, rank determines selection priority
5FBZPDefine Available Amounts — daily and per-run limits per house bank account
6OT83Assign GL Account to Bank Account for EBS posting
7FF67 / FEBPConfigure EBS import: statement format, posting rules, search strings for automatic clearing

Bank Account Management (BAM) — Governance Layer

Section titled “Bank Account Management (BAM) — Governance Layer”

BAM introduces a governed lifecycle for bank accounts that classical FI12 did not provide:

Lifecycle StageBAM Capability
RequestAny authorized user submits a bank account opening or change request via Fiori; dual approval required before activation
ActiveAccount is live; associated with BAM ID used in APM routing and MBC configuration
Signatory ManagementBank signatories maintained centrally; e-mandate files generated for bank submission
AmendmentIBAN changes, currency changes, and signatory changes all go through approval workflow
ClosureDeactivation workflow ensures no open payments or standing orders reference the account before closure

Why BAM matters for Central Payments: When Central Payments is active, the CFIN instance becomes the single payment executor. BAM ensures that bank account master data in CFIN is authoritative — source systems cannot independently open bank accounts and route payments. BAM is the governance anchor for the entire treasury payment architecture.

Payment methods bridge business process (what kind of payment?) and technical execution (which format, which bank?). Each method is configured at two levels: country level (FBZP → Payment Methods in Country) defining format class and required bank data, and company code level (FBZP → Payment Methods in Company Code) defining house bank assignment, available amounts, and min/max payment amounts.

Payment Method CodeDescriptionTypical Format
TBank Transfer (domestic)NACHA / local ACH
WWire TransferFedwire / SWIFT MT103
UACH CreditNACHA CCD / PPD
SSEPA Credit Transferpain.001.001.03
BSEPA Direct Debitpain.008
CCheckCheck print format

External bank communication is bidirectional. Outbound (payments) is handled by APM, BCM, and MBC. Inbound encompasses bank statements, payment acknowledgements, and debit advices — all of which feed back into S/4HANA’s cash management and reconciliation engine.

sequenceDiagram
participant TRY as "Treasury / AP"
participant BCM as "BCM"
participant MBC as "SAP MBC"
participant BANK as "External Bank"
participant EBS as "EBS Processing"
participant GL as "Universal Journal"
TRY->>BCM: Payment batch submitted
BCM->>BCM: Multi-level approval
BCM->>MBC: Approved payment file
MBC->>BANK: Transmitted via H2H/EBICS/SWIFT
BANK->>BANK: Payment processed
BANK->>MBC: ACK / pain.002 confirmation
MBC->>BCM: Status updated — Confirmed
Note over BANK,MBC: End of Day
BANK->>MBC: Bank statement MT940/camt.053
MBC->>EBS: Statement delivered to S/4HANA
EBS->>EBS: FF_5 / FEBP import and matching
EBS->>GL: Clearing postings to ACDOCA
GL->>TRY: Liquidity position updated

Electronic Bank Statement (EBS) Configuration

Section titled “Electronic Bank Statement (EBS) Configuration”
Configuration ObjectTransactionPurpose
Account SymbolsOT83Define symbolic names for GL accounts used in posting rules (e.g., MAIN_BANK, CLEARING)
Posting KeysOT83Assign debit/posting keys to each account symbol
Posting RulesOT84Define how a bank transaction type maps to a GL posting — which accounts to debit/credit
Transaction Type AssignmentOT85Map bank-specific transaction codes to SAP posting rules
Statement Format AssignmentOT86Assign the statement format (MT940, camt.053, BAI2) to the house bank account
Search StringsFEBADefine string-matching rules for automatic open item clearing
StepAction
1MBC delivers bank statement file to S/4HANA (scheduled or on-demand)
2FF_5 imports statement; header matched to house bank / account ID
3Each statement line evaluated against posting rules (OT84)
4Search strings (FEBA) attempt automatic open item matching — payment document, reference, amount
5Matched items: automatic clearing posted directly to ACDOCA
6Unmatched items: posted to interim/suspense account; manual review via FEBP
7Cash Management position updated upon posting

The inbound statement cycle — MBC retrieval, FF_5 import, and the auto-clearing versus suspense decision — as a BPMN 2.0 process:

<?xml version="1.0" encoding="UTF-8"?>
<!--
EBS inbound — bank statement retrieval via MBC, FF_5 import, auto-clearing vs suspense review (FSCM & Treasury).
Canonical BPMN 2.0 (Plan 01): standard namespaces, stable ids, DI included
so the file imports cleanly into Camunda / Signavio / ARIS / Bizagi.
-->
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
id="Defs_EbsInboundStatement"
targetNamespace="https://docs.sajivfrancis.com/bpmn">
<bpmn:process id="Process_EbsInboundStatement" name="Electronic Bank Statement — Inbound Processing" isExecutable="false">
<bpmn:startEvent id="Start_Eod" name="Bank generates end-of-day statement (MT940 / camt.053)">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:task id="Task_Retrieve" name="MBC retrieves statement; normalises to camt.053">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Import" name="Import statement into S/4HANA (FF_5)">
<bpmn:incoming>Flow_2</bpmn:incoming>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Rules" name="Evaluate lines against posting rules (OT84)">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:task>
<bpmn:exclusiveGateway id="Gw_Match" name="Open item matched via search strings?">
<bpmn:incoming>Flow_4</bpmn:incoming>
<bpmn:outgoing>Flow_5</bpmn:outgoing>
<bpmn:outgoing>Flow_6</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:task id="Task_AutoClear" name="Post automatic clearing to ACDOCA">
<bpmn:incoming>Flow_5</bpmn:incoming>
<bpmn:outgoing>Flow_7</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Suspense" name="Post to suspense; manual review and clearing (FEBP)">
<bpmn:incoming>Flow_6</bpmn:incoming>
<bpmn:outgoing>Flow_8</bpmn:outgoing>
</bpmn:task>
<bpmn:task id="Task_Cash" name="Update cash position (FF7A)">
<bpmn:incoming>Flow_7</bpmn:incoming>
<bpmn:incoming>Flow_8</bpmn:incoming>
<bpmn:outgoing>Flow_9</bpmn:outgoing>
</bpmn:task>
<bpmn:endEvent id="End_Recon" name="Statement reconciled — liquidity position current">
<bpmn:incoming>Flow_9</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="Start_Eod" targetRef="Task_Retrieve" />
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_Retrieve" targetRef="Task_Import" />
<bpmn:sequenceFlow id="Flow_3" sourceRef="Task_Import" targetRef="Task_Rules" />
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_Rules" targetRef="Gw_Match" />
<bpmn:sequenceFlow id="Flow_5" name="Matched" sourceRef="Gw_Match" targetRef="Task_AutoClear" />
<bpmn:sequenceFlow id="Flow_6" name="Unmatched" sourceRef="Gw_Match" targetRef="Task_Suspense" />
<bpmn:sequenceFlow id="Flow_7" sourceRef="Task_AutoClear" targetRef="Task_Cash" />
<bpmn:sequenceFlow id="Flow_8" sourceRef="Task_Suspense" targetRef="Task_Cash" />
<bpmn:sequenceFlow id="Flow_9" sourceRef="Task_Cash" targetRef="End_Recon" />
</bpmn:process>
<bpmndi:BPMNDiagram id="Diagram_Process_EbsInboundStatement">
<bpmndi:BPMNPlane id="Plane_Process_EbsInboundStatement" bpmnElement="Process_EbsInboundStatement">
<bpmndi:BPMNShape id="Shape_Start_Eod" bpmnElement="Start_Eod">
<dc:Bounds x="202" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Retrieve" bpmnElement="Task_Retrieve">
<dc:Bounds x="330" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Import" bpmnElement="Task_Import">
<dc:Bounds x="500" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Rules" bpmnElement="Task_Rules">
<dc:Bounds x="670" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Gw_Match" bpmnElement="Gw_Match" isMarkerVisible="true">
<dc:Bounds x="875" y="235" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_AutoClear" bpmnElement="Task_AutoClear">
<dc:Bounds x="1010" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Suspense" bpmnElement="Task_Suspense">
<dc:Bounds x="1010" y="360" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_Task_Cash" bpmnElement="Task_Cash">
<dc:Bounds x="1180" y="220" width="120" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Shape_End_Recon" bpmnElement="End_Recon">
<dc:Bounds x="1392" y="242" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Edge_Flow_1" bpmnElement="Flow_1">
<di:waypoint x="238" y="260" />
<di:waypoint x="330" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_2" bpmnElement="Flow_2">
<di:waypoint x="450" y="260" />
<di:waypoint x="500" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_3" bpmnElement="Flow_3">
<di:waypoint x="620" y="260" />
<di:waypoint x="670" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_4" bpmnElement="Flow_4">
<di:waypoint x="790" y="260" />
<di:waypoint x="875" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_5" bpmnElement="Flow_5">
<di:waypoint x="925" y="260" />
<di:waypoint x="1010" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_6" bpmnElement="Flow_6">
<di:waypoint x="900" y="285" />
<di:waypoint x="900" y="400" />
<di:waypoint x="1010" y="400" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_7" bpmnElement="Flow_7">
<di:waypoint x="1130" y="260" />
<di:waypoint x="1180" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_8" bpmnElement="Flow_8">
<di:waypoint x="1130" y="400" />
<di:waypoint x="1155" y="400" />
<di:waypoint x="1155" y="260" />
<di:waypoint x="1180" y="260" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Edge_Flow_9" bpmnElement="Flow_9">
<di:waypoint x="1300" y="260" />
<di:waypoint x="1392" y="260" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
DimensionMT940 (SWIFT Legacy)camt.053 (ISO 20022)
StructureFixed-length SWIFT tagsXML with rich structured data
Remittance InfoLimited — unstructured tag 86Rich structured remittance blocks
Transaction DetailMinimal counterparty dataFull debtor/creditor IBAN, BIC, name
Auto-Matching RateLower — requires search stringsHigher — structured references match directly
Regulatory DirectionBeing phased out (SWIFT MX migration)Strategic format — ISO 20022 global standard
SAP SupportFF_5 MT940 importFF_5 / MBC camt.053 import

Any new bank connectivity project should default to camt.053 for inbound statements. The richer structured data materially improves auto-clearing rates and reduces the manual reconciliation workload in FEBP.

SWIFT is completing its migration from MT (legacy) to MX (ISO 20022) formats. For S/4HANA customers this means:

SAP MBC handles the translation layer during the transition period, but the medium-term design target is end-to-end ISO 20022. Any implementation starting today should treat ISO 20022 as the target state and MT support as a temporary accommodation for incumbent banking relationships that have not yet migrated.


Integration with Cash & Liquidity Management

Section titled “Integration with Cash & Liquidity Management”

All six components ultimately feed SAP Cash and Liquidity Management — the consolidated view of where cash is, where it will be, and how to optimize it.

flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
CP["Central Payments<br/>Consolidated AP"]:::source
APM2["APM<br/>Validated Payment Flows"]:::source
BCM2["BCM<br/>Released Batches"]:::source
MBC2["MBC<br/>Bank Statement Data"]:::source
HB2["House Banks / BAM<br/>Account Balances"]:::source
CLM["Cash and Liquidity<br/>Management"]:::integration
FCST["Liquidity Forecast<br/>(AP/AR expected flows)"]:::target
ACTPOS["Actual Cash Position<br/>(Bank account balances)"]:::target
IHC["In-House Cash<br/>(Intercompany netting)"]:::target
ACDOCA["Universal Journal<br/>ACDOCA"]:::reporting
SAC["SAP Analytics Cloud<br/>(Treasury dashboards)"]:::reporting
CP --> CLM
APM2 --> CLM
BCM2 --> CLM
MBC2 --> CLM
HB2 --> CLM
CLM --> FCST
CLM --> ACTPOS
CLM --> IHC
CLM --> ACDOCA
ACDOCA --> SAC
FCST --> SAC
ACTPOS --> SAC
DimensionCash PositionLiquidity Forecast
Source DataActual bank statement balances (EBS-cleared)Open AP / AR items + TRM expected cash flows
HorizonSame-day / prior-day actualRolling forward — typically 13 weeks
Update TriggerEBS import via MBC → FEBP postingReal-time as invoices are posted / deals are booked
Primary UserCash Operations — confirms available fundsTreasury — plans borrowing, investment, FX hedges
Key TransactionFF7AFF7B
S/4HANA Fiori AppCash Position appLiquidity Forecast app

In-House Cash allows a corporate treasury to act as an internal bank for subsidiaries — centralizing external bank relationships while still processing intercompany settlements. Under a Central Payments architecture, IHC operates entirely within the CFIN instance:

FlowDescription
Subsidiary payment requestSubsidiary posts intercompany payable; CFIN replicates via SLT
IHC nettingIHC engine nets offsetting intercompany positions before external payment
External paymentOnly the net cash flow exits to the bank via MBC
Internal settlementIHC posts intercompany clearing entries directly to ACDOCA
Bank account reductionFewer external bank accounts required — subsidiaries operate via IHC accounts

TableDescriptionKey Fields
BNKABank master dataBANKS, BANKL, BANKA, SWIFT
T012House banksBUKRS, HBKID, BANKL
T012KHouse bank accountsHBKID, HKTID, HKONT, BANKN
T012THouse bank account textsDescription per account
PAYRPayment medium recordsZBUKR, HBKID, HKTID, CHECT
REGUHPayment header (F110 run)LAUFD, LAUFI, ZBUKR, LIFNR / KUNNR
REGUPPayment line itemsLinks REGUH to FI document and open item cleared
TableDescription
FEBEPEBS line items (imported statement lines)
FEBREEBS posting records — links statement lines to FI documents
FEBKOEBS statement header
T028GAccount symbols
T028BPosting rules for EBS
T028PTransaction type to posting rule mapping
TableDescription
FPAYHPayment order header
FPAYHXPayment order header extension
FPAYPPayment order line items
FPAYPXPayment order line item extension
FPAYSPPayment order status and approval tracking

Integration Touchpoints with Other SAP Modules

Section titled “Integration Touchpoints with Other SAP Modules”
ModuleIntegration PointData Flow
FI-APF110 feeds APM/BCM with vendor payment proposalsAP open items → payment proposals → BCM batch → bank
FI-ARIncoming payments from EBS clear AR open itemsBank statement → EBS → FEBP → AR clearing
TRMF111 generates treasury cash flow paymentsTRM deal → expected cash flow → F111 → BCM → bank
CO-PA / PaPMBank charges posted via EBS become cost inputsBank fee line items → GL → cost center allocation
CFINCentral Payments concentrates all payment executionSource AP open items → SLT → CFIN → payment run
Group ReportingCash and bank balances feed intercompany eliminationBank GL accounts → ACDOCA → ACDOCU consolidation
SACTreasury KPI dashboards draw from ACDOCA + CLMActual cash + forecast → SAC planning models

Configuration Sequencing — The Non-Negotiable Build Order

Section titled “Configuration Sequencing — The Non-Negotiable Build Order”

The six components do not configure independently. There is a strict sequencing dependency, and violating it produces integration failures that are difficult to diagnose after the fact.

flowchart TD
classDef source fill:#fff3e0,stroke:#e65100,color:#0A0812
classDef integration fill:#e8f5e9,stroke:#2e7d32,color:#0A0812
classDef target fill:#e3f2fd,stroke:#1565c0,color:#0A0812
classDef reporting fill:#f3e5f5,stroke:#6a1b9a,color:#0A0812
P1["Phase 1 — Foundation<br/>Bank Master Data · House Banks<br/>GL Sub-Accounts"]:::source
P2["Phase 2 — Payment Methods<br/>Country Level · Company Code Level<br/>Ranking + Available Amounts"]:::source
P3["Phase 3 — BCM<br/>Approval Workflow · Batch Rules<br/>SoD Limits"]:::integration
P4["Phase 4 — Format Layer<br/>PMW / DMEEX · APM Routing<br/>Fraud / Sanctions Screening"]:::integration
P5["Phase 5 — Bank Channel<br/>MBC CPI iFlows · Certificate Exchange<br/>H2H / EBICS / SWIFT Testing"]:::target
P6["Phase 6 — EBS Inbound<br/>Account Symbols · Posting Rules<br/>Search Strings · Format Assignment"]:::target
P7["Phase 7 — Central Payments<br/>Tax Table Replication · Company Code Activation<br/>BAM Governance Cutover"]:::reporting
P1 --> P2 --> P3 --> P4 --> P5 --> P6 --> P7
PhaseComponentHard Prerequisite
1 — FoundationBank Master (FI01), House Banks (FI12 / BAM), GL Sub-AccountsNone
2 — Payment MethodsPayment Methods in Country and Company Code (FBZP), Ranking, Available AmountsPhase 1 complete
3 — BCMApproval Workflow, Batch Rules, SoD LimitsPhase 2 complete
4 — Format LayerPMW / DMEEX Formats, APM Routing Rules, Fraud/Sanctions ScreeningPhase 3 active
5 — Bank ChannelMBC CPI iFlow Config, Certificate Exchange, Channel TestingPhase 4 formats assigned
6 — EBS InboundAccount Symbols (OT83), Posting Rules (OT84), Transaction Types (OT85), Search Strings (FEBA), Format Assignment (OT86)GL accounts finalized
7 — Central PaymentsTax Consistency Check, Company Code Activation, BAM CutoverSLT replication running; full stack tested end-to-end
PitfallRoot CauseMitigation
Duplicate payments after Central Payment activationTechnical clearing not activated before cutover; source system still processes F110Strictly sequence: activate technical clearing → confirm no open F110 runs in source → activate central payment
Cash Journal migration failuresCash journal not at zero balance at cutoverExecute FBCJC0 to close source cash journal; confirm zero balance before activation
EBS non-posting / suspense overflowBank transaction codes not mapped in OT85; posting rules missingMap all bank transaction codes from the bank’s MT940/camt.053 spec before go-live; run EBS simulation with test statements
MBC certificate failuresBank-issued certificates expired or mismatchedEnroll all accounts through MBC; never manage bank certificates outside MBC
BCM approval bottlenecksApproval limits set too low; single approver for all amountsDesign approval matrix before configuration: amount thresholds, payment types, delegation rules, out-of-office substitutes
Payment format rejection by bankPMW format variant not tested with bank’s validation toolComplete a bank format acceptance test (FAT) before go-live; use PMW test mode to generate and validate sample files
House bank GL account mismatchT012K HKONT points to wrong GL; EBS posting rule references different accountCross-check T012K HKONT against OT83 account symbol and OT84 posting rule during configuration review
CO-PA mapping gaps in CFINCO-PA derivation not configured in CFIN; SAP Note 2645712 appliesApply SAP Note 2645712 to skip CO-PA in CFIN CO documents where full derivation is not possible

Build the foundation first — house banks, BAM, GL sub-accounts — then payment methods, then BCM controls, then MBC connectivity, then EBS inbound. Activate Central Payments last, only after the full stack is tested end-to-end with real bank files. The temptation to activate Central Payments early to demonstrate consolidation value is precisely what produces the duplicate payment and cash journal failures that delay go-live by weeks.

The SWIFT MT-to-MX migration adds urgency to format strategy decisions that teams historically deferred. Any implementation starting today should treat ISO 20022 (pain.001, camt.053) as the only target state. MT940 and MT101 support should be treated as temporary accommodations, not as design choices. SAP MBC’s managed translation layer makes this transition operationally feasible without a rip-and-replace of existing bank connections — but the configuration and testing investment is real, and it belongs in the project plan from day one.

来源说明:本文翻译/整理自 docs.sajivfrancis.com,作者 Sajiv Francis。原文链接保留,版权归原作者所有。