Extract data from bank reconciliations
Two numbers describe the same account and rarely match on the day the books close: the balance the bank reports and the balance in the company’s general ledger. A bank reconciliation is the working paper that explains the gap and proves the two tie once outstanding items clear. It is not the bank statement itself. Where a statement lists transactions, a reconciliation carries the statement balance, the book balance, the variance between them, and the adjustments (outstanding checks, deposits in transit, bank fees, interest) that account for the difference, so an auditor can trust the cash figure on the balance sheet. The reconciliation only closes when the difference is fully explained. A month-end reconciliation for Lumière Retail SA at BNP Paribas, period ending 2026-06-30 in EUR, might show a bank statement balance of 152,340.00, a book balance of 148,115.00, and a reconciliation_variance of 4,225.00. That 4,225.00 EUR gap resolves into a 6,500.00 EUR outstanding check that the bank has not yet paid and a 2,275.00 EUR deposit in transit not yet credited, so the reconciled_balance of 148,115.00 EUR matches the ledger. The underlying transactions follow ISO 20022 camt.053 conventions, each carrying a booking date, a value date, a credit or debit indicator (CRDT or DBIT), and a bank transaction code, so the running balance can be rebuilt from the opening balance. Set against the reconciliation schema, the working paper returns the account identity, the statement and book balances, the variance, and the reconciled balance as fields, while the bank transactions and the reconciliation adjustments stay as tables. Dropped into a close checklist, a reconciliation whose 4,225.00 EUR variance nets to zero after adjustments lets a controller read the variance and its explanation from structured fields rather than re-adding a spreadsheet.
What gets extracted from bank reconciliations
How extraction works for bank reconciliations
A reconciliation reaches the close team as a spreadsheet export, a system-generated PDF, or a scanned working paper, and the statement balance, the book balance, and the adjustments sit in a layout that differs by accounting system. Tied to the reconciliation model in the Field Registry, the document has opening_balance, closing_balance, book_balance, reconciled_balance, and reconciliation_variance typed as numbers in the account currency, with the header, the bank transactions, and the adjustments kept as distinct structures. It checks the reconciliation logic: the reconciliation_variance equals bank_statement_balance less book_balance, and the reconciliation_adjustments (outstanding checks, deposits in transit, fees) net to that variance so the reconciled_balance ties to the ledger. Transactions follow ISO 20022 camt.053 conventions, so each entry’s booking_date, value_date, credit_debit_indicator, and running_balance are captured and the running balance is rebuilt from the opening balance. Behind each figure sits a confidence score and a source-region pointer under DIN SPEC 91491, so a controller can open the variance, land on the outstanding check that explains it, and sign off the cash position.
Sample extraction
A month-end bank reconciliation with adjustments
{
"document_number": "REC-2026-06",
"document_date": "2026-07-02",
"period_end_date": "2026-06-30",
"statement_period_start": "2026-06-01",
"statement_period_end": "2026-06-30",
"bank_name": "BNP Paribas",
"bic": "BNPAFRPP",
"iban": "FR7630006000011234567890189",
"bank_account_number": "0011234567",
"account_holder.name": "Lumière Retail SA",
"currency": "EUR",
"opening_balance": 145600,
"closing_balance": 152340,
"bank_statement_balance": 152340,
"book_balance": 148115,
"reconciliation_variance": 4225,
"reconciled_balance": 148115,
"balance_credit_debit_indicator": "CRDT",
"prepared_by": "Camille Laurent",
"reviewed_by": "Olivier Marchand",
"reconciliation_status": "Reconciled",
"note": "Statement 152,340.00 less outstanding check 6,500.00 plus deposit in transit 2,275.00 = reconciled 148,115.00, matching the ledger; variance 4,225.00 fully explained",
"bank_transactions": [
{
"entry_reference": "E-4471",
"booking_date": "2026-06-18",
"value_date": "2026-06-18",
"amount": 12000,
"currency": "EUR",
"credit_debit_indicator": "CRDT",
"bank_transaction_code": "PMNT",
"payment_reference": "Card settlement batch",
"running_balance": 157600
},
{
"entry_reference": "E-4489",
"booking_date": "2026-06-27",
"value_date": "2026-06-28",
"amount": 5260,
"currency": "EUR",
"credit_debit_indicator": "DBIT",
"bank_transaction_code": "PMNT",
"payment_reference": "Supplier payment INV-8842",
"running_balance": 152340
}
],
"reconciliation_adjustments": [
{
"adjustment_id": "A1",
"adjustment_type": "outstanding_check",
"amount": 6500,
"description": "Check 20418 issued, not yet cleared",
"adjustment_date": "2026-06-29"
},
{
"adjustment_id": "A2",
"adjustment_type": "deposit_in_transit",
"amount": 2275,
"description": "Deposit lodged 2026-06-30, credited 2026-07-01",
"adjustment_date": "2026-06-30"
}
]
}Frequently asked
How is a bank reconciliation different from a bank statement?
A bank statement is the bank’s list of transactions and balances. A reconciliation is the working paper that ties that statement to the company ledger, carrying the book balance, the variance, and the adjustments that explain the gap. Talonic reads each on its own schema.
Does it check that the variance is fully explained?
Yes. The reconciliation_variance is verified to equal bank_statement_balance less book_balance, and the adjustments are checked to net to that variance, so a 4,225.00 EUR gap explained by a 6,500.00 EUR outstanding check and a 2,275.00 EUR deposit in transit is confirmed to tie out.
Does it follow a banking standard for the transactions?
Yes. The transactions follow ISO 20022 camt.053 conventions, so each carries a booking date, a value date, a credit or debit indicator (CRDT or DBIT), a bank transaction code, and a running balance rebuilt from the opening balance.
Can it handle a scanned or spreadsheet-exported reconciliation?
Yes. Whether the reconciliation is a system PDF, a spreadsheet export, or a scan, the header balances and the two tables are extracted with a confidence score and a source-region pointer on every figure for review.
Ready to extract from your own bank reconciliations?
Author note
Reviewed by Talonic engineering, finance schema review · last reviewed 2026-07-09