The short answer
The Halifax file has 9 columns, dates written as DD/MM/YYYY and separate debit and credit columns. The CSV written for Wave has the columns Date,Description,Amount. So the date is rewritten as MM/DD/YYYY, the amount is written as one signed number, and the text columns are moved as in the table below.
Paid profile. The free manual column mapper works for any bank, this one included, but the free version writes only the first 25 converted rows of a file. The 9 USD one-time licence adds the ready-made Halifax profile (one of the 35 paid profiles) and removes the 25-row limit. The column table on this page is free to read and can be used to fill in the manual mapper.
The converter runs in your browser. Your file is not uploaded.
What the Halifax CSV looks like
- Country: United Kingdom.
- Account type: not stated by source (config file is named default).
- Header row: yes, one row before the first transaction.
- Columns: 9, separated by commas.
- Date format: DD/MM/YYYY, for example 04/03/2024 (the source writes it as d/m/Y).
- Amounts: separate debit and credit columns. Evidence for the direction: it is inferred from the role the open-source importer gives the column; no sample row confirms it.
- Header text: the source gives column positions and meanings only, not the header names.
Note kept with this layout in the profile data: Same role list as the Lloyds Bank config in the same repository.
What Wave accepts
- File type: CSV.
- Header row: not stated in the excerpts read; the converter writes one.
- Required columns: Date, Description, Amount.
- Amounts: Three or four columns: date, description, and the amount either all in one column or one column each for deposits and withdrawals. For credit card statements, purchases must be positive and payments negative.
- Dates: MM/DD/YYYY.
| Wave column | Required by Wave | Filled from the Halifax file |
|---|---|---|
| Date | required | column 1 |
| Description | required | column 5 |
| Amount | required | column 7 (positive) minus column 6 (negative) |
From a web search excerpt of the vendor's help page (the page itself refuses automated reading; re-check it in a browser): "To import properly, your CSV file must have three or four columns: date, amount of the transaction (all in one column, or one column each for deposits and withdrawals), and description."
Column-by-column mapping
Every column of the Halifax file, left to right, and where it ends up in the Wave file.
| Column | Header text | What it holds | Where it goes in the Wave file |
|---|---|---|---|
| 1 | not given by the source | Transaction date | Date, rewritten as MM/DD/YYYY |
| 2 | not given by the source | Not used | Not copied |
| 3 | not given by the source | Not used | Not copied |
| 4 | not given by the source | Account or card identifier | Not copied |
| 5 | not given by the source | Description | Description |
| 6 | not given by the source | Money out (debit) | Amount, as a negative number |
| 7 | not given by the source | Money in (credit) | Amount, as a positive number |
| 8 | not given by the source | Running balance | Not copied |
| 9 | not given by the source | Not used | Not copied |
Pitfalls for Halifax to Wave
Dates
- The date must be reordered. The bank file is written day first, then month, then year (DD/MM/YYYY, for example 04/03/2024). The Wave file is written month first, then day, then year (MM/DD/YYYY, for example 03/04/2024). This is the mistake that does not show: 04/03/2024 is 4 Mar in the bank file, and read the other way round it is 3 Apr. Days from 13 to 31 fail loudly, days from 1 to 12 swap silently.
- Wave on dates: MM/DD/YYYY. As stated by the vendor: the date column must be in MM/DD/YYYY format.
Amounts and their direction
- Debit and credit columns must be merged into one signed Amount: credit minus debit. A debit of 4.50 becomes -4.50 and a credit of 2500.00 stays 2500.00.
- Wave's own rule: Three or four columns: date, description, and the amount either all in one column or one column each for deposits and withdrawals. For credit card statements, purchases must be positive and payments negative.
- How sure the direction is: it is inferred from the role the open-source importer gives the column; no sample row confirms it. Compare two rows you recognise with the preview before importing; the converter has a switch that flips the sign of every amount.
Other Wave import rules
- Keep only the date, amount and description columns; delete any other columns.
- The description column can be empty, but if filled it must contain words, not only numbers.
- Remove special characters such as #, &, $ and * from the file.
- Files with more than 100 rows tend not to upload; split them into files of no more than 100 rows each.
Before and after: an invented example
Invented sample data. These four rows were made up for this page. They are not from a real Halifax 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 3 unused columns of the file are left out of the table.
| 1: transaction date | 4: account or card identifier | 5: description | 6: money out (debit) | 7: money in (credit) | 8: running balance |
|---|---|---|---|---|---|
| 04/03/2024 | 0000 | COFFEE CORNER MAIN ST | 4.50 | 995.50 | |
| 05/03/2024 | 0000 | PAYROLL EXAMPLE CO | 2500.00 | 3495.50 | |
| 07/03/2024 | 0000 | RENT MARCH | 1234.56 | 2260.94 | |
| 11/03/2024 | 0000 | REFUND EXAMPLE SHOP | 15.25 | 2276.19 |
| Date | Description | Amount |
|---|---|---|
| 03/04/2024 | COFFEE CORNER MAIN ST | -4.50 |
| 03/05/2024 | PAYROLL EXAMPLE CO | 2500.00 |
| 03/07/2024 | RENT MARCH | -1234.56 |
| 03/11/2024 | REFUND EXAMPLE SHOP | 15.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.
- Open the Halifax CSV in a spreadsheet program through its import dialog. Set the date column (column 1) to Text so the program does not reinterpret it, and leave the amount columns as numbers.
- Row 1 is the header and the transactions start in row 2.
- Date: rewrite column A from DD/MM/YYYY to MM/DD/YYYY (04/03/2024 becomes 03/04/2024). In a new column, for the first transaction:
=MID(A2,4,2)&"/"&MID(A2,1,2)&"/"&MID(A2,7,4)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. - Amounts: merge the two columns into one signed Amount, credit minus debit:
=ABS(G2)-ABS(F2)An empty cell counts as zero. Money out comes out negative. - Text columns: fill Description (from column 5). Where several bank columns feed one column, join them with a separator such as " - ".
- Apply Wave's own rules from its help page: Keep only the date, amount and description columns; delete any other columns. The description column can be empty, but if filled it must contain words, not only numbers. Remove special characters such as #, &, $ and * from the file. Files with more than 100 rows tend not to upload; split them into files of no more than 100 rows each.
- Keep only the new columns, put the header row Date,Description,Amount 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 Wave's import preview.
Or use the converter
Load the file, choose the Halifax profile in the bank list and the target Wave, 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 profile. The free manual column mapper works for any bank, this one included, but the free version writes only the first 25 converted rows of a file. The 9 USD one-time licence adds the ready-made Halifax profile (one of the 35 paid profiles) and removes the 25-row limit. The column table on this page is free to read and can be used to fill in the manual mapper.
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 gb/halifax/default.json
The lines used from the source: "headers": true, "date": "d/m/Y", roles: date_transaction, _ignore, _ignore, account-number, description, amount_debit, amount_credit, _ignore, _ignore
The Wave rules come from the vendor's own help pages: support.waveapps.com/hc/en-us/articles/208621626-Upload-a-bank-or-credit-card-statement-in-csv-format (named as text, not linked), support.waveapps.com/hc/en-us/articles/208622596 (named as text, not linked). The official page refuses automated fetches (HTTP 403 or a script-only page), so the rules were read from web search excerpts of that same official URL on the checked date. Re-check in a browser before relying on a detail.
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
Halifax to other apps
The Halifax guides for YNAB, QuickBooks Online and Xero, in the bank list