How it works: drop a CSV, MT940, OFX, or PDF statement. CSV expects headers on row 1. PDFs are parsed by AI (Ollama by default, switchable to Claude at /Admin/AISettings) β adjust mapping if needed in Step 2 (CSV only), preview in Step 3, Commit in Step 4. Amounts can be a single signed column OR separate Debit + Credit. Common date formats recognised (DD/MM/YYYY, YYYY-MM-DD, etc.).
π₯
Drop a CSV / MT940 / OFX / PDF file here, or click to choose
CSV (headers on row 1) Β· SWIFT MT940 (.sta, .mt940, .txt) Β· Quicken OFX 1.x / 2.x (.ofx, .qfx) Β· PDF (selectable-text bank statements, parsed by AI)
AI is reading the PDFβ¦Ollama on local hardware can take 1-3 min per page. Flip to Claude at /Admin/AISettings for ~10s per statement.
2 Β· Column Mapping β
e.g. "Transaction Date" / "Value Date"
Free-text narration / particulars
Cheque no Β· UTR Β· Ref no. (used as DocumentNo if present)
Either map this OR the Debit+Credit pair below β not both.
Money OUT of account β stored as negative
Money IN to account β stored as positive
Bank semantics: a debit on your account statement is money leaving (we store it as -amount).
A credit is money arriving (+amount).
This matches BC's BankLedgerEntry.Amount convention.
Mapping ready when Date + (Amount OR Debit/Credit) are set