How to import a Revolut statement
A Revolut statement is easy to read and easy to read wrongly. Three of its columns decide whether your totals come out right, and a reader that ignores them gives you spending that never happened, fees that vanish, and every currency swap counted twice.
How to bring it in
- 1. In the Revolut app open the account, choose Statement, and pick Excel or CSV. Not PDF.
- 2. Set the period to cover everything you want. Revolut will go back as far as the account does.
- 3. Do not tidy the file up. Cancelled rows, fees and exchanges are handled for you, and re-saving a CSV usually rewrites the dates.
- 4. Open Money Talks, go to Settings and tap Import Data.
- 5. Choose Revolut from the list.
- 6. Pick the file, then read the preview. Skipped rows are listed with the reason for each, and an exchange shows as one transfer with both currencies.
- 7. Confirm.
The file you need
Revolut exports one CSV file per account, comma-separated, with a dot for decimals and one row per movement.
You have the right file if its first line looks like this:
Type,Product,Started Date,Completed Date,Description,Amount,Fee,Currency,State,Balance State, Fee and Type are the three that matter. The first says whether the money moved at all, the second holds a charge that is not in Amount, and the third marks the rows that are a swap between your own balances rather than a payment to anyone.
Frequently asked questions
Do cancelled payments end up in my spending?
No. Revolut keeps a State column, and a row marked REVERTED is an authorisation that was reversed: the money left the available balance for a moment and came back. Those rows are skipped on purpose, and the preview tells you how many and why before you confirm. In the 814-row export these rules were measured against there were 13 of them. You do not have to find and delete them yourself.
Are Revolut's fees included in what I spent?
Yes, on the payment that was charged them. Revolut puts the fee in its own Fee column rather than inside Amount, so a purchase of 9.99 with a 0.35 fee cost 10.34. We checked this against 798 balance transitions in a real export: every row carrying a fee moved the balance by the two added together, which is what Money Talks records. In that file 358 rows had a fee, so leaving the column out would have understated the total by a visible amount.
I converted zloty to euro inside Revolut. Is that counted as spending?
No, it comes in as one transfer. Revolut writes an exchange as two rows that share a Started Date, one negative in the currency that left and one positive in the currency that arrived. Read separately they are a spend plus income you cannot explain, for money that never left you. Money Talks pairs them on that timestamp and records one move with both amounts and both currencies, so the rate you got is preserved rather than recalculated later.
I hold three currencies on one account. Does that survive the import?
Yes. Every row carries its own Currency and it is kept. In the export we tested, the same account held USD, PLN and EUR across three and a half years, and each stayed in its own currency instead of being flattened into one. Money Talks converts to your base currency for display, from the real amount, so changing that currency later reconverts rather than converting an old conversion.
Revolut offers me a PDF as well. Can I use that?
Use the Excel or CSV file instead. A PDF describes where ink goes on a page, not which number belongs to which column, so a reader has to infer the table from the spacing and gets it wrong on exactly the rows that are unusual. The CSV is the same data with the columns still labelled.
Is this the same as connecting my bank?
No, and that is the point. Nothing is connected, no login is handed to anyone, and the file goes as far back as your account does rather than the ninety days a connection often starts with. It is a download and an import.
Do I need an account in Money Talks to do this?
No. Import works without signing up. If you do have an account, Settings keeps a Delete last import row that removes the transactions from your most recent import in one tap.
What comes across from Revolut
- Every completed payment with its date and the merchant name Revolut recorded
- Each currency you hold, kept as its own currency instead of converted into one
- The fee, added to the payment it was charged on
- An exchange between your own balances, as one transfer carrying both amounts and both currencies
- The account each row came from, taken from the Product column
What does not come across
- Cancelled payments - Rows whose State is REVERTED are authorisations that were undone, so the money never left. They are skipped on purpose and the preview counts them and says why.
- Payments that had not settled yet - A row in any other state can still change its amount before it lands. It is skipped with its own reason, and exporting again once it settles brings it in.
- Categories - A Revolut statement has none. Money Talks suggests a category per merchant during the import and you correct the ones it gets wrong.
- The running balance - The Balance column is the result of the transactions rather than a transaction, so it is not imported.
- Your Revolut accounts themselves - Each row remembers the Product it came from and the preview lists the names it found. Money Talks does not recreate the accounts or their balances.
Three columns decide whether the numbers are right
A Revolut export looks like the friendliest file in this whole category. One row per movement, ISO dates, a dot for decimals, English column names. Nothing about it looks like it needs explaining.
Then you read it as an ordinary list of payments and three things go wrong at once, none of which raises an error. That is what makes them worth naming.
We measured all three against a real export: 814 rows, three and a half years, one account holding three currencies.
A reverted row is money that never left
State is COMPLETED for the rows that happened. REVERTED marks an
authorisation that was undone: a hotel hold released, a payment the merchant
never claimed, a card check at a fuel pump.
The money left your available balance for a while and came back. There is no transaction there to record, and importing one gives you a month that looks worse than it was. Those rows are skipped, and the preview says how many and why rather than quietly dropping them. In our file there were 13.
A row in some other state is a different case: it had not settled when you exported, and its amount can still change. That one is skipped too, but with its own reason, because exporting again later will bring it in. A reverted row never will.
The fee is charged on top, not taken out
Amount is what the merchant got. Fee is what Revolut charged you for the
privilege, and it sits in its own column.
That is the opposite of what most statements do, so it is worth being sure rather than assuming. In our export, 798 rows carried a balance both before and after, which gives 798 chances to check the arithmetic: every row with a fee moved the balance by the amount and the fee together. A 9.99 charge with a 0.35 fee cost 10.34.
358 of 814 rows had a fee. Ignore the column and your spending is understated on nearly half your history, by a number nobody would spot without adding it up. Money Talks puts the fee on the payment that caused it, where it belongs.
An exchange is one move, not two
When you convert between your own Revolut balances, the statement writes two
rows sharing a single Started Date: one negative in the currency that left,
one positive in the currency that arrived. The description on both reads
something like Exchanged to EUR.
Read them as ordinary rows and you get a spend and an unexplained income for the same money. Your expenses go up, your income goes up, and neither number is true. There were ten such rows in our file, which is five moves.
Money Talks pairs them on the timestamp and records one transfer holding both sides: what left, in its currency, and what arrived, in its. The gap between the two is the rate you were given that day, so it is kept rather than reconstructed from a rate table months later.
If the pairing is ever ambiguous, the row is skipped and marked rather than guessed at. A wrong pairing invents a move between two balances that never traded, which is worse than a gap you can see.
Currencies stay currencies
The one thing a multi-currency account cannot survive is being flattened. If your euro spending, your zloty spending and your dollar spending all become one number in one currency, the history is no longer about what you did.
Every row keeps the Currency it came with. Money Talks stores the original
amount and converts for display, so switching your base currency later
reconverts from what you actually paid.
What the statement still cannot tell you
It has no categories, because Revolut’s own labels are not in the export. Money Talks suggests one per merchant during the import and you fix the ones it gets wrong. For a year of history that is a few minutes, and it is the only manual part.
It also cannot see your other banks. A transfer out to an account somewhere else is a payment as far as this file is concerned, because from Revolut’s side that is all it is.