How FinControl Handles Bank Statement Imports: Encodings, OFX, and Duplicates
The developer behind FinControl, a Next.js and Supabase personal finance app, found that bank statement import was the most time-consuming feature to build. Banks export files inconsistently, with differing character encodings, OFX versions, number formats, and date conventions. The approach described includes falling back from UTF-8 to Windows-1252 for decoding, parsing OFX 1.x and 2.x without a full XML parser, and inferring day-first or month-first dates from the whole file. Duplicate detection keys on date, type, amount in cents, and normalized description, counting occurrences so identical same-day transactions are not wrongly skipped. All processing runs in the browser, and users review an editable preview before anything is saved.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in