Help CenterIntegrations

Connect accounting software

Last updated 2026-06-19For: Accountant, Small business

This guide covers: connect QuickBooks / Xero / NetSuite, map GL accounts, verify the first journal entry, and disconnect.

Connect QuickBooks / Xero / NetSuite

What it does: Authorizes Payrollix to push payroll journal entries into your accounting system via OAuth — no passwords are exchanged.

Where: Accountant dashboard → Integrations (/clients/[clientId]/integrations).

Steps:

  1. Find the card for the system you want (QuickBooks, Xero, FreshBooks, Wave, Sage, NetSuite). Each card shows: name · description · Features tags · status.
  2. Click Connect on the card. A popup opens to the provider's OAuth consent screen.
  3. Sign in to the accounting system and authorize Payrollix when prompted.
  4. The popup closes itself. The card flips to Connected with the green CheckCircle and shows the Connected company name underneath.

Who: Accountant or SMB owner with admin rights to the accounting system.

Notes: Connect is per-client. If you manage multiple clients, repeat the flow on each client's Integrations page. The information banner at the bottom of the page recaps: connect via OAuth → map accounts → sync JEs → contractors sync as vendors for 1099 tracking.

Map GL accounts

What it does: Tells Payrollix which line in your chart of accounts to debit or credit for each payroll component.

Where: Accountant dashboard → Integrations → click Configure on the connected card (/clients/[clientId]/integrations/[type]).

Steps:

  1. Click Configure on the connected card. The settings page lists every payroll account, grouped by JE side.
  2. Map each row by selecting the matching account from the chart-of-accounts dropdown. The groups are:
    • Expenses (debits) — Gross Wages Expense · Employer Social Security · Employer Medicare · Employer FUTA · Employer SUTA · Other Employer State Tax.
    • Withholding payables (credits) — Federal Income Tax W/H Payable · State Income Tax W/H Payable · Local Income Tax W/H Payable.
    • FICA payables (credits) — Social Security Payable · Medicare Payable.
    • Unemployment payables (credits) — FUTA Payable · SUTA Payable · Other State Tax Payable.
    • Deduction payables (credits) — Pre-tax Deductions Payable · Post-tax Deductions Payable · Garnishments Payable.
    • Cash (credit on net pay) — Bank / Direct-Deposit Clearing.
  3. Click Save Mapping at the top-right.

Who: Accountant or SMB owner with chart-of-accounts knowledge.

Notes: Want a less-granular GL? Point multiple rows at the same account — the journal entry aggregates same-account lines into one at post time. Rows marked optional can be left blank; the JE skips them. If the dropdown is empty, click Test Connection to refresh the chart of accounts.

Verify the first journal entry

What it does: Confirms a real payroll posted correctly to the accounting system before you trust the automatic feed.

Where: Accountant dashboard → IntegrationsConfigure → sync logs.

Steps:

  1. Run a real payroll (or pick an already-processed one).
  2. Open /clients/[clientId]/integrations/[type] and scroll to the sync history.
  3. Confirm the sync log entry is success with a non-zero entries-synced count.
  4. Open the journal entry in QuickBooks / Xero / NetSuite and tie each line back to the payroll Cash Requirements report.

Who: Accountant or SMB owner.

Notes: Contractors sync as vendors so 1099 tracking on the accounting side stays in step with Payrollix. If a sync fails, the card surfaces the last_sync_error in a red banner and the sync log shows the row that failed.

Disconnect

What it does: Revokes OAuth access and stops further sync.

Where: Accountant dashboard → Integrations (/clients/[clientId]/integrations).

Steps:

  1. Find the connected card.
  2. Click Disconnect in the footer of the card.
  3. Confirm the prompt: "Are you sure you want to disconnect this integration?"
  4. The card flips back to Not Connected and the Connect button reappears.

Who: Accountant or SMB owner.

Notes: Disconnecting does not remove already-posted journal entries from the accounting system. Reconnecting later opens OAuth again — the existing account mapping is preserved.


Related: Other integrations · Standard payroll reports.

Related in Integrations

Still need help?