Connecting
Settings → Integrations → Finance. Sign in to Xero and choose the organisation. A Client Admin has to do it — this is a financial connection, not a preference.
Decide which system raises invoices
The first choice is the important one, because it decides which system is the source of truth:
- WorkHub sends it — Xero records it as approved. You raise invoices in WorkHub; they arrive in Xero already approved.
- Xero sends it — WorkHub creates a draft. You raise them in Xero; WorkHub keeps a draft so the building side still knows what was billed.
Pick the one that matches who actually raises invoices in your business. Getting this backwards is how you end up with duplicates.
Every kind of money in its own account
This is the part that separates a real integration from a button that says "Xero".
A single sales account tells you almost nothing. Rent from a tenancy and a two-hour room hire arrive in the ledger indistinguishable from one another, and your accountant unpicks them by hand at year end.
WorkHub maps each category to its own Xero account:
| Sales category | What lands here |
|---|---|
| Rent | Tenancy invoices raised from contracts in Lifecycle |
| Service Charge | Service charges billed alongside rent |
| Booking | Room hire, from the widget and the diary |
| Sundry | Anything else invoiced by hand |
Expenses map the same way, across maintenance, cleaning, compliance, IT, utilities and general.
Rent and room hire are different businesses with different margins. Posted separately, you can see which one is actually working.
Anything you leave unmapped falls back to your single sales account, so a partial mapping is safe to start with.
Contacts matched on email, not name
A display name is one legal suffix away from being a different customer. "AW House" and "AW House Ltd" are the same tenant, but a name-only match creates a second contact — and every push widens the gap.
WorkHub matches on email address first, name second. Where the email matches but the names differ, the existing Xero contact wins: Xero is the system of record for billing, so a contact called AW House Ltd stays AW House Ltd rather than being renamed to whatever the building calls them.
Keep email addresses on your company records and this looks after itself.
VAT and MTD
UK VAT rates carry across with the invoice, and filing happens in Xero as it does now — so you stay MTD-compliant through the tool that already handles it.
What flows back
Payment status returns to the WorkHub invoice, so the building-side view of who owes what stays true without anyone reconciling two systems by eye.
Use Xero for statements and chasing. It is what your accountant works in, and duplicating it would be a worse version of a tool you already have.
Checking it is actually working
Settings → Integrations → Activity log records each push and its outcome. Check it after your first few invoices rather than assuming — a silent integration and a working one look identical until month end.
Cost per ticket, in the ledger
Because ticket costs are categorised at the point they are recorded, maintenance spend reaches Xero already coded. The operational question (which contractor, which building, which category) and the accounting question are answered from the same data.
The rest of the platform
Finance is one module. See how it connects across a serviced office or business centre, a coworking space or a multi-site portfolio, or browse every integration.