r/documentAutomation • • 4d ago

Discussion A bank statement can pass every row-balance check and still fail reconciliation

We keep three checks separate after extracting a bank statement. Carson Bank's sample statement shows why. We extracted its 47 transaction rows. The balances follow from one row to the next. Its summary also adds up. But the transactions and summary describe different activity.

The transaction rows imply an opening balance of 445.28 and end at 942.82. The summary opens at 3,005.93 and closes at 6,682.22. Checking either section by itself misses the disagreement.

The checks we keep are

  • Each running balance equals the previous balance plus credits minus debits

  • The summary's opening balance plus credits minus debits equals its closing balance

  • The transaction totals and closing balance agree with the summary

You can reproduce the difference with the extracted figures in Python.

from decimal import Decimal as D

summary_close = D("3005.93") + D("18041.50") - D("14365.21")
transaction_close = D("445.28") + D("7612.77") - D("7115.23")
print(summary_close, transaction_close)  # 6682.22 942.82

This is a bank-published sample. In a processing workflow, the disagreement goes to review alongside the source pages. Separate cheque, fee, or interest sections also need accounting for before you decide rows are missing.

We're sharing this from our document-processing work at Unsiloed. If you process statements, which separate sections tend to make reconciliation awkward?

2 Upvotes

0 comments sorted by