Connect Xero
Import your workers and their current job from Xero, the accounting and payroll platform. You authorise Oho to read from Xero once, and Oho creates your workers and keeps them in step with Xero on the schedule you choose — so people don't have to be added in two places.
Because you authorise Oho from inside your own Xero account, there's no file to build and no key to copy or store — you click Connect, choose the organisation, and Oho keeps syncing on the schedule you choose.
This connector is still being rolled out. It imports workers and their current job from Xero Payroll, along with worker status — but not full job history yet, and the detail available varies by payroll region (Australia, UK, New Zealand). If you hit something unexpected, contact support@weareoho.com.
Your Xero Payroll employees in Oho as workers — each ready for credentials to be added and checked — kept in step with Xero, without maintaining two lists.
Before you start
You'll need:
- Your people already recorded in Xero Payroll, with the details you want in Oho — their names, contact details, and current job.
- A Xero login with the Payroll admin permission on the organisation you want to connect, to approve the connection in Step 1. You approve it inside Xero's own sign-in page, not in Oho.
- Payroll enabled on that Xero organisation, in a supported region (AU, UK, or NZ).
- A Connect (or Authorise) button on the Xero integration in Oho. If it isn't there yet, the Xero app hasn't been registered for your account — contact support@weareoho.com and we'll set it up with you.
Step 1: Get your auth details
A Xero login with the Payroll admin permission you can sign in with when Oho sends you to Xero. There's nothing to copy or paste.
Xero uses the Authorise with OAuth pattern: rather than generating a key, you grant Oho access from inside your own Xero account. You start this in Oho in Step 2 — there's nothing to prepare in Xero beforehand. When you click Connect, Oho sends you to Xero's sign-in page, you sign in, choose which Xero organisation to connect, and approve the access Oho asks for, and you're returned to Oho with the connection authorised.
Because you sign in on Xero's own page, Oho never sees your Xero password — it only receives permission to read the data you approved, and can keep syncing without asking you to sign in again each time.
Technical detail: the OAuth exchange, organisations & payroll scopes
- Oho uses the OAuth
authorization_codegrant. Clicking Connect redirects your browser to Xero's consent screen; approving it returns an authorisation code to Oho, which exchanges it for tokens server-to-server. - A Xero login can hold several organisations (tenants) — you pick the one whose payroll you want during sign-in. Oho connects one organisation per connection.
- Xero access tokens are short-lived (30 minutes); Oho requests offline access and refreshes them automatically. The payroll scope is region-specific (AU / UK / NZ).
- If the integration doesn't offer a Connect button, the Xero app hasn't been registered for your account — contact support@weareoho.com.
Expected outcome: you're ready to authorise Xero from Oho, and you know which Xero login and organisation to approve it with.
Step 2: Connect it in Oho
In the left menu under Admin, click Integrations, then start a new integration.

Pick Xero from the list of sources.

Click Connect (or Authorise). Oho sends you to Xero's own sign-in page — sign in, choose the organisation to connect, and approve the access Oho asks for. You're returned to Oho and the connection shows as authorised.

Expected outcome: the Xero connection shows as authorised in Oho, and it moves you on to field mapping — you didn't have to copy any credential.
Step 3: Map your fields
Oho creates one worker per Xero Payroll employee. It recognises a returning worker by their Xero employee ID, carried on source.externalId — so a re-sync updates the existing worker in place rather than creating a duplicate.
Xero has its own names for things, and its payroll fields differ across the AU, UK, and NZ regions; the setup screen asks you to line each value up with its Oho equivalent before your first sync. For what each field expects, which are required, and how re-syncs avoid duplicates, see the shared Map your fields reference, and the Xero integration reference for what this connector imports at a glance.
A Xero value you leave unmapped still imports, but Oho can't place it correctly until it's mapped. If a new value appears in Xero later, Oho flags it so you can map it.
Expected outcome: every Xero value the setup screen lists maps to its Oho equivalent, and each worker carries their Xero employee ID as the match key.
Step 4: Set the schedule
Choose how often the sync runs, then name it and save.
- Once — a one-off load to get started. You can disconnect Oho in Xero afterwards if you don't intend to sync again.
- Recurring — Oho re-reads Xero on a schedule, so new starters, role changes, and terminations flow through automatically. The authorisation must stay in place for future runs.

Expected outcome: the connection is saved and scheduled, and appears in your Integrations list.
Step 5: Run & verify your first sync
Run it now with Save & Run, or wait for the first scheduled run. Once it's run, confirm your people are in: they appear under All Workers, and each credential you later add is checked against its official source (see One-off verification).

If the run didn't bring everyone in, check the run history and the Common questions below.
Expected outcome: your people are in Oho under All Workers, ready for credentials to be added and checked.
What happens next
- Your people appear under All Workers, ready for checks.
- To keep those checks current, add a verification source for the credential types you hold — synced credentials then verify at the register automatically.
- You don't re-import by hand — change it in Xero and Oho picks it up on the next run.
Common questions
I connected the wrong company. A Xero login can hold several organisations. Reconnect and choose the correct organisation during sign-in.
No employees imported. Payroll may not be enabled on that organisation, or you authorised without the Payroll admin permission. Enable Payroll in Xero and reconnect as a Payroll admin.
The connection dropped. The app may have been disconnected in Xero. Reconnect from Oho to re-authorise.
I don't see Integrations. This is an admin area — if it's not in your menu, ask an admin in your organisation, or contact support@weareoho.com.
Related
- Xero integration — what the Xero connector imports, at a glance
- Add a data source — all the ways to bring data into Oho
- Integrations — every source Oho can connect to