The short answer

The TD Canada Trust file has 5 columns, dates written as MM/DD/YYYY and separate debit and credit columns. The CSV written for Xero has the columns Date,Amount,Payee,Description,Reference. So the date is rewritten as DD/MM/YYYY, the amount is written as one signed number, and the text columns are moved as in the table below.

Free. The TD Canada Trust profile is one of the 5 free profiles of the converter. The free version writes the first 25 converted rows of a file; the 9 USD one-time licence removes that limit.

Open the converter

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

What the TD Canada Trust CSV looks like

Note kept with this layout in the profile data: No header row. File name in the source: accountactivity.csv. The second source agrees: headers false, date m/d/Y, roles date_transaction, description, amount_debit, amount_credit, _ignore. Neither source names the fifth column; it is treated as a balance to ignore.

What Xero accepts

The file the converter writes for Xero: Date,Amount,Payee,Description,Reference
Xero columnRequired by XeroFilled from the TD Canada Trust file
Daterequiredcolumn 1
Amountrequiredcolumn 4 (positive) minus column 3 (negative)
Payeeoptionalleft empty: the bank file has no payee column
Descriptionoptionalcolumn 2
Referenceoptionalleft empty: the bank file has no reference column

From a web search excerpt of the vendor's help page (the page itself refuses automated reading; re-check it in a browser): "Show income as positive amounts and expenses as negative amounts using a negative sign in front of the amount or with brackets, for example -30.00 or (30.00)."

Column-by-column mapping

Every column of the TD Canada Trust file, left to right, and where it ends up in the Xero file.

ColumnHeader textWhat it holdsWhere it goes in the Xero file
1not given by the sourceTransaction dateDate, rewritten as DD/MM/YYYY
2not given by the sourceDescriptionDescription
3not given by the sourceMoney out (debit)Amount, as a negative number
4not given by the sourceMoney in (credit)Amount, as a positive number
5not given by the sourceRunning balanceNot copied

Pitfalls for TD Canada Trust to Xero

Dates

Amounts and their direction

Shape of the file

Other Xero 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 TD Canada Trust 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.

Before: rows laid out like the TD Canada Trust file
1: transaction date2: description3: money out (debit)4: money in (credit)5: running balance
03/04/2024COFFEE CORNER MAIN ST4.50995.50
03/05/2024PAYROLL EXAMPLE CO2500.003495.50
03/07/2024RENT MARCH1234.562260.94
03/11/2024REFUND EXAMPLE SHOP15.252276.19
After: the same rows as a Xero file (Date,Amount,Payee,Description,Reference)
DateAmountPayeeDescriptionReference
04/03/2024-4.50COFFEE CORNER MAIN ST
05/03/20242500.00PAYROLL EXAMPLE CO
07/03/2024-1234.56RENT MARCH
11/03/202415.25REFUND EXAMPLE SHOP

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 TD Canada Trust 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.
  2. The file has no header row: row 1 is already a transaction. Do not delete it.
  3. Date: rewrite column A from MM/DD/YYYY to DD/MM/YYYY (03/04/2024 becomes 04/03/2024). In a new column, for the first transaction: =MID(A1,4,2)&"/"&MID(A1,1,2)&"/"&MID(A1,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.
  4. Amounts: merge the two columns into one signed Amount, credit minus debit: =ABS(D1)-ABS(C1) An empty cell counts as zero. Money out comes out negative.
  5. Text columns: fill Payee (left empty: the bank file has no payee column); Description (from column 2); Reference (left empty: the bank file has no reference column). Where several bank columns feed one column, join them with a separator such as " - ".
  6. Apply Xero's own rules from its help page: Only the Date and Amount fields are needed to create bank statement lines. Payee is recommended; if the payee is an existing contact, the name must match the contact name exactly to avoid duplicates.
  7. Keep only the new columns, put the header row Date,Amount,Payee,Description,Reference 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 Xero's import preview.

Or use the converter

Load the file, choose the TD Canada Trust profile in the bank list and the target Xero, 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.

Free. The TD Canada Trust profile is one of the 5 free profiles of the converter. The free version writes the first 25 converted rows of a file; the 9 USD one-time licence removes that limit.

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: bank2ynab/bank2ynab, file bank2ynab/data/bank2ynab.conf

Also read: firefly-iii/import-configurations, file ca/td/default.json

The lines used from the source: [CA TD Canada Trust, checking+Visa] Source Filename Pattern = accountactivity ; Header Rows = 0 ; Input Columns = Date,Payee,Outflow,Inflow,skip ; Date Format = %m/%d/%Y

The Xero rules come from the vendor's own help pages: central.xero.com/s/article/Import-a-CSV-bank-statement (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

TD Canada Trust to other apps

The TD Canada Trust guides for YNAB, QuickBooks Online and Wave, in the bank list

Other Canada exports to Xero

All banks and apps