Workflow Automation · Read + Write

Bank statement reconciliation

Automate Rep · High Reason · Medium

The problem

Finance reconciles thousands of bank transactions to GL entries every month-end. Manual matching by ref + amount + date is tedious; close-cycle slips.

The AI approach

Match bank txns to GL entries by ref/amount/date with tolerance; LLM proposes candidate match for unstructured memos; rules auto-clear; exceptions to finance.

The outcome

~92% auto-cleared

Month-end close from 5 days → 2 days. Finance reviews only the 8% exceptions instead of every line.

Try itInput → Process → Output

Input — bank txns + GL entries
Bank txns · 4
2026-04-30 INV-7710−84,200
2026-04-29 SAL-6612+12,450
2026-04-28 TFR-INTL−5,820
2026-04-27 XFER-...A4−1,030
GL entries · 4
AP · INV-7710 Tipa V−84,200
AR · SAL-6612 Maxx+12,450
FX-loss adj−5,840
(unmatched)
Process — AI pipeline
1Extract bank txns + GL entriesReadSymbolic
2Apply exact-match rulesRulesSymbolic
3Fuzzy-match remaining (memo)ReadGenerative
4Auto-clear or queue exceptionWriteSymbolic
Output — matched + exceptions
Click Run demo to apply the matching rules and clear what fits.
Match results 3 cleared · 1 exception
Bank txnGL matchHow
INV-7710 · 84,200AP · INV-7710exact ref
SAL-6612 · 12,450AR · SAL-6612exact ref
TFR-INTL · 5,820FX-loss adj · 5,840fuzzy + tolerance ±25
XFER-...A4 · 1,030(none in GL)memo opaque→ exception
Auto-cleared 3/4 (75% on this sample · ~92% across full month). Exception XFER-...A4 queued for finance — likely a personal transfer mis-routed to the company account; LLM suggests checking with bank.

Three AI types in this use case

SymbolicMatching rules (ref equality; amount within ±1฿; date ±3 days); GL coding rules; auto-clear thresholds; FX adjustment policies.
PredictiveString similarity / fuzzy match scoring on memos; memo categoriser (transfer / fee / payment / refund).
GenerativeLLM proposes probable match for unstructured memos ("XFER-XXXX from MR.SOMCHAI" → match to invoice INV-7710 on date proximity).

The stack

  • Bank feed · OFX / API / CSV
  • GL extract · ERP
  • Rules engine · per-policy
  • LLM · for fuzzy candidates

When this works

  • Bank provides clean transaction data with refs
  • GL is current (closing cycle is well-defined)
  • Tolerance bands codified, not in someone's head
  • Finance reviews the exception queue

When it fails

  • Bank memo too cryptic (just "TFR")
  • Split transactions — one bank entry → many GL
  • Mid-month transfers between own accounts
  • FX gain/loss eating tolerance band