The short answer

The Revolut file has 10 columns, dates written as YYYY-MM-DD HH:MM:SS and one signed amount column. YNAB wants a CSV with the columns Date,Payee,Memo,Outflow,Inflow. So the date is rewritten as YYYY-MM-DD, the amount is split into Outflow and Inflow, and the text columns are moved as in the table below.

Paid pack. The Revolut profile is one of the 35 profiles unlocked by a licence (9 US dollars, paid once; see the terms). Without a licence you can still convert this file with the free manual column mapper, using the column table on this page, within the free limit of 25 rows per file.

Open the converter

The converter runs in your browser. Your file is not uploaded.

What the Revolut CSV looks like

Note kept with this layout in the profile data: Ten columns; the date column holds a date and a time. Two independent sources agree on this layout. bank2ynab adds that the format was only confirmed for EUR accounts. File name pattern: account-statement_YYYY-MM-DD_YYYY-MM-DD_....csv. An older Revolut export, kept in the Firefly III gb folder, used semicolons, dates like Mar 5, 2024 and separate money-out and money-in columns; the converter should fall back to manual mapping for it.

What YNAB accepts

The file the converter writes for YNAB: Date,Payee,Memo,Outflow,Inflow
YNAB columnRequired by YNABFilled from the Revolut file
Daterequiredcolumn 3
Payeeoptionalcolumn 5
Memooptionalleft empty
Outflowrequiredcolumn 6, rows that are money out
Inflowrequiredcolumn 6, rows that are money in

From the vendor's help page: "Select that same Amount column for both the Inflow and Outflow fields in the import dropdowns. You don't need to reformat your file or split it into two columns first—YNAB reads positive and negative values from a single column."

Column-by-column mapping

Every column of the Revolut file, left to right, and where it ends up in the YNAB file.

ColumnHeader textWhat it holdsWhere it goes in the YNAB file
1not given by the sourceNot usedNot copied
2not given by the sourceNot usedNot copied
3not given by the sourceTransaction dateDate, rewritten as YYYY-MM-DD
4not given by the sourceNot usedNot copied
5not given by the sourceDescriptionPayee
6not given by the sourceAmount, signed (negative is money out)Outflow when the row is money out, Inflow when it is money in; always a positive number
7not given by the sourceNot usedNot copied
8not given by the sourceCurrencyNot copied
9not given by the sourceNot usedNot copied
10not given by the sourceNot usedNot copied

Pitfalls for Revolut to YNAB

Dates

Amounts and their direction

Other YNAB import rules

Before and after: an invented example

Invented sample data. These four rows were made up for this page. They are not from a real Revolut export and hold no real account, name or balance.

The source gives column positions only, so the headings below are the column number and what the column holds, not the bank's header text. The 6 unused columns of the file are left out of the table.

Before: rows laid out like the Revolut file
3: transaction date5: description6: amount8: currency
2024-03-04 09:15:00COFFEE CORNER MAIN ST-4.50GBP
2024-03-05 09:15:00PAYROLL EXAMPLE CO2500.00GBP
2024-03-07 09:15:00RENT MARCH-1234.56GBP
2024-03-11 09:15:00REFUND EXAMPLE SHOP15.25GBP
After: the same rows as a YNAB file (Date,Payee,Memo,Outflow,Inflow)
DatePayeeMemoOutflowInflow
2024-03-04COFFEE CORNER MAIN ST4.50
2024-03-05PAYROLL EXAMPLE CO2500.00
2024-03-07RENT MARCH1234.56
2024-03-11REFUND EXAMPLE SHOP15.25

Do it by hand in a spreadsheet, free

These steps need no tool from this site. The cell references follow the column positions of the profile above; if your spreadsheet uses semicolons between formula arguments, replace the commas.

  1. Open the Revolut CSV in a spreadsheet program through its import dialog. Set the date column (column 3) to Text so the program does not reinterpret it, and leave the amount columns as numbers.
  2. Row 1 is the header and the transactions start in row 2.
  3. Date: rewrite column C from YYYY-MM-DD HH:MM:SS to YYYY-MM-DD (2024-03-04 09:15:00 becomes 2024-03-04). In a new column, for the first transaction: =MID(C2,1,4)&"-"&MID(C2,6,2)&"-"&MID(C2,9,2) This formula reads the date by character position, so it only works while the dates are text and every date has a two-digit day and month. Fill it down.
  4. Amounts: split the signed column into two positive columns. Outflow: =IF(F2<0,-F2,"") Inflow: =IF(F2<0,"",F2) YNAB's help page also says a single signed column can be selected for both Inflow and Outflow in its import preview, so this step can be skipped there.
  5. Text columns: fill Payee (from column 5); Memo (left empty). Where several bank columns feed one column, join them with a separator such as " - ".
  6. Apply YNAB's own rules from its help page: The vendor states it is no longer necessary to format a CSV file before uploading it; columns are matched to fields with dropdown menus after upload.
  7. Keep only the new columns, put the header row Date,Payee,Memo,Outflow,Inflow on top, save the sheet as a comma-separated CSV, and compare the dates, the direction of the amounts and the number of rows with your statement in YNAB's import preview.

Or use the converter

Load the file, choose the Revolut profile in the bank list and the target YNAB, read the preview, then download. The conversion runs locally in your browser: the file is not uploaded, and only the licence key is sent for unlocking.

Paid pack. The Revolut profile is one of the 35 profiles unlocked by a licence (9 US dollars, paid once; see the terms). Without a licence you can still convert this file with the free manual column mapper, using the column table on this page, within the free limit of 25 rows per file.

Open the converter Licence terms

Where this layout comes from

No bank supplied or approved this layout. It was copied on 5 October 2026 from a public open-source importer file kept by volunteers: firefly-iii/import-configurations, file ie/revolut/default.json

Also read: bank2ynab/bank2ynab, file bank2ynab/data/bank2ynab.conf, firefly-iii/import-configurations, file gb/revolut/default.json

The lines used from the source: "headers": true, "delimiter": "comma", "date": "Y-m-d H:i:s", roles: _ignore, _ignore, date_transaction, _ignore, description, amount, _ignore, currency-code, _ignore, _ignore ; bank2ynab [Revolut]: Input Columns = skip,skip,Date,skip,Payee,Inflow,skip,skip,skip,skip

The YNAB rules come from the vendor's own help pages: support.ynab.com/en_us/file-based-import-a-guide-Bkj4Sszyo (named as text, not linked), support.ynab.com/en_us/formatting-a-csv-file-an-overview-BJvczkuRq (named as text, not linked). The official page was fetched and read on the checked date.

Bank formats change. Banks alter their CSV exports without notice and vendors change their import rules, so this mapping can be out of date. If the preview looks wrong, use the manual column mapper.

Related pages

Revolut to other apps

All banks and apps