Setting Up Xero in Rofinery

Last updated July 21, 2026

Setting Up Xero in Rofinery

This article covers how to connect a Xero organisation to Rofinery, configure the integration, and keep customers, suppliers, and invoices in sync. It's written for team owners/admins setting this up for the first time.

Who can do this

Only a team owner or a team member with the admin role can connect Xero or change these settings. If you can't see Settings → Integrations → Xero, ask your team owner to grant you admin access first.

Step 1: Connect your Xero organisation

  1. Go to Settings → Integrations → Xero.
  2. Click Connect to Xero.
  3. You'll be redirected to Xero's login/consent screen. Log in and select one Xero organisation to authorise.

    Important: Select only a single Xero organisation on this screen. If you authorise more than one, Rofinery will detect multiple connected organisations and show a warning asking you to disconnect and reconnect, selecting just one. Rofinery only supports linking a single Xero organisation per Rofinery team.

  4. You'll be redirected back to the Integrations page, which will now show "Xero account linked successfully" along with the name of the connected organisation.

Step 2: Set the sales account code

This step is required — invoices cannot be created in Xero until it's done.

  1. On the same Integrations page, find the Sales Account Code dropdown (populated live from your Xero chart of accounts).
  2. Select the account code that new sales invoices raised from Rofinery should post against (e.g. your standard "Sales" or "Services" income account).

There's no other account-mapping needed — this is the only account code Rofinery asks you to choose.

Step 3: Sync customers (organisations)

Rofinery can import your existing Xero customers as Rofinery Organisations.

  1. Under Sync Organisations, Rofinery lists every Xero contact flagged as a customer that isn't already linked to a Rofinery organisation.
  2. Each entry is pre-checked for inclusion. Untick any you don't want to bring in (or use select-all/deselect-all).
  3. For each contact, choose whether to:
    • Create a new organisation in Rofinery, or
    • Link to an existing organisation — Rofinery auto-matches by comparing the Xero contact's email domain to your existing Rofinery contacts' email domains, and pre-selects a match where found (shown as "✓ auto-matched"). Check these suggestions before confirming — domain matching is a heuristic, not a guarantee.
  4. Click Sync Selected Customers. This runs in the background, so contacts may take a few moments to appear.

Once linked, the organisation's detail page shows a Xero badge, and its Xero contact ID is stored against it for future invoice creation.

Step 4: Sync suppliers

Same process as Step 3, but under Sync Suppliers, for Xero contacts flagged as suppliers. These become Supplier records in Rofinery, used on expense line items.

How syncing works day to day

What Automatic or manual? Details
New Xero customers/suppliers → Rofinery Manual Not picked up on their own — re-run the sync screens in Steps 3–4 periodically to pull in newly added Xero contacts.
Chart of accounts / tax rates Automatic, behind the scenes Read live from Xero whenever needed (e.g. the account code dropdown, or invoice creation). Rofinery matches your organisation's tax rate to the closest active Xero tax rate automatically — nothing to configure.
Invoices: Rofinery → Xero Manual From a project's Billing tab, use Create Xero Invoice on a payment to raise a draft invoice in Xero, or use the bulk sync action to push/refresh several at once. This is one-way — Rofinery doesn't pull invoice line items back from Xero. If the organisation isn't yet linked to a Xero contact, Rofinery creates it automatically at this point.
Invoice paid status: Xero → Rofinery Automatic When an invoice is created, updated, or marked as paid in Xero, Xero notifies Rofinery straight away and the corresponding payment is automatically marked as paid in Rofinery. You don't need to do anything for this to happen — it just works once Xero is connected.

Disconnecting

Click Disconnect Xero on the Integrations page. This removes the stored connection for your team. Existing links between Rofinery organisations/suppliers and their Xero contact IDs are not cleared — reconnecting to the same Xero organisation will resume working against the same linked records.

Troubleshooting

  • "Multiple organisations connected" warning — you authorised more than one Xero org during Connect. Disconnect, then reconnect and select only one.
  • Can't create an invoice / error about sales account — the Sales Account Code (Step 2) hasn't been set yet.
  • Connect button doesn't complete, or you land back on the page with an error — contact Rofinery support; this usually means the integration needs to be reconfigured on your account.
  • You're suddenly shown as "not connected" — Xero access can be revoked or expire on Xero's side (e.g. if it's disconnected from within Xero itself). Just reconnect via Step 1.
  • Paid status isn't updating automatically — try disconnecting and reconnecting Xero. If that doesn't resolve it, contact Rofinery support.

Other articles in Integrations