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.
Connecting
Section titled “Connecting”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.
Invoice charge coding
Section titled “Invoice charge coding”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 levy | Always its own line. |
| Tolls, Transport waiting time, Container cartage / unpack / detention, Port fees, Subcontracted FTL, Admin fees | Recognised 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 lines | Where 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.
Syncing
Section titled “Syncing”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:
| Badge | Meaning |
|---|---|
| Not synced | Not yet sent. |
| ✓ number | In Xero. Click it to open the record there. |
| Failed | The last attempt was refused. Hover for Xero’s reason. |
| Held | Stopped 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.