Bank Reconciliation

Import bank statements, auto-match transactions against your books, and reconcile the difference between bank balance and book balance.

Importing Statements

Navigate to Bank → Import Statement.

Supported Formats

  • CSV — Most banks provide this. Sally auto-detects column layout (date, description, debit, credit, balance) using heuristic column-name matching.
  • OFX — Open Financial Exchange format (used by some banks and aggregators)

Upload Flow

  1. Select the bank ledger (which bank account this statement belongs to)
  2. Upload the file (drag-and-drop or click)
  3. Sally parses the file and creates statement lines
  4. Review the parsed transactions (date, description, amount)
  5. Trigger auto-matching

Auto-Matching Algorithm

Sally's matching engine scores each bank line against your existing voucher entries and payments.

Scoring Criteria

CriteriaScore
Exact amount + same date1.00
Exact amount + within 3 days0.85
Exact amount + within 7 days0.65
Exact amount + within 14 days0.50
Amount within ₹1 (rounding diff)−0.05 penalty
Reference string exact match+0.15
Reference token in description+0.10
Narration word overlap+0.05

Threshold: Lines scoring below 0.55 remain unmatched.

Conflict resolution: If two bank lines try to match the same voucher, the higher-scoring one wins. Each voucher can only be used once.

Match Statuses

  • UNMATCHED — No corresponding entry found in your books
  • MATCHED — Auto-matched by the algorithm (above threshold)
  • MANUALLY_MATCHED — You overrode the match or matched it yourself

Manual Reconciliation

For unmatched lines, you can:

  • Accept a suggestion — If the algorithm suggests a match (below confidence), accept it
  • Pick a different voucher — Search and select the correct entry manually
  • Create a new voucher — If the bank transaction has no corresponding book entry, create one on the spot
  • Unmatch — Revert a previously matched line back to unmatched

Statement List Page

The main bank page (/bank) shows:

  • Summary cards — Total statements imported, unmatched lines, auto-match accuracy %
  • Statements table — Bank name, file name, period, total lines, matched count (with progress bar), import date
  • Sortable columns — Sort by any column
  • Pagination — Server-side pagination

Reconciliation View

Click into a statement to see the detailed reconciliation view:

  • Statement balance — As reported by the bank
  • Book balance — From your voucher entries on that bank ledger
  • Difference — The unreconciled amount
  • Line-by-line list — Each bank transaction with match status, confidence score, and matched voucher reference