Integrations — connect Xero and Sage accounting
Connect Xero or Sage to keep invoices, journals, customers and suppliers in sync with Brytebuild.
Section 01
What are Integrations?
2 minutes
Integrations lives under Admin › Settings › Integrations. It connects Brytebuild to your accounting platform so that invoices, journals, customers and suppliers stay in sync automatically — no manual exports, no rekeying.
Two accounting integrations are currently available: Xero and Sage. Both can be connected at the same time and each syncs independently. Each uses a secure server-side OAuth flow — your login credentials are never entered into Brytebuild and never leave your browser.
ADMIN › SETTINGS
Settings
Manage your account, company details, team, billing and integrations all in one place.
Integrations
Connect your Xero or Sage accounting, and your WooCommerce store.
Xero
Sync purchase orders, invoices, customers and suppliers with Xero accounting.
Connect your Xero account to automatically sync products, customers, suppliers and orders. Credentials are handled securely server-side — no API keys are stored in the browser.
Sage
Sync invoices, journals, products, customers and suppliers with Sage accounting.
Connect your Sage account to automatically sync products, customers, suppliers and orders. Credentials are handled securely server-side — no API keys are stored in the browser.
| Element | What it does |
|---|---|
| Xero card | Shows connection status. Clicking Connect Xero opens Xero's OAuth login page in your browser — Brytebuild never sees your Xero password. |
| Sage card | Shows connection status. Clicking Connect Sage opens Sage's OAuth login page in your browser — Brytebuild never sees your Sage password. |
| Not connected status | Grey dot — no active connection. Data is not syncing. Click Connect to begin. |
| Connected status | Green dot — OAuth token is active. Data syncs every 5 minutes via the accounting queue background job. |
| Security callout | Confirms the OAuth flow runs on Brytebuild's servers — your credentials are entered on Xero's or Sage's own login page, not on Brytebuild. |
Section 02
How OAuth works
2 minutes
When you click Connect Xero or Connect Sage, Brytebuild starts an OAuth 2.0 authorisation flow. You log in on Xero's or Sage's own website — Brytebuild is never involved in that login. Once you approve access, the provider sends a short-lived access token and a refresh token directly to Brytebuild's server. Your username and password stay entirely on Xero's or Sage's servers.
1 — You
Click Connect in Brytebuild
2 — Redirect
Browser opens Xero / Sage login page
3 — You log in
Enter credentials on Xero / Sage — not on Brytebuild
4 — Token issued
Xero / Sage send access token to Brytebuild server
5 — Connected
Sync begins. You return to Brytebuild
At no point does Brytebuild receive or store your Xero or Sage username and password. The login form is hosted entirely on Xero's and Sage's own servers.
Section 03
What Brytebuild stores
1 minute
Brytebuild stores only what is necessary to maintain the sync after you have authorised. It stores nothing to do with your credentials.
✓ Stored (server-side only)
✗ Never stored
The OAuth access token expires regularly. Brytebuild refreshes it automatically every 12 hours via the OAuth token refresh background job — so the connection stays alive even if you do not log in for days.
Section 04
Connecting Xero
2 minutes
Xero is the recommended integration if you need purchase orders in your accounting platform. It is the only integration that also syncs POs — Sage Accounting has no purchase order record. You can run Xero alongside Sage simultaneously.
If your business tracks purchase orders in your accounting platform, connect Xero. Sage cannot receive PO records from Brytebuild. Both integrations can be active at the same time.
| Step | What happens |
|---|---|
| 1. Click Connect Xero | Brytebuild generates an authorisation URL and redirects your browser to login.xero.com. |
| 2. Log in on Xero | You enter your Xero email and password on Xero's own page. Brytebuild is not involved at this step. |
| 3. Authorise access | Xero asks which organisation to connect and what permissions to grant. Click Allow access. |
| 4. Redirected back | Xero sends an authorisation code to Brytebuild's server. Brytebuild exchanges it for an access token and refresh token — entirely server-side. |
| 5. Connected | The Xero card shows a green Connected status. The accounting sync queue starts pushing data within 5 minutes. |
| Disconnect | Once connected, a Disconnect button replaces Connect Xero. Disconnecting stops all future syncs to Xero. Data already in Xero is not deleted. |
| What syncs to Xero | Direction | Notes |
|---|---|---|
| Purchase orders | Brytebuild → Xero | Xero only — not available in Sage. |
| Invoices | Brytebuild → Xero | Created from confirmed sales orders. |
| Journals | Brytebuild → Xero | Cost of goods sold and stock adjustments. |
| Customers | Brytebuild → Xero | Synced as Contacts in Xero. |
| Suppliers | Brytebuild → Xero | Synced as Contacts in Xero. |
Section 05
Connecting Sage
2 minutes
The Sage integration syncs invoices, journals, products, customers and suppliers with Sage Accounting. You can connect Sage alongside Xero — both integrations run independently and sync simultaneously. Note that purchase orders are not available in Sage Accounting — if you raise POs in Brytebuild they will not appear in Sage (connect Xero as well if you need POs in your accounting platform).
| Step | What happens |
|---|---|
| 1. Click Connect Sage | Brytebuild redirects your browser to www.sageone.com (or the relevant Sage login URL for your region). |
| 2. Log in on Sage | You enter your Sage credentials on Sage's own page. Brytebuild is not involved at this step. |
| 3. Authorise access | Sage asks you to confirm the permissions Brytebuild is requesting. Click Allow. |
| 4. Redirected back | Sage sends an authorisation code to Brytebuild's server. Brytebuild exchanges it server-side for an access token and refresh token. |
| 5. Connected | The Sage card shows a green Connected status. Sync begins within 5 minutes. |
| Disconnect | A Disconnect button replaces Connect Sage. Disconnecting stops all future syncs to Sage. Data already in Sage is not deleted. |
| What syncs to Sage | Direction | Notes |
|---|---|---|
| Invoices | Brytebuild → Sage | |
| Journals | Brytebuild → Sage | Cost of goods sold and stock adjustments. |
| Products | Brytebuild → Sage | Synced as Products in Sage. Not available in Xero. |
| Customers | Brytebuild → Sage | Synced as Customers in Sage. |
| Suppliers | Brytebuild → Sage | Synced as Suppliers in Sage. |
| Purchase orders | — | Not available. Sage Accounting has no purchase order record. |
Xero and Sage can both be connected at the same time. Each syncs independently on its own schedule. Connecting or disconnecting one does not affect the other.
Section 06
What syncs — side by side
1 minute
A quick reference comparing exactly what each integration syncs:
| Data | Xero | Sage |
|---|---|---|
| Invoices | ✓ Yes | ✓ Yes |
| Journals | ✓ Yes | ✓ Yes |
| Customers | ✓ Yes | ✓ Yes |
| Suppliers | ✓ Yes | ✓ Yes |
| Products | ✗ No | ✓ Yes |
| Purchase orders | ✓ Xero only | ✗ Sage has no PO record |
| Run simultaneously | ✓ Yes | ✓ Yes |
| Sync frequency | Every 5 min | Every 5 min |
| Token refresh | Every 12h (auto) | Every 12h (auto) |
| Credentials stored | ✗ Never | ✗ Never |
| OAuth server-side | ✓ Yes | ✓ Yes |
Section 07
Background jobs that power integrations
1 minute
Two background jobs in Admin › Settings › Background Jobs keep your integrations healthy automatically. Click Run now on either job to trigger it immediately — useful right after connecting or if a sync appears to have stalled.
| Job | Frequency | What it does |
|---|---|---|
| Accounting sync queue | Every 5 minutes | Pushes all queued invoices, journals, customers, suppliers (and purchase orders for Xero) to every connected platform. If a record fails, it is re-queued for the next run. |
| OAuth token refresh | Every 12 hours | Renews the access token for each connected platform before it expires — so an idle weekend connection never breaks the sync. |
After first connecting Xero or Sage, go to Settings › Background Jobs and click Run now on the Accounting sync queue to push any queued records immediately rather than waiting up to 5 minutes.