How to import a CSV from an app we have not met

Not every budgeting app is on our list, and bank statements are not on anyone's. Smart Import reads an unfamiliar file, works out what its columns mean, and shows you the result before anything is saved.

How to bring it in

  1. 1. Export from your app, or download a statement from your bank. CSV and XLSX both work.
  2. 2. Open Money Talks, go to Settings and tap Import Data.
  3. 3. Choose Smart Import, at the top of the list.
  4. 4. Pick the file.
  5. 5. Read the preview closely. This is the step that matters most with an unfamiliar file: check a few rows, and check that expenses are expenses.
  6. 6. Confirm.

The file you need

Smart Import reads CSV and XLSX files, whatever the column names are.

You have the right file if its first line looks like this:

Date,Description,Amount,Currency,Balance
2026-03-15,Coffee shop,-4.20,EUR,812.40

There is no fixed header here. This is one shape among many: what matters is that a date, an amount and ideally a currency are somewhere in the file.

Frequently asked questions

My app is on your list but I picked Smart Import by mistake. Does that break anything?

No. Money Talks looks at the header before it trusts your choice. If the columns match an app it knows, the file goes to that app's reader regardless of what you picked. Smart Import only handles files that genuinely match nothing.

Can I import a bank statement?

Often, yes. A statement with a date column, an amount column and a description imports as a list of transactions. What you will not get is categories, because a statement does not have any, and transfers between your own accounts, because a statement cannot tell those apart from spending. Check the preview before confirming.

How does it know which column is the amount?

It looks at the values rather than the names. A column of money looks like money: consistent decimals, currency symbols, thousands separators, a mix of signs. Where several columns could be amounts, the one that looks most like money down its whole length wins. Names in the header help when they are recognisable, but the content decides.

What if it reads my file wrongly?

The preview exists for exactly that. It shows every row as it will be saved, with the type, amount, currency and category, plus a count of anything skipped and why. Nothing is written until you confirm, so a file that came out wrong costs you a look, not a cleanup.

What comes across from any other app

  • Transactions whose date and amount can be identified with confidence
  • Categories, when a column holds them
  • The currency, either from a currency column or from one repeated down the file
  • The direction of each row, from the sign of the amount or from a separate direction column

What does not come across

  • Transfers between your own accounts - An unfamiliar file gives no reliable way to tell a move between two of your accounts from ordinary spending. Rather than guess, Smart Import leaves them as ordinary rows for you to correct, and never invents a pairing.
  • Running balances - Bank statements often carry a balance column. It is a consequence of the transactions, not a transaction, so it is not imported.
  • Anything the file does not contain - Smart Import can only read what is written down. A statement with no currency column is read in your base currency, which is right if you bank at home and wrong if you do not.

What Smart Import is for

The apps with their own guide are the ones we have taken apart file by file. Smart Import covers the rest: a budgeting app we have not seen, a spreadsheet you keep yourself, or a statement downloaded from your bank.

It reads the file’s columns and works out what each one holds, then shows you the result before saving anything.

It reads the values, not just the names

The obvious approach is to look for a column called Amount. That fails quickly: files come in many languages, banks name things after their own systems, and plenty of exports label a column something like Value or Betrag or nothing recognisable at all.

So the column names are a hint, not the answer. What settles it is the content. A column of money looks like money all the way down: decimal places that stay consistent, currency symbols, thousands separators, a mix of positive and negative. A column of reference numbers does not, however much its name sounds like an amount.

The same goes for currency. Three letters repeating down a column, drawn from the set of real currency codes, is a currency column whatever it is called.

What it will not do

It will not pair transfers. In a file we do not recognise, there is nothing that reliably marks a move between two of your own accounts as different from spending, and inventing the connection would create movements between accounts that never traded. Those rows arrive as ordinary transactions and you correct the few that matter.

It will not invent a currency. If the file does not say, your base currency is used. That is correct for a domestic statement and wrong for a foreign one, which is worth a glance in the preview if you bank abroad.

It will not treat a running balance as a transaction. Bank statements carry one and it is a result, not an event.

Read the preview properly

With an app we know, the preview is a formality. With an unfamiliar file it is the step that does the work.

Look at three things. Do a few rows carry the dates you expect? Are your expenses expenses rather than income? Does the currency look right? Those three cover nearly every way an unfamiliar file can be read wrongly, and nothing is saved until you confirm.

If something is off, the file is not lost. Nothing was written.