Admin Beginner

Integrations — connect Xero and Sage accounting

Connect Xero or Sage to keep invoices, journals, customers and suppliers in sync with Brytebuild.

9 min read All roles Updated August 2026

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

ONBOARDING

Get Started

MY ACCOUNT

My Profile
Login & Security
Notifications

ADMINISTRATION

Company
Tax
Purchasing
Inventory
Team & Roles
Data Protection

BILLING & INTEGRATIONS

Billing & Plan
Integrations
Data Import
Data Export

Signed in as

dev@dev.com

@ Admin

Integrations

Connect your Xero or Sage accounting, and your WooCommerce store.

Connect Xero or Sage to keep invoices, journals, customers and suppliers in sync (purchase orders go to Xero — Sage Accounting has no purchase order record). Both integrations can be active simultaneously. All OAuth flows are handled server-side — your API credentials never leave the server.

Xero

Not connected

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.

OAuth flow is handled entirely server-side. Your credentials never leave the server.

Sage

Not connected

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.

OAuth flow is handled entirely server-side. Your credentials never leave the server.
ElementWhat it does
Xero cardShows connection status. Clicking Connect Xero opens Xero's OAuth login page in your browser — Brytebuild never sees your Xero password.
Sage cardShows connection status. Clicking Connect Sage opens Sage's OAuth login page in your browser — Brytebuild never sees your Sage password.
Not connected statusGrey dot — no active connection. Data is not syncing. Click Connect to begin.
Connected statusGreen dot — OAuth token is active. Data syncs automatically every 5 minutes.
Security calloutConfirms 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

Your credentials never touch 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.

What is stored vs. what is never stored

✓ Stored (server-side only)

OAuth access token (short-lived, auto-refreshed)
OAuth refresh token (server-side, encrypted)
Tenant / organisation ID (to route requests correctly)
Connection status (connected / disconnected)

✗ Never stored

Your Xero or Sage username
Your Xero or Sage password
API client secret or client ID
Any data not needed for sync

The OAuth access token expires regularly. Brytebuild refreshes it automatically every 12 hours, 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.

Xero recommended for purchase orders

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.

StepWhat happens
1. Click Connect XeroBrytebuild generates an authorisation URL and redirects your browser to login.xero.com.
2. Log in on XeroYou enter your Xero email and password on Xero's own page. Brytebuild is not involved at this step.
3. Authorise accessXero asks which organisation to connect and what permissions to grant. Click Allow access.
4. Redirected backXero sends an authorisation code to Brytebuild's server. Brytebuild exchanges it for an access token and refresh token — entirely server-side.
5. ConnectedThe Xero card shows a green Connected status. The accounting sync queue starts pushing data within 5 minutes.
DisconnectOnce connected, a Disconnect button replaces Connect Xero. Disconnecting stops all future syncs to Xero. Data already in Xero is not deleted.
What syncs to XeroDirectionNotes
Purchase ordersBrytebuild → XeroXero only — not available in Sage.
InvoicesBrytebuild → XeroCreated from confirmed sales orders.
JournalsBrytebuild → XeroCost of goods sold and stock adjustments.
CustomersBrytebuild → XeroSynced as Contacts in Xero.
SuppliersBrytebuild → XeroSynced 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).

StepWhat happens
1. Click Connect SageBrytebuild redirects your browser to www.sageone.com (or the relevant Sage login URL for your region).
2. Log in on SageYou enter your Sage credentials on Sage's own page. Brytebuild is not involved at this step.
3. Authorise accessSage asks you to confirm the permissions Brytebuild is requesting. Click Allow.
4. Redirected backSage sends an authorisation code to Brytebuild's server. Brytebuild exchanges it server-side for an access token and refresh token.
5. ConnectedThe Sage card shows a green Connected status. Sync begins within 5 minutes.
DisconnectA Disconnect button replaces Connect Sage. Disconnecting stops all future syncs to Sage. Data already in Sage is not deleted.
What syncs to SageDirectionNotes
InvoicesBrytebuild → Sage
JournalsBrytebuild → SageCost of goods sold and stock adjustments.
ProductsBrytebuild → SageSynced as Products in Sage. Not available in Xero.
CustomersBrytebuild → SageSynced as Customers in Sage.
SuppliersBrytebuild → SageSynced as Suppliers in Sage.
Purchase ordersNot available. Sage Accounting has no purchase order record.
Xero and Sage can run simultaneously

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

WooCommerce — sell what you make

2 minutes

The WooCommerce connection works the other way round to Xero and Sage. Those two receive your finance records; WooCommerce receives your catalogue. Brytebuild pushes products and their stock levels out to your shop, so what a customer sees on the website is what you actually hold.

It also connects differently. Xero and Sage use the OAuth handshake described in How OAuth works. WooCommerce does not — your shop issues a REST API key pair instead, which you generate inside WooCommerce and paste into Brytebuild once.

What you needWhere it comes from
Store URLThe address of your shop, e.g. https://yourshop.co.uk
Consumer keyGenerated in WooCommerce under Settings → Advanced → REST API. Give it Read/Write access, or Brytebuild cannot create products.
Consumer secretIssued alongside the key. WooCommerce shows it once — copy it before closing the screen.
When this happens in BrytebuildThis happens in your shop
A new productCreated in your shop with its name, SKU, price and description. Stock management is switched on automatically, so WooCommerce tracks the quantity rather than treating it as always-available.
An edited productName, SKU, price and description are updated in place. The shop listing keeps its URL, reviews and images.
A stock movementThe new on-hand figure is sent to the shop, so a build, a goods-in or a despatch moves the number your customers see.
A deleted productMoved to the WooCommerce trash rather than erased. Nothing is permanently removed from your shop, so an accidental deletion is recoverable there.
Line up your SKUs first

Match on SKU before you connect. Brytebuild links a product to its shop listing the first time it sends one, so if the same item already exists in WooCommerce under a different SKU you will end up with two listings. Tidy the SKUs first and the two catalogues stay one catalogue.

One direction only

The sync is one-way: Brytebuild → WooCommerce. Editing a price or stock figure in the shop does not change Brytebuild, and the next sync will overwrite it. Treat Brytebuild as the master record once connected.

Section 06

What syncs — side by side

1 minute

A quick reference comparing exactly what each integration syncs:

DataXeroSage
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 frequencyEvery 5 minEvery 5 min
Token refreshEvery 12h (auto)Every 12h (auto)
Credentials stored✗ Never✗ Never
OAuth server-side✓ Yes✓ Yes

Section 07

How often your data syncs

1 minute

Once a platform is connected there is nothing further to set up or run. Two things happen on a schedule in the background, with no action needed from you.

JobFrequencyWhat it does
Accounting sync queueEvery 5 minutesPushes 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 refreshEvery 12 hoursRenews the access token for each connected platform before it expires — so an idle weekend connection never breaks the sync.
Give the first sync a few minutes

Straight after connecting Xero or Sage, expect up to 5 minutes before your first records appear in the accounting platform — the queue is picked up on its next pass. An empty accounting platform in the first few minutes is normal and not a sign the connection has failed.

What's next