Skip to content

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