Bank Imports
The bank import pipeline ingests CSV bank statements, auto-detects their schema using the Universal Import Engine (UIE), and creates double-entry transactions for each row.
The workflow has three stages: upload (parse and preview), confirm (create transactions), and optionally remap (override auto-detected column mapping). Each stage returns rich metadata including duplicate detection, balance proof, and categorisation suggestions from the rules engine.
The UIE engine (TMADD 3.0) supports all major UK bank formats including Starling, NatWest, HSBC, Monzo, Barclays, Lloyds, Halifax, Tide, and Revolut. It handles single-column amounts, dual debit/credit columns, sign-flipper patterns, and various date formats. Schema detection produces a provenance level: LOCAL (auto-detected), VERIFIED (matched a known bank preset), or USER_CORRECTED (after manual remap).
During confirm, each row is run through the categorisation rules engine. Matched rows are posted to the suggested account; unmatched rows go to the Suspense account (9999) for manual categorisation. Duplicate rows (matching date, description, and amount from previous imports) are flagged for review.
All monetary values are in minor units (pence). File uploads are limited to 5MB CSV files.
Endpoints
https://app.speybooks.com/api/v1/bank-imports/ List bank imports POST https://app.speybooks.com/api/v1/bank-imports/upload Upload bank statement GET https://app.speybooks.com/api/v1/bank-imports/{id} Get bank import details DELETE https://app.speybooks.com/api/v1/bank-imports/{id} Delete a bank import POST https://app.speybooks.com/api/v1/bank-imports/{id}/confirm Confirm bank import POST https://app.speybooks.com/api/v1/bank-imports/{id}/remap Remap bank import columns