Xero manual journal import from a payout export

A Xero manual journal per payout records what the payout was made of: gross sales, fees and refunds on their own lines, and the payout itself on a payout clearing account, because Xero does not accept bank accounts in a manual journal. Each journal adds up to zero, debits positive and credits negative, in the layout of Xero's manual journal import template. The converter below builds one from a payment app or bank CSV, on your device.

Convert a CSV to Xero manual journal

To Xero manual journal

A CSV export from Venmo, Cash App, PayPal, Stripe, Square, Shopify, Wise, Etsy, Airbnb, Gumroad or your bank, or an MT940 or camt.053 bank statement (or a camt.052 report or camt.054 notification). The source is detected automatically.

Your file stays on this device

It is read and converted by this page, inside your browser. Nothing from the file is uploaded, and the converter keeps working offline once the page has loaded.

No file handy? or download the sample to look at it first.

The data in the sample is invented. It is converted on this device, the same way your own file would be.

One email when it ships. The address is used for nothing else. Details.

Pick the app the file came from

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).

  1. In your online banking, find Download or Export transactions.
  2. Choose CSV (sometimes called Excel CSV or Comma separated).
  3. 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

  1. 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.
  2. In Xero, in the Accounting menu, select Manual journals.
  3. Click Import, then Browse, and select this CSV.
  4. Click Import, review the message, then click Complete Import. The journals arrive as drafts.
  5. 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.
  6. 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.