CTR-ERP-FI · version 2
Group ERP — Financials — Journal lines
The load-bearing contract of the estate. Cost per transaction, the benefit ledger and every cost-to-serve figure resolve back to this feed.
What the contract says
These are the terms the connector is generated against. A source that stops matching them is a drift finding, not a silent data change.
Review state
Neither review is performed by the team that wrote the contract.
Validation and drift
Drift is only detectable on a contract that has been read against a sample.
The field list
7 fields · 2 key · 1 personal. The validation rule on each row is what admits or rejects a record at the staging boundary.
| Field | Source | Target | Type | Flags | Drift | Validation |
|---|---|---|---|---|---|---|
| Document number | BKPF-BELNR | ledgerEntry.documentRef | string(10) | keyinternal | In contract | Numeric, exactly ten characters, left-padded. Rejected if the year prefix is outside the open period. |
| Company code | BKPF-BUKRS | ledgerEntry.entityCode | string(4) | keyinternal | In contract | Must resolve to a row in the estate register. An unknown company code quarantines the whole document, not the line. |
| GL account | BSEG-HKONT | ledgerEntry.glAccount | string(10) | internal | In contract | Must exist in the GL account table and be open for posting. |
| Amount in local currency | BSEG-DMBTR | ledgerEntry.amountLocal | decimal(15,2) | confidential | In contract | Signed. Document debits and credits must net to zero or the batch is held. |
| Cost center | BSEG-KOSTL | ledgerEntry.costCenter | string(10) | nullableinternal | In contract | Null is permitted on balance-sheet accounts only. Null on a P&L account is a contract violation. |
| Entered by | BKPF-USNAM | ledgerEntry.enteredBy | string(12) | personalconfidential | In contract | Pseudonymized at the staging boundary. The clear value never enters the spine; only the hash is stored. |
| Posting date | BKPF-BUDAT | ledgerEntry.postedOn | date | internal | In contract | Must fall inside the declared extract window. A date outside the window means a late arrival and triggers a replay rather than an insert. |
What has passed the staging boundary against this contract
2 batches · 28,725 arrived · 28,165 admitted · 560 quarantined · 0 rejected
| Batch | Arrived | In | Admitted | Quarantined | Rejected | Result | Gate |
|---|---|---|---|---|---|---|---|
| STG-0001 | Aug 18, 08:00 | 14,820 | 14,518 | 302 | 0 | Partly admitted | 14,518 admitted · 302 quarantined · 0 rejected outright. |
| STG-0002 | Aug 18, 07:00 | 13,905 | 13,647 | 258 | 0 | Partly admitted | 13,647 admitted · 258 quarantined · 0 rejected outright. |
Rejects raised against these batches
4 reasons covering 560 records. Each one names a field, what was observed and what the contract expected.
Replay windows
1 window recorded against this contract.
Write-back routes into this system
2 routes designed against Group ERP — Financials.
What goes stale when this feed does
6 asserted figures depend on Group ERP — Financials. The rule on each row is what the surface does when the feed misses its commitment.
| Figure | Where it is shown | Role | On stale | Note |
|---|---|---|---|---|
| Transactions processed each week | AI GBS towers | contributing | Mark it stale | Finance postings are one of the twelve tower streams. A stale ledger understates the count. |
| Supplier invoice value cleared | Reconciliation ledger REC-01 | primary | Suppress the figure | The cleared value is the ledger side of the reconciliation. A stale ledger makes the break count meaningless, so the ledger row is held. |
| Cost per transaction | AI GBS towers | primary | Mark it stale | The cost numerator is a ledger read. The figure survives a stale ledger for a day; after that it is wrong at the second decimal. |
| Reconciliation breaks open | Reconciliation ledger | primary | Mark it stale | A break is the difference between two reads. A stale ledger read manufactures breaks that do not exist. |
| Reconciliation breaks with no owner | Reconciliation ledger | primary | Mark it stale | Ownership is assigned when the break is raised, so the figure inherits the staleness of the read that raised it. |
| Group cash position | Finance cockpit | contributing | Mark it stale | Book cash reconciles against the ledger but does not set the position. |
A contract, a validation rule, a freshness commitment and a replay path are real mechanisms and they are what this wave builds. What they are not is a connection. No connector on this estate is attached to a customer instance, so every batch, every replay and every write-back attempt recorded here ran against a modeled extract or a sandbox, and the registry keeps saying modeled.
The last validation read 25,000 records 11 days ago, which is 17% of a single day at the declared volume. A sample proves the shape of what it read and nothing beyond it.