Import your bank statement as CSV.
In Jeff Banks you open your bank's page, pick the CSV file you downloaded from its website, and every row becomes a movement.
Date,Value date,Description,Amount2026-09-21,2026-09-22,CARD BAKERY,-4.802026-09-19,2026-09-19,ELECTRICITY,-58.122026-09-15,2026-09-15,SALARY,1850.00What the file needs.
Jeff Banks takes the first row as the header, with each column's name, and every row under it as one movement. If there are lines above the header with the account holder or the account number, delete them before uploading. Columns can be separated by commas or by semicolons.
The date and the amount are required. The currency and the movement type are used when they are there. So is the description, and with no description column, the first column left over is used instead.
The columns it recognizes.
Each name on the list is looked for inside the column's name, in capitals or not, so “Posting date” counts as a date. The type is the exception, because its column must be named exactly like one of its names.
If the file has both the operation date and the value date, the operation date counts, and the value date is used only when there is no other. A column already read as the date, the type or the description is never taken as the amount, even when its name contains an amount word such as “valor” or “movement”. And “Movement” or “Movimiento” is the amount only when no other column is.
- Date
- date
- fecha
- booking_date
- started date
- completed date
- fecha operación
- f. operativa
- f.operativa
- Value date, if there is no other date
- f. valor
- f.valor
- fecha valor
- value date
- Amount
- amount
- importe
- cantidad
- monto
- valor
- Amount, if no other column is
- movement
- movimiento
- Description
- description
- descripción
- concepto
- concept
- detalle
- referencia
- remittance
- narrative
- Currency
- currency
- divisa
- moneda
- Type, with the exact name
- type
- tipo
- tipo de movimiento
- tipo movimiento
- transaction type
How dates are read.
A date in figures that does not start with the year is read day first. So 03/04/2026 is April 3. It is read month first only when the day cannot come first, as in 03/25/2026. Those that start with the year are read as written, a two-digit year gets 20 in front, and a time such as 10:30 after the date is ignored. A date the calendar does not have, such as 31/02/2026, keeps that row out.
| Written | Read as |
|---|---|
| 03/04/2026 | April 3, 2026 |
| 03/25/2026 | March 25, 2026 |
| 31-12-2026 | December 31, 2026 |
| 31.12.26 | December 31, 2026 |
| 2026-09-21 | September 21, 2026 |
| 21/09/2026 10:30 | September 21, 2026 |
| 31/02/2026 | Not imported |
Amounts and their sign.
The amount is read from a single column, with its sign. Negative is money going out and positive, money coming in. The minus can go before or after the number, and a number in brackets also counts as negative.
When the amount has both a dot and a comma, the last of the two marks the decimals. When there is only one kind of separator and each one is followed by three digits, they mark thousands, so 1.234 is read as 1,234. Beside the number there can be €, $, £ or a three-letter code in capitals, such as EUR, and it reads the same. With any other letter, as in 12abc, the row is not imported.
| Written | Read as |
|---|---|
| 1.234,56 | 1,234.56 |
| 1,234.56 | 1,234.56 |
| 1.234 | 1,234 |
| 12,35 | 12.35 |
| -12,35 | -12.35 |
| 12,35- | -12.35 |
| (12,35) | -12.35 |
| 12,35 € | 12.35 |
| 12abc | Not imported |
If you upload the same statement twice.
Each row is checked against the movements that bank already has, and when the date, the amount and the description match, it is skipped. Capitals in the description make no difference. The same line in another bank's statement is another movement, and it goes in. If the file itself has two identical rows, such as two metro tickets at the same price on the same day, both go in.
Movements in other currencies.
The currency column sets each row's currency. It understands codes such as EUR or USD, and also €, £, US$ or the word “Euros”, and a currency it does not recognize keeps that row out. If the file has no currency column, everything goes in euros, even when an amount carries another symbol, as in “12,35 $”. Each currency's totals are kept apart.
What you see when it finishes.
When it finishes, the bank's page says how many movements went in, how many were already there and how many had an error. A row that could not be read stays out and the rest go in. In the bank's list, the new movements already have a cleaned-up description and a category you can change.
Bank's description: COMPRA TARJ. 5540XXXXXXXX1234 MERCADONA VALENCIA
-€91.05Mercadona
Bank's description: ADEUDO SEPA IBERDROLA CLIENTES S.A.U.
-€63.44Iberdrola
Bank's description: TRANSFERENCIA DE GRUPO LEVANTE LOGISTICA SL CONCEPTO NOMINA
+€2,450.00Grupo Levante Logistica
If your bank has no CSV.
A PDF cannot be imported, because Jeff Banks only reads CSV files. With an Excel file, use “Save as” in Excel and choose the “CSV UTF-8” format, which keeps accented letters.
Every bank names this option its own way and changes its screens now and then, which is why there are no per-bank steps here. On its website, look for where to download or export the account's movements.
Questions
Can I upload a statement that overlaps the last one?
Yes. The movements that bank already has are skipped and only the new ones go in, so the file can start a few days before what you already uploaded.
What do I do when a row fails?
The bank's page shows the rows that did not go in, with their number and the reason, and counts any beyond five. Fix those cells in the file and upload the whole file again. The rows that went in before stay as they were, and only the missing ones are added.
What if my columns are named differently?
In the file, rename the column to one of the names on the list, such as “Date” or “Amount”, and upload it again. If the date or the amount is missing, no row goes in, and the bank's page shows the headers it found in the file.
Can I import my credit card?
Yes, like any CSV with a date and an amount. Check the sign of the purchases first, because if the file lists them as positive, Jeff Banks reads them as money coming in.
Is CSV import in every plan?
Yes, in all of them. On Free you can have 1 bank, and on Premium up to 10.
The beta is invite-only.
Leave your email and we'll send you an invitation when a spot opens up.
