Extraction is only trustworthy if it can be checked. Where a statement states an opening and closing balance, Karchu checks its own extraction against the statement's own arithmetic.
opening_balance + sum(credits) - sum(debits) ~= closing_balanceWhat a mismatch reports
- Expected closing balance, computed from the extracted rows
- Closing balance as printed on the statement
- The difference, signed
- Candidate missing transactions, where a gap in the running balance points at one
- Candidate duplicate transactions, where a repeated row would explain the difference
- A document status of requires_review rather than completed
Statement reconciliation requires review.
Expected balance 4,218.44
Extracted balance 4,278.43
Difference -59.99
Likely cause: one debit of 59.99 on page 3 was not read.Limits
- A statement with no stated balances cannot be reconciled, and the check is skipped rather than faked
- Reconciliation checks arithmetic, not authenticity
- A reconciled statement is still subject to per row confidence and review