Home Budget
Analytics
EN

Resources

Import a bank statement CSV into a budget app

A CSV export is the most flexible way to get a bank statement into Home Budget Analytics, because almost every bank offers one. The app does not need to know your bank in advance: you tell it which column is which, save that choice under a name, and pick it again on the next upload. This page walks through what you will see and the usual ways a CSV goes wrong.

What happens when you upload a CSV

Upload a .csv or .txt file of up to 20 MB on the statement upload page. If the layout is one the app already knows (Monobank's, for example), the transactions are read straight away. For everything else a mapping screen opens, and you describe the file once.

The mapping screen asks for four things: the date column, the description column, the amount, and the currency. Nothing is guessed about the meaning of your columns, which is why the same flow works for a bank in Poland, Mexico or the US. For the complete screen-by-screen guide, see [how CSV import works](/csv-import).

The four things you map

FieldYour options
DatePick the column and its format: day/month/year, month/day/year, or Auto
DescriptionPick the column holding the merchant name or transaction text
AmountEither one signed column, or separate debit and credit columns
CurrencyEither one code for the whole file (such as EUR), or a column that holds the currency per row

From file to saved mapping

The first CSV from a new bank takes a couple of minutes. After that it is mostly picking from a list.

  1. 1

    Export the CSV from your bank

    Choose the widest date range your bank allows. Several months in one file is fine, and overlapping files from earlier exports are handled safely.

  2. 2

    Upload and open the mapping screen

    Upload the file. If the layout is not already recognized, the mapping screen shows up and you assign the date, description, amount and currency.

  3. 3

    Choose signed or debit/credit amounts

    If one column holds negative numbers for spending and positive for income, use the single signed column. If your bank prints money out and money in in two separate columns, switch to debit and credit and pick both.

  4. 4

    Save the mapping with a name

    Name it after the bank or account, for example "Bank X current account". On later uploads the mapping screen still appears, but you choose the saved mapping from a list instead of matching columns again. It is a shortcut, not a fully hands-off import.

Common CSV pitfalls

Most failed first imports come from one of these:

  • Ambiguous dates. A value like 03/04/2026 is 3 April in day/month/year and 4 March in month/day/year. If your bank uses slashes and the months look wrong after import, set the date format explicitly rather than leaving it on Auto.
  • Debit and credit in separate columns. If every amount comes out as spending, or income is missing, you have probably mapped one signed column when the file has two. Switch the amount setting.
  • Mixed currencies. A multi-currency card statement often has a currency column. Map that column instead of typing one code, so each transaction keeps its own currency.
  • Extra rows above the header. Some banks add account details or a title before the column names. Remove those lines in a text editor or spreadsheet before uploading, so the first row is the header.
  • Decimal commas and thousands separators. Check a few imported amounts against your bank's own figures after the first upload, and fix the file if they look off.

Common questions about CSV import

Is it safe to import the same CSV twice?

Yes. Re-importing the same statement or an overlapping date range is safe. Duplicates are detected by date, merchant, amount and currency and skipped, so only new transactions are added.

Do I have to map the columns every time?

No, but the mapping screen still appears. Once you have saved a mapping, you pick it from a list on later uploads from the same bank.

What if my bank also offers OFX or CAMT.053?

Use them if you can. OFX/QFX and CAMT.053 are recognized without a mapping step. CSV is the fallback that works for any bank.

Does the CSV need a specific currency column?

No. You can type one currency code for the whole file or point at a column that has it. Every transaction keeps its original currency and is converted to your home currency at the rate for its date.

Import your first CSV

Upload a statement, map it once and see where the money went. 14-day free trial, no card required.

Start your free trial