All posts
feature multi-currency budgeting import

Import Transactions from CSV or OFX Into Your Budget in Seconds

Switching budgeting apps or tracking expenses from a bank that doesn't have an API? Tallyroot now lets you import transactions from CSV and OFX files — with smart column mapping, duplicate detection, and multi-currency support.

Máté Németh ·

You just switched to a new budgeting app. You’ve got three months of transaction history sitting in a CSV export from your bank. Now you’re staring at a blank budget wondering if you really have to re-enter everything by hand.

You don’t.

Tallyroot now supports importing transactions directly from CSV and OFX files. Upload your bank export, map the columns, preview what’s coming in, and confirm. Your transactions land in the right account, ready to be allocated to budget categories like any other entry.

Why file import matters for budgeting

There are two moments when you desperately need a file import:

Switching from another app. You’ve been using YNAB, Actual Budget, or a spreadsheet. You want to move to something that handles multiple currencies properly, but you don’t want to lose months of history. Export from your old tool, import into Tallyroot.

Banks without API access. Not every bank offers a direct connection. Smaller banks, credit unions, and neobanks in Europe often only give you a downloadable CSV or OFX file. If your bank gives you a file export — that’s all you need.

Backfilling after setup. Maybe you’ve been using Tallyroot for a week but want to pull in last month’s transactions from before you connected your accounts. Download the file from your bank’s portal, import it, and your budget has the full picture.

How it works

The import wizard walks you through four steps. The whole process takes under a minute.

Step 1: Upload your file

Pick the account you want to import into, then drag and drop your CSV or OFX file. OFX files (the standard format most banks offer) are parsed automatically — no configuration needed.

For CSV files, the system reads the first few rows and shows you a preview so you can set up the column mapping.

Step 2: Map columns

Every bank exports CSV files differently. Some put the date in column A, some in column C. Some use a single “Amount” column, others split it into “Debit” and “Credit.”

The mapping step handles all of this. You tell Tallyroot which column is the date, which is the amount (or debit/credit pair), and optionally which columns hold the description, merchant name, and reference ID.

Save your mapping as a template. If you import from the same bank regularly, save the column mapping so you never have to set it up again. Next time, pick the template and skip straight to the preview.

Step 3: Preview and select

Before anything touches your budget, you see every transaction that will be imported. Each row shows the date, amount, description, and whether it’s an expense or income.

Duplicates are flagged automatically. If a transaction already exists in your account (matched by external reference ID or by date + amount), it’s marked with a warning badge and deselected by default. No accidental double-counting.

You can select or deselect individual transactions, or use the bulk toggles to select all, deselect all, or select only new (non-duplicate) entries.

Step 4: Confirm

Hit confirm and the selected transactions are created in your account. You’ll see a summary: how many were imported, how many were skipped. From here, they show up in your transaction feed and can be allocated to envelopes like any other transaction.

Multi-currency imports work the way you’d expect

If you’re budgeting across currencies — say you earn in CHF, spend in EUR, and budget in HUF — the import respects your account’s currency. Transactions imported into a EUR account are recorded in EUR. The multi-currency conversion to your base budget currency happens automatically, the same way it does for synced transactions.

This is particularly useful for expats and remote workers who deal with multiple income currencies. You can import statements from banks in different countries, each into the right currency account, and your budget stays unified.

CSV and OFX: what’s the difference?

OFX (Open Financial Exchange) is a standardized format used by most banks for downloadable statements. Because it has a fixed structure, Tallyroot parses it automatically — no column mapping needed. If your bank offers OFX or QFX downloads, this is the easiest path.

CSV (Comma-Separated Values) is a plain text format. Every bank exports it slightly differently, which is why the column mapping step exists. CSVs are more common for exports from budgeting apps, spreadsheets, or banks that don’t support OFX.

Both formats work. If your bank offers both, OFX is usually faster since it needs no configuration.

Saved templates for repeat imports

If you import from the same bank every month, you shouldn’t have to map the columns every time. The template system lets you save a named mapping (e.g., “Revolut EUR” or “UBS CHF Statement”) and reuse it on future imports.

Templates are stored per workspace, so if you’re budgeting as a couple with shared accounts, both members see the same saved templates.

Duplicate detection keeps your data clean

The import wizard checks every incoming transaction against what already exists in the target account. If a match is found — either by the bank’s reference ID or by a date-and-amount combination — the row is flagged as a potential duplicate.

Duplicates are highlighted in the preview table and deselected by default. You can still import them if you know they’re distinct transactions, but the default behavior prevents the most common mistake: importing the same bank statement twice.

Switching to Tallyroot from another budget app

If you’re coming from YNAB, Actual Budget, or any tool that lets you export transactions as CSV, the import flow is your migration path. Export your history from the old tool, map the columns once, and bring everything over.

Combined with Tallyroot’s envelope budgeting system and native multi-currency support, you get the budgeting methodology you’re used to — without the currency limitations that may have pushed you to switch in the first place.

Get started

Head to the Import page in your Tallyroot sidebar, pick an account, and drop a file. Your first import takes under a minute. If you’re importing from the same bank again, it’ll take about ten seconds.