Actual Budget / Firefly III

“My bank CSV will not map correctly in Actual Budget”

Self-hosted budgeting apps hand you the mapping controls rather than guessing, which is the right trade — but it means the file has to be clean enough for the mapping to make sense. Most import trouble here is a file problem wearing a mapping-problem costume.

Symptoms

  • The mapping screen shows one giant column instead of several
  • Dates import as text, or every date lands on the same day
  • Spending appears as income because the sign convention is inverted
  • Half the file imports and the rest is silently skipped

What actually causes it

Cause 1

Semicolon delimiters

European exports separate columns with semicolons. The importer sees a single column, so no field can be mapped to anything.

Cause 2

A blank row inside the data

Several importers stop reading at the first blank line, which is why exactly the first part of a file imports and the rest vanishes without an error.

Cause 3

Separate debit and credit columns

These apps expect either one signed amount or an explicit mapping of the two columns. Choosing wrong inverts every transaction rather than failing loudly.

Cause 4

Preamble rows above the header

Account name and date-range lines before the header push the real column names into the data area.

How to fix it

  1. Drop the CSV into the checker below. Delimiter, blank rows, byte-order marks and misaligned lines are all reported, and the first three are repaired in place.
  2. Delete any preamble rows so the header is the first line.
  3. Import the repaired file and map the columns deliberately, especially outflow/inflow — a wrong choice here is silent.
  4. Check the first few transactions against your bank before importing the rest of the year.

Skip the manual edit — fix it automatically

Everything runs in your browser, which matters more than usual for this audience — self-hosting a budget app and then uploading the statement to a stranger's server would defeat the point. Free, no signup, no upload.

Open the fixer

Your file never leaves your browser.