Appearance
Bank Reconciliation field guide
Bank reconciliation proves that the cash ledger agrees to an external bank statement after explaining timing, fees, FX, chargebacks, and errors. A reconciled total without line-level evidence is not a completed control. Use Demo Retail Group LLC and account UAE-OPS-AED while practising.
Reconciliation header fields
Open Accounting → Bank Reconciliation → New.
| Field | Example | Purpose and impact |
|---|---|---|
| Reconciliation ID | BR-2026-00917 | Control and audit key |
| Company | Demo Retail Group LLC | Ledger scope |
| Bank account | UAE-OPS-AED | Cash account |
| Statement period | 2026-09-01 to 2026-09-30 | Control boundary |
| Opening statement | AED 2,400,000 | External starting point |
| Closing statement | AED 2,550,000 | External ending point |
| Opening ledger | AED 2,399,750 | Internal starting point |
| Closing ledger | AED 2,549,750 | Internal ending point |
| Currency | AED | Matching and FX |
| Import source | CAMT / bank API | Provenance |
| Tolerance | AED 1.00 | Materiality |
| Owner | Treasury analyst | Accountability |
| Status | In progress / approved | Close gate |
The header also stores statement file hash, imported time, reviewer, bank contact, cutoff, rate source, and notes. A new statement import should not overwrite a prior period.
Statement line fields
| Field | Example | Purpose and impact |
|---|---|---|
| Bank transaction ID | BNK-889210 | Duplicate and source key |
| Booking date | 2026-09-16 | Bank posting |
| Value date | 2026-09-16 | Cash availability |
| Amount | AED 180,000 | External cash event |
| Direction | Credit | Receipt/payment behavior |
| Currency | AED | Conversion |
| Counterparty | Al Noor Hospital | Match candidate |
| Bank text | REMIT AR-004281 | Search evidence |
| Reference | AR-2026-004281 | Exact match key |
| Match status | Matched / exception | Reconciliation state |
| Ledger ID | RC-2026-004281 | Internal drill-down |
| Reason | Bank fee / unknown | Exception explanation |
Keep original bank text unchanged. Normalised fields can be added for matching but must not replace external evidence.
Matching rules
Rule fields include priority, reference pattern, amount tolerance, date tolerance, currency, counterparty, account, source type, confidence, and auto-match permission. Exact reference and amount is strongest; amount-only matching is unsafe when duplicates exist.
For a receipt of AED 180,000 with reference AR-2026-004281, match the receipt to the invoice or allocation. A bank fee of AED 250 uses fee mapping. An unknown transfer becomes unapplied with owner and review date.
Auto-match results store rule, confidence, candidates, decision, and timestamp. Manual match records user, reason, evidence, and approval.
Timing differences
Deposits in transit, outstanding payments, card settlements, and bank-cleared but unposted receipts explain legitimate differences. Each timing item records source, amount, expected clearing date, owner, and age. It should clear automatically when a future statement line matches.
An issued supplier payment may be in ledger but absent from bank statement; it remains outstanding, not a duplicate expense. A bank receipt may be present before an AR receipt is posted; import or post the internal event with source evidence.
Fees, interest, and FX
Bank-fee lines include account, date, amount, currency, tax, mapping, and approval. Interest income or charges are separate lines. A USD bank line stores transaction amount, rate, source, date, and functional amount; realised FX applies at settlement, while revaluation covers open balances.
Never force a foreign-currency match by changing the ledger transaction rate. A difference is classified as FX, fee, timing, or error with reason.
Exceptions and corrections
Exception fields include line, type, amount, currency, owner, due date, reason, action, status, evidence, and approval. Types include unknown cash, duplicate ID, amount mismatch, date mismatch, unposted ledger, bank error, chargeback, and stale timing item.
Correct a bank import by reversing or excluding the source line with reason; never edit the original bank statement. Correct a ledger event through its business reversal or adjustment. High-value differences require escalation.
Approval and close
Approval validates statement completeness, matched count, unmatched amount, timing ageing, fees, FX, suspense, and reviewer independence. Close fields include approved by, approved time, difference, threshold, exception list, evidence pack, and period lock.
Once approved, the reconciliation is read-only except for controlled reopen. A reopened reconciliation records requester, reason, approver, scope, and expiry.
API and audit mapping
Statement APIs use account, period, currency, source file/hash, lines, and idempotency key. Matching actions reference statement line ID, ledger ID, rule, amount, and reason. Webhooks such as bank.statement.imported and reconciliation.approved include event ID and correlation ID.
json
{"accountId":"bank_uae_ops_aed","period":{"from":"2026-09-01","to":"2026-09-30"},
"sourceHash":"sha256:...","lines":[{"transactionId":"BNK-889210","valueDate":"2026-09-16",
"amount":"180000.00","currency":"AED","reference":"AR-2026-004281"}]}Audit includes source hash, import, rule, match, unmatch, manual override, journal, approval, reopen, user, request ID, and timestamps.
Practice checklist
Import a statement with exact receipt, partial receipt, bank fee, outstanding payment, unknown transfer, duplicate ID, and USD line. Auto-match safe lines, investigate exceptions, post fee, classify timing, settle FX, approve, and close. Explain every field, precision, owner, rule, status, permission, journal, tax, API ID, and evidence. Then replay the same statement and prove no duplicate receipts or fees appear.
Related: Payment Receipt field guide, Treasury banking day, Journal Entry field guide, Audit and Compliance field guide, and API cookbook.
Reconciliation worksheet
| Control | Field or evidence | Demo value | Pass condition |
|---|---|---|---|
| Scope | Company/account/period | DGV UAE / UAE-OPS-AED / Sep | No cross-company lines |
| Provenance | Source/file hash/import time | CAMT / SHA-256 | Replay is detectable |
| Opening | Bank and ledger opening | 2,400,000 / 2,399,750 | Difference explained |
| Lines | ID/date/value/amount/reference | BNK-889210 | Original bank text retained |
| Matching | Rule/confidence/candidate | Exact reference | Safe auto-match only |
| Timing | Item/age/expected clearing | Deposit in transit | Owner and due date |
| Fees | Account/tax/mapping | AED 250 bank fee | Approved journal |
| FX | Currency/rate/source | USD / dated rate | No manual rate rewrite |
| Exceptions | Type/owner/action/status | Unknown cash | Evidence and escalation |
| Approval | Reviewer/difference/threshold | Treasury manager | Independent sign-off |
Matching decision matrix
| Bank line | Internal evidence | Default | Reason |
|---|---|---|---|
| Exact reference and amount | One open receipt | Auto-match | Strong identity |
| Exact reference, amount differs by fee | Receipt plus fee rule | Review | Separate fee journal |
| Amount only, many candidates | Several invoices | Manual | Avoid false allocation |
| Bank payment, no ledger payment | Approved payment batch | Timing | Await clearing |
| Bank receipt, no AR receipt | Customer/bank proof | Post/import | Create source-linked receipt |
| Unknown transfer | No safe candidate | Exception | Suspense with owner |
| Duplicate transaction ID | Prior imported line | Reject | Idempotency control |
| USD line, open USD ledger | Same account and reference | Match + FX | Preserve rates |
Close and reopen controls
Before approval, reconcile opening plus credits minus debits to closing for both bank and ledger. Report matched count, unmatched count, unmatched value, timing ageing, suspense, fees, FX, and threshold. Approval freezes the reconciliation. A controlled reopen records requester, reason, scope, approver, expiry, and subsequent changes. Reopening should not silently re-import the source file or alter original bank text.