Some banks embed carriage returns or newlines inside the description text (a multi-line payee reference, for example). When the CSV is parsed, that line break is read as the end of the row, so one transaction is split in two. It's invisible in a quick look at the file, which is why these reconciliation errors are so hard to trace — they start in the spreadsheet, not in Xero.
Manually, you'd hunt for embedded newlines with a find-and-replace on line breaks inside quoted fields — fiddly, error-prone, and easy to miss in a large file.
StatementFlow cleans description fields on the way through — stripping embedded line breaks and normalising whitespace — so every transaction stays on one row and reconciles cleanly. No hunting through the CSV.
Drop your CSV, pick your bank and accounting software, download a file that imports first time. Free to start, client-side, nothing uploaded.
Get started free →