Gusto payroll journal to a Xero manual journal

In short: Gusto's Payroll Journal Report CSV starts with the report title and your company name and address, then has one block per pay schedule: the pay period, the pay day, a header, one row per employee, and a Payroll Totals row. A Xero manual journal per payroll records the report totals: gross wages and employer taxes as expenses (positive), employee taxes withheld, employer taxes owed and any worked-out deductions as liabilities (negative), and the Check Amount total as a credit to a payout clearing account (Xero does not accept bank accounts in a manual journal), adding up to zero. Drop the file below. It is converted on your device and never uploaded.

Before you start: Xero's bank statement import does not fit payroll, so this page writes a Xero manual journal per payroll from the Gusto Payroll Journal Report. Xero needs account codes, so enter your wage, payroll tax and payout clearing codes in the options before downloading; net pay goes to the payout clearing account, not your bank account, which Xero refuses in a manual journal. We built the file from Xero's help page for manual journal imports, but we have not imported it into a real Xero organisation. No employee name or address is copied into the journal (the pay schedule name is kept), and the file never leaves your browser.

Convert your file

Gusto payroll journal to Xero manual journal

Payroll journal report .csv from Gusto Reports

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.

1. Export the file from Gusto

  1. In Gusto open Reports and choose the Payroll journal report.
  2. Pick the payrolls or dates you want, keep the layout with one row per employee, and download it as CSV.
  3. Upload that file here as downloaded, without opening and re-saving it in a spreadsheet. It never leaves your browser.

Why a raw Gusto payroll journal export fails in Xero (manual journal import)

Gusto takes net pay, taxes and deductions out of your bank on different days, and the bank feed shows only those withdrawals. Recording each withdrawal as an expense loses the split between wages, employer taxes and what you withheld for employees. A payroll journal entry puts each part on its own line, with the taxes and deductions as liabilities until they are paid.

The usual fix is one journal per payroll: gross wages and employer taxes on the expense side, employee taxes withheld, employer taxes owed and employee deductions as liabilities, and the net pay on a payout clearing account, because Xero does not let manual journals post to a bank account. In Xero that is a manual journal; the import brings it in as a draft, and you post it after checking. When Gusto's net pay withdrawal shows in your bank feed, reconcile it against the payout clearing account (Spend Money coded to it), and match each tax payment against the payroll taxes payable account.

What is unusual about the Gusto payroll journal file

  • A few lines with the report title and your company name and address come first, then an "Employee Earnings" block per pay schedule: a payroll period line, a Pay day line, the column header, one row per employee and a "Payroll Totals" row.
  • Each payroll becomes one journal entry dated on its pay day: gross wages and employer taxes as expenses, employee taxes withheld and employer taxes owed as liabilities, and the Check Amount total (net pay) out of the bank.
  • The employee rows are added up and compared with the Payroll Totals row, and the lines are compared with the Check Amount total. A mismatch against those totals gives a WARNING with the difference, and the gap goes to the clearing account. Deductions and benefits are worked out, not read, so check them the first time.
  • Deduction and benefit columns are not read by name (their names in the CSV are not documented): employee deductions are worked out as Gross Earnings minus Employee Taxes minus Net Pay, employer contributions as Employer Cost minus Gross Earnings minus Employer Taxes, and a note says so.
  • Tax and benefit payments are not in this report, so they stay as liabilities until you record each payment from your bank.
  • The Payroll journal layout with one line per job and pay type (Job, Pay Type columns, no Gross Earnings) is refused by name. Bank files (.qbo, .qfx, .ofx, bank CSVs) are not offered: a payroll report is not a bank statement.

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.

2. Before and after

Before: the Gusto Payroll Journal Report CSV as downloaded

"Payroll Journal Report"

"Sample Bakery LLC"
"100 Example Ave"
"Durham","NC","27701"

"Employee Earnings"
"Weekly Payroll payroll period"," 03/02/2026 - 03/08/2026"
"Pay day"," 03/13/2026"

After: what Xero (manual journal import) receives

After: gusto-payroll-xero-manual-journal-payout-2026-03-13-to-2026-03-13.csv
*Narration*DateDescription*AccountCode*TaxRate*AmountTrackingName1TrackingOption1TrackingName2TrackingOption2
Gusto payroll 2026-03-13 Biweekly Payroll (BR-20260313-1)13 Mar 2026Gross wages (Gross Earnings) - Gusto payroll 2026-03-13 Biweekly Payroll2000.00
Employer payroll taxes (expense) - Gusto payroll 2026-03-13 Biweekly Payroll173.00
Employee taxes withheld (owed to tax agencies) - Gusto payroll 2026-03-13 Biweekly Payroll-463.00
Employer payroll taxes owed - Gusto payroll 2026-03-13 Biweekly Payroll-173.00
Net pay paid to employees (Check Amount) - Gusto payroll 2026-03-13 Biweekly Payroll-1537.00
Gusto payroll 2026-03-13 Weekly Payroll (BR-20260313-2)13 Mar 2026Gross wages (Gross Earnings) - Gusto payroll 2026-03-13 Weekly Payroll1300.00

Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.

3. Import the converted file into Xero (manual journal import)

  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

Which Xero accounts does the payroll journal use?
Gross wages go to the wages expense code, employer taxes to the employer payroll tax expense code, employee taxes withheld and employer taxes owed to the payroll taxes payable code, deductions and employer contributions owed to the deductions payable code, and net pay to the payout clearing code (a current asset account, not your bank account, which Xero refuses in a manual journal). Reconcile Gusto's net pay withdrawal in your bank feed against that clearing account. Xero needs the codes from your chart of accounts, so enter them in the options; lines without a code get a warning. Not confirmed: if your organisation also runs Xero Payroll, Xero may refuse its wage accounts in a manual journal; use expense accounts that Xero Payroll does not manage. This is not accounting or tax advice.
Does the journal entry match my Gusto payroll?
The entry is checked against the report's Payroll Totals and Check Amount: the employee rows are compared with the Payroll Totals row, and the lines with the Check Amount total, which is always the payout clearing line. If those differ, a warning names the difference and the gap goes to the clearing account. Deductions and benefits are worked out, not read, so check them the first time.
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.
Where do the payroll taxes go?
Employer taxes are an expense and a liability; employee taxes withheld are a liability. Both stay in the payroll taxes payable account until Gusto pays them from your bank. When that withdrawal shows in your bank feed, match it against the payroll taxes payable account, not an expense.
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.

Other ways to convert Gusto payroll journal

Other exports to Xero manual journal