v4.1.0 9 February 2026 Feature
CSV Bank Statement Import
Bank Statement Import
Upload a CSV file from your bank and SpeyBooks will parse it, detect duplicates, and create transactions automatically.
- 4-step import wizard — Upload, Map Columns, Preview, Confirm. Each step validates before moving on.
- NatWest format support — auto-detects columns from NatWest CSV exports including date, description, amount, and balance. Additional UK bank formats coming soon.
- Preview with running balances — review every row before committing, with total in/out summaries and date range at a glance.
- Duplicate detection — matches against existing transactions by date and amount to flag potential double-imports. You choose what to include.
- Zero-amount filtering — rows with £0.00 amounts are automatically skipped during import.
- Double-entry posting — each imported row creates a proper journal entry against the Suspense account (9999), ready for you to categorise into the correct expense or income accounts.
- Import history — every upload is tracked with row counts, date ranges, and completion status.
Bug Fixes
- Fixed a database connection initialisation bug that could cause intermittent query failures on new pool connections.
- Fixed API key authentication failing under certain conditions after server restart.
- Corrected status values in the import pipeline to match database constraints.
- Fixed column references in the import confirmation flow to align with the transaction schema.
Known Issues
- Transaction detail page only renders one journal line instead of both legs — the data is correct, this is a display bug.
- Imported transactions need a categorisation workflow to move them from Suspense to the appropriate expense or income accounts. This is the next priority.
- Additional bank formats (Starling, Monzo, HSBC, Lloyds) are planned for a future release.