What it pushes
| Entity | Direction | Trigger |
|---|---|---|
| Contacts | Outbound | On CRM customer create or update |
| Invoices | Outbound | On Finance invoice issued |
| Payments | Outbound (planned) | Currently push-on-invoice only |
Xero remains your source of truth for tax reporting and ledger balances. Softbooq pushes transactional records to Xero so your accountant has the same view of revenue and AR as your operations team.
Connect Xero
Sign in to Xero
You are redirected to Xero’s OAuth screen. Sign in with the email tied to the Xero organisation you want to connect.
Choose the organisation
If you manage multiple Xero organisations, pick the one to connect. You can only connect one Xero organisation per Softbooq tenant.
Approve scopes
Approve the requested scopes:
accounting.contacts, accounting.transactions, and offline_access. The offline_access scope is needed so Softbooq can refresh the token without you having to re-sign-in every 30 minutes.How invoices are pushed
When you click Send Invoice on a Finance invoice, Softbooq:- Looks up the customer in Xero by email; if not found, creates a Xero contact.
- Builds a Xero invoice with the same line items, currency, due date and reference.
- Posts it as Authorised (Approved status) so it is immediately part of your Xero AR.
Multi-currency
If a Softbooq invoice is in a foreign currency, Xero must have that currency enabled (Xero requires explicit per-currency activation under Settings → Currencies). If the currency is not enabled in Xero the push is rejected and a warning is logged. Enable the currency in Xero, then click Retry push on the Softbooq invoice.Backfill historical invoices
Choose the date range
Pick the start date for invoices you want to push. Default is the start of the current fiscal year.
Backfilling beyond the start of your current Xero financial year may post into a closed period. Xero will reject pushes into closed periods. Check your Xero lock dates first.
Disconnect
Troubleshooting
An invoice push failed with InvalidAccountCode
An invoice push failed with InvalidAccountCode
Your account mapping uses a code that does not exist in your Xero chart of accounts. Open Settings → Integrations → Xero → Account Mapping and pick a valid code.
A push failed with TaxRateNotFound
A push failed with TaxRateNotFound
The tax component on the Softbooq invoice does not have an equivalent tax rate set up in Xero. Either create the tax rate in Xero (Settings → Tax Rates) or change the Softbooq invoice’s tax component to one that maps cleanly.
The integration shows Auth Failed
The integration shows Auth Failed
Xero refresh tokens last 60 days of inactivity. If no push has run in that window the token expires. Click Reconnect to start the OAuth flow again.
The same invoice was pushed twice
The same invoice was pushed twice
This happens if the first push errored after Xero accepted but before Softbooq recorded the success. Open the invoice in Xero and void the duplicate. Softbooq’s idempotency keys prevent this on retry, but a network blip during Xero’s response can break it.
See also
Finance
Source of all invoices and contacts pushed to Xero.
Reports
Aged receivables and P&L, the same numbers your accountant sees in Xero.
HubSpot
Bidirectional contact sync if you also use HubSpot for marketing.