CSV PREPARATION · MANUAL XERO IMPORT

Xero Bank Statement CSV: Date and Amount Format

For a manual Xero bank statement CSV import, confirm each transaction date, use one consistent date format and prepare a signed Amount column. Review the original statement before changing the export, then check the destination preview. Here is a fictional five-column-to-CSV example you can follow without assuming the file is already Xero-ready.

Review the CSV extraction workflow ↗

Guide · Official requirements checked October 30, 2026 · Fictional examples, not completed Xero imports

Keep extraction and import preparation separate

BankStatementMate exports a general five-column table. This guide shows how to review a copy for a manual Xero import; it does not add a Xero connection or an automatic export preset.

1. Start with the right source and account

Use a usable CSV from your bank when available. Otherwise, review a supported statement in the bank statement to CSV converter, then download the result. Keep the original PDF and untouched export alongside your working copy. Confirm the account, currency and statement period before changing any cells.

CSV is one route, not a universal prerequisite. Xero's PDF import documentation currently lists availability for US and Canadian organizations, excluding its Ledger plan. Check the options in your own organization before converting a file solely for import.

Our example uses the existing fictional statement PDF: three September 2026 transactions, an opening balance of 1000.00 and a closing balance of 2295.50. It is a deposit-account example with one currency and two decimal places. No customer records or Xero account were used to demonstrate an actual import.

2. Map five exported columns to import fields

Xero requires Date and Amount; income and expenses share one signed Amount column. Its CSV instructions specify positive income, negative expenses and decimal points rather than decimal commas. Description can retain transaction context.

Reviewed exportWorking import copyCheck before saving
DateDateConfirm the actual calendar date, then use one format.
DescriptionDescriptionKeep enough source detail to identify the row.
Debit and CreditAmountFor this deposit example: Credit minus Debit.
BalanceKeep in review workbookUse it to check the export; omit it from this three-column import copy.

Create a separate sheet named ImportCopy with Date, Amount and Description. Keep the five original columns on a Reviewed sheet. This separation makes every transformed row traceable and prevents the running balance from accidentally becoming a transaction amount. Do not add an opening-balance row to the transaction sample.

3. Resolve date ambiguity before formatting

Xero lists DD/MM/YYYY, MM/DD/YYYY and YYYY/MM/DD among its accepted formats. It can ask you to choose when dates are ambiguous. See its date-format guidance; use one interpretation consistently.

For this sample, choose YYYY/MM/DD: the source date 2026-09-01 becomes 2026/09/01. Both mean September 1, 2026. By contrast, 09/01/2026 can mean September 1 or January 9. A spreadsheet displaying a plausible date has not proved that it selected the correct interpretation.

  1. Compare the date with the statement period and its original printed convention. Use an unambiguous source row, when available, to establish month/day order.
  2. Preserve ambiguous values as text until their meaning is confirmed. If your spreadsheet has already converted them incorrectly, return to the original export instead of only changing the display format.
  3. Apply the chosen output convention to the working copy. Reopen the saved CSV in a plain-text viewer and inspect the literal values before uploading.

The example's three source dates use YYYY-MM-DD. For these verified values, replacing the two date separators with slashes preserves meaning. That is not a general repair for mixed formats: changing 09/01/2026 to another display style cannot tell you which month was intended. Leave an unresolved date unresolved until the source answers it.

4. Build a signed Amount column

In the reviewed five-column layout, C is Debit and D is Credit. For this deposit account, both contain positive magnitudes; credit adds money and debit removes it. Confirm that convention against the original statement. Do not apply the same calculation blindly to reversed bank labels, signed input columns or credit-card purchases.

For a row whose amounts are numeric and whose blank side has been confirmed to mean no amount, enter =ROUND(D2-C2,2) in a working column and fill down. This is our sample calculation, not a Xero feature. The worked rows below show the expected signs and totals.

Check numeric types before calculating. A displayed currency symbol does not prove that a cell contains a number. A blank caused by failed extraction is not zero. Investigate a row with both sides populated, an unreadable amount or an unexpected sign. Correct it from the source, then recompute; do not force it to fit the expected closing balance.

Copy the checked results into ImportCopy as values. Use plain amounts such as 2500.00 and -4.50 in the saved file. Keep formulas and the original Balance column in your review workbook so the import copy stays a simple list of transactions.

5. Compare the fictional before-and-after rows

The original five-column example contains these same transactions. The two amount columns below are source values; Amount is our derived import value. Empty source cells in this particular fixture mean no debit or no credit.

Source dateDescriptionDebitCreditAmount
2026-09-01SYNTHETIC Salary—2500.002500.00
2026-09-02SYNTHETIC Rent1200.00—-1200.00
2026-09-03SYNTHETIC Coffee4.50—-4.50

Copyable CSV illustration, using YYYY/MM/DD and no currency symbols:

Date,Amount,Description
2026/09/01,2500.00,SYNTHETIC Salary
2026/09/02,-1200.00,SYNTHETIC Rent
2026/09/03,-4.50,SYNTHETIC Coffee

Three transactions remain three transactions. Money in is 2500.00; money out is 1204.50; the net movement is 1295.50. Adding the opening 1000.00 gives 2295.50. These are independently checked calculations from our fictional source, not evidence of an accepted Xero import. Matching the balance alone does not prove completeness.

If your own descriptions contain commas or quotation marks, use your spreadsheet's CSV export rather than hand-joining cells. Reopen the saved file and check that each description remains one field. The illustration deliberately avoids those characters; it does not test every export locale or spreadsheet application.

6. Check the destination preview before completing import

In Xero, assign the CSV columns to the corresponding statement fields and inspect the transaction review. Its import instructions describe warnings, errors and duplicate handling. Resolve issues before completing the import.

  • Confirm the destination bank account and currency match the source.
  • Read the first and last dates as calendar dates, not just strings. For this example, all three belong in September.
  • Check one incoming row and every outgoing row against the source. Coffee must reduce the account by 4.50, not increase it.
  • Compare row counts, money-in totals and money-out totals separately. Investigate exclusions or differences.
  • Check the period against existing imports and bank feeds. Do not assume every same-date, same-amount transaction is a duplicate.

An upload accepted by the destination is not a completed reconciliation. Continue with independent books and supporting records; the Excel reconciliation guide explains that distinction. This page does not verify your Xero permissions, account setup or live import outcome.

7. Xero CSV import errors: what to check before retrying

Start with the error shown in Xero. Its manual-import troubleshooting guide distinguishes file contents, field assignments and transaction selection. The examples below deliberately alter our fictional rows; they illustrate checks, not errors reproduced in a live Xero account.

No valid statement data

Check the selected date format, leading or trailing spaces in date cells, and blank rows. Xero also lists incorrectly prepared or corrupt files as possible causes. Here is a deliberately flawed copy with spaces inside the quoted date and an empty line:

Date,Amount,Description
" 2026/09/01 ",2500.00,SYNTHETIC Salary

2026/09/02,-1200.00,SYNTHETIC Rent

After confirming September 1 against the source, remove only the surrounding spaces and empty line. The two transaction amounts and descriptions stay unchanged:

Date,Amount,Description
2026/09/01,2500.00,SYNTHETIC Salary
2026/09/02,-1200.00,SYNTHETIC Rent

Save and inspect the CSV again. If the error persists, Xero recommends moving the reviewed data into a fresh copy of its bank statement template. Do not delete real transactions just to make the error disappear.

Data doesn't match

A column may be assigned to the wrong Xero field, or a value may be invalid. For the three-row example, assigning Description to Transaction Date sends SYNTHETIC Salary where a date belongs. Correct the assignment:

  • Date → Transaction Date: preview 2026/09/01.
  • Amount → Transaction Amount: preview 2500.00.
  • Description → Description: retain SYNTHETIC Salary.

If the mapping is correct but a source value is invalid, correct the working CSV from the statement and upload it again. Return to the date checks instead of guessing a replacement date.

No transactions selected

Xero requires at least one transaction to be selected to complete an import. Suppose the fictional three-row preview is correct, but all three checkboxes are cleared: the selection contains zero rows even though the CSV contains three.

Review the account, dates, amounts and overlap first, then select only the transactions you intend to add. If no new transactions belong in the account, stop without completing the import; selecting an already recorded row merely to proceed is not a repair.

Limits and privacy

BankStatementMate processes supported PDF, PNG and JPG statements in your browser and exports Excel or CSV. It does not connect to Xero, assign accounting categories or reconcile your books. See the current input and export limits before choosing a file.

Uploading the reviewed CSV to Xero sends that copy to Xero; local extraction does not make the later upload local. Use only data you are authorized to handle, check access to the destination organization, and retain or remove working copies according to your own requirements. Never upload this fictional example into real books as genuine transactions.

Extract a supported statement to Excel or CSV ↗