Import a CSV from any bank

Point Budgie at any CSV and map its columns onto Budgie's fields on one screen, or start from a built-in preset and adjust.

No spam, ever. Unsubscribe anytime.

  • Free, no account
  • Works offline
  • Source-available
Budgie Map CSV Columns screen with the Budgie, SmartBudget and FinEye import presets above the To Account, Category, Date, Amount, To Currency and External ID column selectors

One screen does the whole import

Pick a CSV from Settings and Budgie reads its header row, then offers those headers to every field it needs to write a transaction.

  1. Any column order works

    Each field gets its own selector listing the headers found in your file, so nothing depends on the order your bank chose. To Account, Category, Date, Amount and To Currency have to be mapped; the badge in the corner counts the rows Budgie found.

  2. Start from a built-in preset

    Three presets ship with the app — Budgie's own export, SmartBudget and FinEye. Tapping one fills every selector at once and tells you the columns are still yours to adjust.

  3. Optional columns carry the detail

    Map the second account leg and the row lands as a transfer instead of two unrelated entries. Map MCC and the merchant code picks the category. External ID keeps your bank's own reference on the transaction.

Budgie Map CSV Columns screen with the Budgie, SmartBudget and FinEye import presets above the To Account, Category, Date, Amount, To Currency and External ID column selectors
One column per field
Currency read from the file
Presets fill every field
External ID is optional
  1. One column per field
  2. Currency read from the file
  3. Presets fill every field
  4. External ID is optional

CSV import at a glance

3

built-in presetsPick one and every column mapping is filled in one tap.

5

required columns, the rest optionalAccount, category, date, amount and currency are all you must map.

Any

column order worksYou choose which column feeds each field.

See the mapping before you import

Every field shows the column it will read, so you know where each value comes from.

Five fields are required, the rest are optional

A badge counts the rows Budgie found in your file

Read the source
Budgie Map CSV Columns screen with import presets above required column selectors

What you get

Any column order works

Map To Account, Category, Date, Amount and To Currency onto whichever columns your bank exports — your order, not ours

One-tap import presets

Built-in presets for Budgie's own export, SmartBudget and FinEye fill every selector in one tap

Nothing to set up first

Accounts and categories are created from the values in the file — nothing to set up beforehand

Everything included

  • Map both account legs and the row imports as one transfer rather than two unrelated entries
  • Optional MCC, comment and External ID columns carry the bank's own detail into each transaction

The details

For when you want to know exactly how it behaves.

Why CSV is the universal escape hatch

Not every bank has an API, and not every app you are leaving will hand you anything but a spreadsheet. CSV is the universal escape hatch — and Budgie reads it without forcing you into a specific column order.

The importer builds the ledger out of the file: accounts and categories are created from the values it finds, MCC codes resolve to categories, and rows with both account legs become transfers. Dates are read as MM/DD/YYYY HH:MM:SS or YYYY-MM-DD, and amounts use a dot as the decimal separator.

Rows the file leaves without a category are grouped by merchant afterwards, so you can categorize them in bulk instead of one by one.

Guides on the blog

Questions

Will it work with my bank?

If your bank exports CSV, yes — you decide which column feeds each field. Dates need to read as MM/DD/YYYY HH:MM:SS or YYYY-MM-DD, and amounts need a dot as the decimal separator.

Does importing add to what I already have?

No. CSV import rebuilds the ledger from the file: existing accounts, categories and transactions are cleared first. Treat it as the way to move in from another app, not as a monthly top-up.

Does CSV import preserve the original transaction date?

Yes. The column you map to Date becomes the transaction's date, read as MM/DD/YYYY HH:MM:SS or YYYY-MM-DD. A row whose date cannot be read is reported instead of guessed at.

Can I edit transactions after CSV import?

Always. Imported transactions are normal Budgie transactions — edit, split, tag, or convert to transfer just like manual entries.

Ready to take Budgie for a spin?

Join the waitlist — be first to try the offline-first expense tracker.