HQ Wealth and Xero: Import and Export Guide
Xero is one of the most widely used small-business accounting platforms in the world. HQ Wealth is a full double-entry wealth accounting platform — crypto and traditional assets in one ledger, with wallet and exchange reconciliation, FIFO/LIFO/HIFO/AVCO cost basis, staking and LP tracking, IFRS-ready reports, and tax packs. If Xero is your books of record and HQ Wealth is where your crypto and investment activity actually gets accounted for, you need a clean, repeatable bridge between the two. That is why HQ Wealth ships a tailor-made, two-way Xero adapter instead of a generic CSV dump.
This guide covers both directions. Because HQ Wealth is itself a double-entry ledger — real debits and credits against a chart of accounts — the cleanest, full-fidelity path into Xero is a manual journal import: your journal entries arrive in Xero as journal entries, not flattened cash lines. When you only need lighter cash-in, cash-out movement, the bank statement CSV path is the simpler option. We will walk through all three export routes and then the return trip.
Who this guide is for
You will get value from this article if you are in one of two camps:
- You keep your primary books in Xero. Xero runs the business, but it has no real concept of cost-basis lots, on-chain reconciliation, or crypto disposals. You do that work in HQ Wealth, then push the resulting journals or cash movements into Xero so your statutory accounts are complete and your accountant sees everything.
- You are consolidating into HQ Wealth and want your Xero-side history mapped into proper double-entry transactions with cost basis rebuilt under your chosen method.
Either way, the mechanics below are the same.
Exporting HQ Wealth to Xero
Xero accepts CSV in three different shapes depending on what you are importing. HQ Wealth can emit all three; pick the one that matches how much fidelity you need.
Path A: Manual journals (recommended)
This is the full-fidelity path. It maps HQ Wealth's double-entry journals directly onto Xero's manual journal import. Per Xero Central (https://central.xero.com/s/article/Add-import-and-post-manual-journals-US, US edition, July 2026), the manual journal template is fixed and its column headings are immutable — changing any heading fails the import. The asterisked headings are mandatory:
| Heading | Mandatory? | Format | Example | |-------------------|-----------|-----------------------------------------------|----------------------| | Narration | Yes | Text; required on the first row of each journal | June 2026 crypto revaluation | | Date | Yes | mmm dd yyyy or mm/dd/yyyy (US edition) | Jun 30 2026 | | Description | No | Free text, per line | BTC holding fair-value gain | | AccountCode | Yes | Must match a code in your Xero chart of accounts | 620 | | TaxRate | Yes | Tax rate display name matching your org | Tax Exempt | | *Amount | Yes | Single signed number: debit positive, credit negative | 1500.00 | | TrackingName1 / TrackingOption1 | No | Tracking category name and option | Region / West | | TrackingName2 / TrackingOption2 | No | Second tracking category and option | Desk / Crypto |
The single signed-amount rule. Xero manual journals carry one Amount column, not separate debit and credit columns. A debit is a positive number and a credit is a negative number. Every journal must balance before Xero will post it: the total of all amounts within one journal must sum to zero, meaning total debits equal total credits. HQ Wealth already stores every entry as balanced debits and credits, so the exporter simply writes each line's signed amount — nothing to reconcile by hand.
The blank-row continuation trick. A single file can hold many multi-line journals. The Narration is mandatory only on the first row of each journal. Any row where both Date and Narration are left blank continues the journal above it. That is how a five-line journal, or twenty separate journals, live in one file: the first line of each journal carries the Narration and Date, and every subsequent line of the same journal leaves both blank. HQ Wealth's exporter groups your ledger lines per journal and emits exactly this shape automatically.
The cap. Manual journal imports are limited to 300 lines per file, and the file must have a .csv extension. HQ Wealth chunks large exports into multiple sub-300-line files so nothing is truncated.
Path B: Precoded bank statement
A precoded bank statement CSV does more than import raw statement lines — it creates reconciled transactions directly, because each line already carries its account and tax treatment. Per Xero Central (https://central.xero.com/s/article/Import-a-precoded-CSV-bank-statement, July 2026), four fields are mandatory:
- Date
- Amount — single signed value (income positive, spend negative), no currency symbols, no comma decimal separators
- Account code
- Tax Rate (Display Name)
Optional fields include Payee, Description, Reference, Cheque number, Tracking1, Tracking2, Transaction Type, and Analysis code. There is no fixed column order or header naming — you map columns during the import. The critical caveat: the values of Account Code and Tax Rate must exactly match the target Xero organisation. A code or tax-rate name that does not exist in that specific Xero org will not resolve. And if any one of the four mandatory fields is missing, Xero falls back to importing only bare statement lines rather than reconciled transactions. HQ Wealth lets you map your accounts to the destination org's codes and tax rates once, then validates every row against that mapping before export.
Path C: Plain bank statement
The lightest path. A standard bank statement CSV needs only two mandatory fields — Date and Amount (Payee, Description, Reference, and Cheque number are optional; the downloadable template asterisks the mandatory ones). Per Xero Central (https://central.xero.com/s/article/Import-a-CSV-bank-statement-US, July 2026):
- One signed Amount column. Income is positive; expenses are negative, expressed either with a leading minus or in parentheses — both -30.00 and (30.00) are accepted. There is no separate debit/credit mapping, and commas may not be used as decimal separators.
- Flexible dates. Xero accepts many date formats (DD/MM/YYYY, MM/DD/YYYY, YYYY/MM/DD, two-digit years, month-name formats, and various separators). If a date is ambiguous, Xero shows a one-time format prompt; your answer persists to the whole statement and to future imports.
- Optional header. Columns are user-mapped at import, so only Transaction Date and Transaction Amount must be assigned. If you include a header, it must be row 1 with unique column names. The template is regional and defaults to New Zealand English.
- Hard limit: 100,000 rows per file. Beyond that you must split the file or use OFX/QIF instead.
Importing Xero into HQ Wealth
The return trip pulls your Xero-side activity into HQ Wealth as proper double-entry transactions. You export from Xero using one of its standard reports — the Journal Report / general ledger export, or a bank statement export to CSV — and upload that file to HQ Wealth. Xero's exports carry the signed debit/credit amounts and account codes described above; the precise column layout of each Xero export is confirmed at build time for the adapter, so we describe the mapping here in terms of general structure rather than fixed headers.
During staging, HQ Wealth reads each line's signed amount and account code and maps it into a native HQ Wealth account and transaction type. This is our mapping — HQ Wealth's design decision, not Xero's specification:
| Xero export (general structure) | HQ Wealth handling (our mapping) | |----------------------------------------|--------------------------------------------------| | Signed amount, debit positive | Posted to the debit side of the matched HQ Wealth account | | Signed amount, credit negative | Posted to the credit side of the matched HQ Wealth account | | Account code | Resolved to an HQ Wealth chart-of-accounts entry via your saved account map | | Tax rate / tax type | Mapped to the corresponding HQ Wealth tax treatment | | Bank statement line | Staged as a cash movement for reconciliation, not an auto-post |
After you confirm the mapping, HQ Wealth posts each entry as a balanced double-entry journal, rebuilds cost-basis lots under your chosen method (FIFO, LIFO, HIFO, or AVCO), and runs reconciliation so imported figures can be checked against live wallet and exchange data. Anything ambiguous is flagged for review rather than guessed.
Quick reference: why Xero rejects a CSV
| Rejection or failure | Cause | Fix | |-------------------------------|--------------------------------------------|--------------------------------------------------| | Manual journal import fails | A journal heading was renamed or removed | Keep the fixed template headings exactly, asterisks and all | | Journal will not post | Total debits do not equal total credits | Signed amounts in each journal must sum to zero | | Numbers misread or rejected | Comma used as a decimal separator | Use a dot decimal; strip currency symbols | | Amount rejected | Currency symbol in the amount column | Plain signed numbers only | | Too many lines | More than 300 lines in one journal file | Split into multiple sub-300-line .csv files | | Bank statement truncated | More than 100,000 rows in one file | Split the file or use OFX/QIF | | Precoded lines not reconciled | Account Code or Tax Rate not in the target org | Match values exactly to the destination Xero org |
One broader point worth internalising: Xero uses one signed amount column everywhere — a debit is positive, a credit is negative, in both journals and bank statements. QuickBooks journals and Sage, by contrast, use separate Debit and Credit columns. That is a genuine format collision: the same journal cannot be expressed identically for Xero and for QuickBooks. It is exactly why HQ Wealth ships a dedicated, per-target adapter — one that folds two columns into a signed one for Xero, and splits a signed one back into two for QuickBooks and Sage — instead of a single export-to-CSV button and a shrug.
Frequently asked questions
What is the Xero CSV import format for journals? It is a fixed template with immutable headings — Narration, Date, Description, AccountCode, TaxRate, Amount, and two optional Tracking pairs. Debits are positive and credits are negative in a single Amount column, and every journal must balance to zero before Xero posts it. Changing any heading fails the import.
How does the Xero bank statement CSV handle debits and credits? It does not use separate columns. A bank statement CSV has one signed Amount column: income is positive and expenses are negative, entered either as -30.00 or as (30.00). Only Date and Amount are mandatory; commas may not be used as decimal separators.
How do I import crypto into Xero? Account for your crypto in HQ Wealth — trades, disposals, staking, and cost basis — then export a manual journal CSV that matches Xero's fixed template. Each balanced HQ Wealth journal arrives in Xero as a manual journal, mapped to your Xero account codes and tax rates, in files of 300 lines or fewer.
Why did my Xero manual journal import fail? The usual suspects: a renamed or deleted template heading, a journal whose signed amounts do not sum to zero, comma decimal separators or currency symbols in the Amount column, or more than 300 lines in one file. Validate all four before uploading.
Bridge your Xero books and your crypto ledger
Whether Xero is your system of record and HQ Wealth handles the crypto and investment accounting, or you are consolidating your Xero history into a full double-entry wealth ledger, the adapter works in both directions and validates everything before a file leaves or enters your books.
Sign in at wealth.hq-fs.com, open Imports and Exports, and pick Xero. Your first round-trip takes minutes — and every journal stays balanced on the way.