Pick the app the file came from
- Stripe payout reconciliationStripe payouts to a Xero manual journal
- Etsy statement, sold orders or depositsEtsy payouts to a Xero manual journal
- Airbnb earnings (transaction history)Airbnb payouts to a Xero manual journal
- Gumroad payout or sales CSVGumroad payouts to a Xero manual journal
- Square transactions CSVSquare payouts to a Xero manual journal
- Shopify Payments payouts CSVShopify Payments payouts to a Xero manual journal
- Amazon settlement report (Flat File V2)Amazon settlement report to a Xero manual journal
- eBay transaction report CSVeBay transaction report to a Xero manual journal
- Walmart Marketplace Recon report CSVWalmart recon report to a Xero manual journal
- Gusto Payroll Journal Report CSVGusto payroll journal to a Xero manual journal
From a bank CSV
Bank CSV exports differ from bank to bank: some use one signed amount, some separate debit and credit columns, dates may be day-first or month-first, and many add header or total rows. Choose "Bank CSV" as the source (it is picked automatically when the file is not from a known app).
- In your online banking, find Download or Export transactions.
- Choose CSV (sometimes called Excel CSV or Comma separated).
- Pick the date range and download.
- We look for the header row even if the file starts with account details.
- We map Date, Description and Amount, or separate Debit and Credit columns, automatically, and show the result in the preview.
- We work out whether dates are month/day or day/month and whether "," or "." is the decimal point from the file itself; when the file cannot tell, we ask you instead of guessing. Dotted dates (31.01.2025) are read day first.
- Card exports that show purchases as positive numbers can be flipped with the "invert sign" option.
What Xero (manual journal import) requires
- Columns as in Xero's manual journal template: Narration, Date, Description, AccountCode, TaxRate, Amount and two pairs of tracking columns.
- Narration and Date on the first row of each journal; the rows below with both left blank belong to the same journal.
- Dates as dd mmm yyyy (05 Mar 2026) or dd/mm/yyyy.
- Account codes, not names (for example 200). Debits positive, credits negative; each journal adds up to zero.
- No bank or credit card accounts: the payout is booked to a payout clearing account (a current asset), and the bank feed deposit is reconciled against it.
- Up to 300 lines per file (we split bigger files without breaking a journal). Journals are in your base currency.
How to import it
- Make sure every account code in the file exists in your Xero chart of accounts (enter your codes in the options before downloading). The payout clearing code must be a current asset account, not a bank or credit card account: Xero does not accept those in a manual journal.
- In Xero, in the Accounting menu, select Manual journals.
- Click Import, then Browse, and select this CSV.
- Click Import, review the message, then click Complete Import. The journals arrive as drafts.
- Open the Draft tab and check each journal: add a tax rate to each line if the file has none, and tick "Show journal on cash basis reports" if you report on a cash basis (the template has no column for it). Then select the journals and click Post.
- When the deposit (or the net pay withdrawal) appears in your bank feed, reconcile it against the payout clearing account (Receive Money or Spend Money coded to that account), not against sales.
Questions
- How does the payout reach my bank account in Xero?
- Xero does not accept bank or credit card accounts in a manual journal, and a journal line cannot be reconciled against a bank feed line anyway. So each journal books the payout to a payout clearing account, a current asset account you create (for example Payouts in transit), not a bank account. When the deposit appears in your bank feed, reconcile it against that clearing account (Receive Money coded to it). Do not code the deposit to sales: the journal has already booked the sales, so that would count them twice.
- What is not confirmed yet?
- Xero's template download needs a Xero login, so we have not compared the exact header text (including the asterisks Xero puts on required columns) with a freshly downloaded template; the column names follow Xero's help page. We have also not confirmed Xero's default account codes, which tax rate names exist in each country, or whether imported journals arrive with "Show journal on cash basis reports" ticked. We have not imported the result into a real Xero organisation. Check the first journal before importing many.
- Why does Xero need account codes and not account names?
- Xero's manual journal import reads the AccountCode column only: Xero's help says to enter the code, for example 200, and not the account name. Default account codes differ between countries and are often changed, and we have not confirmed Xero's default codes, so the converter does not guess them. Copy the codes from your chart of accounts into the options; any line left without a code gets a warning.
- Which tax rate should the journal lines use?
- Xero asks for the full name of a tax rate exactly as it appears in your tax settings, and names differ by country and organisation. You can import with the TaxRate column empty, but Xero needs a rate on each line before the journal can be posted. If your payouts carry no tax of their own, type the name of your no-tax rate in the options. This is not tax advice; ask whoever prepares your returns which rate applies.
- Do the journals show on cash basis reports?
- Xero has a "Show journal on cash basis reports" checkbox on each manual journal, and the import template has no column for it. If you report on a cash basis (for example the Statement of Cash Flows or a payments basis GST return), open each draft after importing, tick that box, then post it.