Skip to content

Accounting integration

Connecting Xero, coding each invoice charge to an account, and syncing invoices, credit notes and payments.

Settings → Accounting Integration (/operations/settings/accounting). Connects an accounting system — Xero — so invoices, credit notes and payments can be sent to it. Only Operations and Admin can open it.

Two environment switches sit behind this page:

  • No provider enabled → a yellow banner: No accounting provider is enabled.
  • Sync off → a grey banner: Sync is turned off. You can connect, but nothing is pushed and the sync buttons stay hidden.

Each provider has a card with its status, the connected organisation, and last sync.

  • Connect — opens Xero’s consent screen. Approve it and you return here connected.
  • Reconnect — repeat the consent, e.g. after Xero access was revoked.
  • Disconnect — stop syncing. Nothing already in Xero is changed.
  • Test — checks the configuration and lists each check with ✓ or ×.

A card reading Missing client credentials needs its keys set in the environment before it can connect. A card marked Placeholder is not a real integration.

Each charge on an invoice goes to an account code in Xero. Pick the account for each row, then Save. The header counts how many are mapped.

Row
Local transport / Interstate (linehaul)Marked derived. Which one applies is worked out from the lane — same state is local, different states is linehaul. You set the account, not the choice.
Fuel levyAlways its own line.
Tolls, Transport waiting time, Container cartage / unpack / detention, Port fees, Subcontracted FTL, Admin feesRecognised from the charge’s description.
Accessorials (tailgate etc.)Marked inherits — takes the same account as the job line it belongs to. No mapping of its own.
Credit note linesWhere credit notes are coded. Usually the revenue account the credited invoice used.

Also mapped: GST on income and GST free tax types, and the Bank account for payments — no payment can be pushed until that is set.

  • The suggested code beside each row is guidance only.
  • A row with no account means an invoice carrying that charge will not sync.
  • Account 299 is refused.

Chart of accounts (collapsed) lists the connected organisation’s accounts for reference; Reload refreshes it.

Nothing is pushed silently. After you save an invoice, credit note or payment, Onyx asks “Send … to Xero now?” — say no and it stays in Onyx only.

The invoice list, credit note list, detail pages and Manage Payments show an Accounting column:

BadgeMeaning
Not syncedNot yet sent.
✓ numberIn Xero. Click it to open the record there.
FailedThe last attempt was refused. Hover for Xero’s reason.
HeldStopped by a check before sending. Hover for why.

The ↻ button beside a badge sends it now, or again. Use it after correcting an account mapping: a manual sync always re-sends.

Import payments on Manage Payments pulls in payments recorded directly in Xero against that invoice. Ones already recorded here are skipped.