Payment reconciliation engine
|
|
| ID |
MOD-081 |
| System |
SD04 |
| Repo |
bank-payments |
| Build status |
Deployed |
| Deployed |
Yes |
| Last commit |
178e49975435ec5926a3b4f612f5d9ee9efc8495 |
The payment reconciliation engine matches every payment instruction processed by the bank against the corresponding settlement confirmation from the interbank settlement system, and raises exceptions for unmatched or short-settled items.
Purpose
Payments are instructed in Postgres. Settlement is confirmed externally — by RBNZ ESAS (NZ), NPP/BECS (AU), or correspondent bank SWIFT confirmations for cross-border. A gap between instructed and settled creates a financial exposure: the bank may have posted a debit to a customer account without receiving funds in settlement, or may have received funds without posting a corresponding credit. Reconciliation closes this gap on every business day.
What it does
- Ingest settlement files — receives intraday and end-of-day settlement files from ESAS, NPP, BECS, and SWIFT in structured format; files are parsed and stored in
PAYMENTS.raw_settlements in Snowflake
- Match to payment records — every settlement item is matched to the corresponding
payments record in Postgres by payment reference, amount, value date, and counterparty account
- Exception handling — unmatched items (payment instructed, no settlement), short-settled items (settled for less than instructed), and late-settled items (settled outside the value date window) are raised as exceptions in the
reconciliation_exceptions table and routed to the payments operations work queue (MOD-064)
- Intraday position — provides a live intraday net settlement position for the treasury (used by MOD-082 Nostro management)
- Close-of-day sign-off — produces a daily reconciliation sign-off report confirming all items are matched or exception-managed; this is the formal daily settlement close
Reconciliation SLA
All exceptions must be investigated and resolved within the same business day. Open exceptions at 17:00 local time are escalated to the Head of Payments Operations and flagged in the MOD-036 prudential data feed.
Module dependencies
Depends on
| Module |
Title |
Required? |
Contract |
Reason |
| MOD-022 |
Payment audit trail |
Required |
— |
Reconciliation matches settlement files against the payment audit trail records for each instruction. |
| MOD-001 |
Double-entry posting engine |
Optional |
— |
V2 dependency — reversal-on-short-settle and ledger reconciliation entries will be posted through MOD-001 in a future release. MOD-081 v1 matches and records exceptions only; it does not write to the ledger. |
| MOD-104 |
AWS shared infrastructure bootstrap |
Required |
— |
AWS shared infrastructure provisioned by MOD-104 (EventBridge buses, S3, KMS, Kinesis, Cognito) is required before this module can be deployed. |
| MOD-103 |
Neon database platform bootstrap |
Required |
— |
Neon database and schema provisioned by MOD-103 must exist before this module can read or write Postgres. |
Required by
| Module |
Title |
As |
Contract |
| MOD-119 |
BPAY payment integration |
Hard dependency |
— |
| MOD-122 |
NZ faster payments and A2A integration |
Optional enhancement |
— |
| MOD-129 |
Teller operations and branch cash management |
Hard dependency |
— |
| MOD-135 |
Batch payment and payroll file processing |
Optional enhancement |
— |
| MOD-136 |
BPAY biller registration and inbound BPAY |
Hard dependency |
— |
| MOD-137 |
Agency banking adapter |
Optional enhancement |
— |
Policies satisfied
| Policy |
Title |
Mode |
How |
| PAY-002 |
Settlement Risk Policy |
AUTO |
Every payment instruction is reconciled against settlement confirmation — unmatched items are escalated automatically before close of business. |
| REP-005 |
Data Quality & Assurance Policy |
LOG |
Reconciliation outcomes are retained with full data lineage — payment, settlement file, and matched/unmatched status are traceable for audit and dispute resolution. |
Capabilities satisfied
| Capability |
Title |
Mode |
How |
| CAP-127 |
Automated payment reconciliation |
AUTO |
Ingests intraday and end-of-day settlement files, matches each settled item to the corresponding Postgres payment record by reference number, and raises exceptions for unmatched or short-settled items. |
Part of SD04 — Payments Processing Platform
Compiled 2026-05-22 from source/entities/modules/MOD-081.yaml