Xero how to
Xero payroll tracking for practitioners
Xero payroll puts one tracking option on a wage line, from an employee group on the employee record or from a tracking option chosen per timesheet line. Use the same option name the revenue side uses, and Profit and Loss by tracking category shows fees earned and wage cost for one practitioner together. Payroll carries one category, not two.
Key facts
- Where the wage cost picks up its option
- An employee group named on the employee record, which Xero uses to report payroll expenses and liabilities for each group of employees3
- The other place
- A timesheet category, chosen in payroll settings, from which each timesheet line takes one tracking option beside its earnings rate3
- The payroll limit
- Payroll tracking takes one employee group and one tracking category, while invoices, bills, quotes and expense receipts take two4
- The platform limit
- Four tracking categories in an organisation, two active at a time. The figure of 100 options in a category is what Xero gives for keeping reports quick to load12
- The two slots in the canonical template
- Slot one Practitioner and slot two Location, both matched by name and created with the practice's consent10
- Why funding source is not a slot
- Both slots are usually spoken for, so the template carries funding source in the revenue account code instead10
- The report
- Profit and Loss by tracking category, in its comparison form, which puts the options side by side in columns6
- The number this produces
- One advisory firm puts sustainable practitioner employment cost, salary plus super, at 35 to 45 percent of the revenue that practitioner generates7
- What the practice systems push
- Splose syncs the tracking options assigned to a practitioner and a location onto the invoice, and Cliniko's integration article names no tracking category1
Revenue by practitioner is half the answer
A practice that codes its fees to a practitioner tracking option can say what each clinician billed. It still cannot say what each clinician cost, because the wage sits in a pay run and a pay run carries no tracking option until somebody puts one there. Labour cost per practitioner is the distance between those two facts, and closing it is a settings job rather than a spreadsheet job.
There are two settings and one naming rule. Xero payroll can put an option on a wage line in two places, and the option has to be one the revenue side is already reported on. Same category, same spelling, same person. Get the spelling wrong and the report shows one practitioner twice, once earning and once costing.
Tracking categories to separate revenue and costs by practitioner or by clinic location if you operate across multiple sites.9
Where a wage line picks up its option
The first place is the employee group. Payroll settings hold one tracking category for employee groups, and each employee is then given one option of that category on their employee record. Xero's own description of the field is that the group is what lets payroll expenses and liabilities be reported per group, and it is a standing setting rather than something to remember at pay time.
The second place is the timesheet. Payroll settings hold a second tracking category for timesheets, and hours are then allocated line by line, each line naming one earnings rate and one option from that category. That is what a practice reaches for when one person's hours have to split, across two sites in a week or across a funded program and general clinic work.
- Check the option names on the Practitioner category first, because the wage side reuses them exactly.
- Choose that category in the employee groups selector in payroll settings.
- Set each employed practitioner's employee group to their own option on the employee record.
- Fill the timesheet categories selector with a second category where hours have to split.
- Give each earnings rate its own timesheet line and choose the option that earned those hours.
- Run Profit and Loss by tracking category and check the basis before quoting a percentage from it.
Payroll takes one category, not two
Xero gives an organisation four tracking categories with two of them active at a time, and most of the ledger can use both active slots at once. A sales invoice line carries two. A bill carries two. A pay run does not. Payroll tracking assigns one employee group and one tracking category, so a wage line arrives in the profit and loss with a single label on it.
| What is being coded | Categories it can carry | What that means here |
|---|---|---|
| Sales invoice and quote lines | Two | Practitioner and Location both ride the fee, so revenue splits either way |
| Bills and expense receipts | Two | Room costs and consumables can carry the same pair as the fee |
| Salary and wage cost through an employee group | One | Whichever category is nominated, the other one is missing from the wage side |
| Hours entered on a timesheet | One per line, from the timesheet category | Hours split across options, but not across two dimensions at once |
For a single site practice this costs nothing: Practitioner is the only slot the wage side wants. For a multi site practice it is a real choice, and the answer is the dimension the revenue is already reported on. Reporting labour cost by site while reporting fees by clinician leaves two reports that cannot be put beside each other.
The workaround that circulates is to read the pay run journal back through the API and repost it as a manual journal carrying both categories. It works, and it doubles the number of places a wage figure lives. A practice without a developer is better served by choosing the slot that answers the question it asks most months.
The revenue side of the same option
The fees the wage is being compared against are spread across funders, and each funder posts to its own revenue account. That is what the canonical allied health template does: Practitioner in slot one, Location in slot two, and funding source in the account code, because there is no third slot to put it in.
Five accounts, one tracking option. Every one of those lines carries the same practitioner option, so the wage line coded to that option lands beside the whole week's fees rather than beside one funder's share of them. This is why the account code does the funder work: if funding source took a slot, the practitioner would have nowhere to sit.
Whether the fee lines get there on their own depends on the practice system. Splose has the practice assign a Xero tracking option to each practitioner and location, and syncs those onto the invoice. Cliniko's integration article documents invoices, payments and account codes and names no tracking category, so on that path the option has to be added in Xero or by something sitting between the two.
The report the setup exists for
The output is Profit and Loss by tracking category in its comparison form, with one column per practitioner. Revenue accounts by funder run down the left, wage cost sits underneath them, and the gross margin per clinician falls out of the same page. That is the report a practice currently rebuilds by exporting a practice system report into a spreadsheet each month.
One advisory firm writing for physiotherapy practices puts sustainable practitioner employment cost, salary plus super, at 35 to 45 percent of the revenue that practitioner generates, and lists revenue by practitioner and funding source as a monthly job. Treat it as that firm's figure for that discipline rather than as a benchmark for psychology or speech pathology, and read the trend in your own columns.
Employed, contractor, or service entity
This page is about an employed practitioner, and the structure decides whether payroll is even the right place to look. Three arrangements produce three different sets of books, and only the first one puts the cost through a pay run.
- Employed practitioner: fees are the practice's revenue and the wage is a payroll expense, so the employee group carries the option and the two meet on one report.
- Contractor paid a share of billings: fees are still the practice's revenue and the payout is a bill, so the tracking option goes on the bill line rather than through payroll.
- Service entity, where the practitioner is the principal: the fees belong to the practitioner and the practice's own revenue is the service fee, so a labour cost percentage of practice revenue means something else entirely.
The choice between them is the practice's accountant's call, and it is under scrutiny for payroll tax, so nothing here settles it. What matters for the setup is that the option name stays the same across all three. A practitioner who moves from contractor to employee mid year should keep one option, so the year reads as one person.
The two sides sit on different dates
Once both sides carry the option, the remaining trap is timing. A wage sits on the pay run's payment date. A fee sits on the invoice date on an accrual report and on the payment date on a cash one. A practice reading a cash basis profit and loss is comparing this fortnight's wages against fees that were billed weeks ago and paid whenever the funder got to them.
The gap is widest where the funder is slowest, which for allied health is the batch paid work rather than the private work. Pick one basis, note which one the report is on, and compare the same practitioner across months on that basis instead of switching between them.
Payouts have their own rule. Health and Life argue a practitioner should be paid on money that has landed in the bank and been reconciled, not on what the billing system says was charged, and they name two errors this page can help avoid: confusing receipt dates with bank arrival dates, and matching on amount while paying the wrong practitioner.
Before you turn it on
- Agree the option names once, in the practice system and in Xero, before any of them is mapped to a person.
- Decide which slot rides the pay run, and write down why, because the other slot is the one the wage side will be missing.
- Check whether the practice system pushes tracking options on the fee lines, or whether something else has to.
- Leave archived practitioners archived rather than renaming an option, so last year's report still reads correctly.
- Check what the pay run journal carries on leave, superannuation and employer tax lines before quoting a total cost per practitioner.
The last one is the one to test rather than assume. Whether every line of a pay run journal picks up the employee group option, or only the earnings lines, could not be confirmed from a readable source, and it changes the denominator of any labour cost percentage. Run one pay run and read the journal before publishing a number from it.
What Ledger Map does with it
Ledger Map holds the revenue half. One standing map for the practice, approved before anything syncs, resolves each fee line to its account, its tax rate and its practitioner tracking option, and each funder deposit is posted as one balanced document set with one exact match left in the bank feed for a person to accept.
The payroll half stays in Xero, set by a person on the screens above. What the map contributes is the naming rule: the practitioner options it writes on fee lines are the practice's own option names, taken with consent, so the wage side has something to match. How it works shows the map and the approval step, and Xero tracking categories for a clinic covers the setup on the revenue side.
Questions
Can a Xero pay run carry two tracking categories?
No. Payroll tracking assigns one employee group and one tracking category, while invoices, bills, quotes and expense receipts each carry two. A practice that wants both practitioner and location on the wage side is looking at reposting the pay run journal through the API, which is a developer job rather than a setting.
Where do I set the tracking option for an employee?
In two steps. Choose a tracking category in the employee groups selector in payroll settings, then open the employee and choose one of that category's options as their employee group on the employee record. Xero uses that group to report payroll expenses and liabilities for each group of employees.
What is the difference between an employee group and a timesheet category?
An employee group puts one option on a person's pay, set once on their employee record. A timesheet category lets each timesheet line carry its own option beside an earnings rate, which is how hours split across sites or programs. They are two separate selectors in payroll settings, so filling both with different categories spends the organisation's two active slots on payroll.
Do I need a tracking category for funding source as well?
The canonical allied health template puts funding source in the revenue account code instead, because both tracking slots are usually taken by Practitioner and Location. That leaves the practitioner slot free for the wage side, which is what makes revenue and cost meet on one report.
How do I compare a practitioner's wage cost to what they billed?
Run Profit and Loss by tracking category in its comparison form, with the practitioner options as columns. Note which basis the report is on first: on a cash basis the fees are the ones paid in the period, which for batch paid funders can be weeks behind the sessions the wage covered.
What about a contractor rather than an employee?
A contractor's payout is a bill, not a pay run, so the tracking option goes on the bill line and none of the payroll settings apply. Keeping one option name for the person across both arrangements is what lets a year that includes a change of status still read as one practitioner.
Read next
- Xero how toXero tracking categories for a clinic
- Xero how toReport by tracking category in Xero
- Xero how toArchive a practitioner in Xero tracking
- Xero how toXero tracking categories or Xero Projects, for a clinic
- ProblemsSplitting Cliniko revenue by location in Xero
- ProblemsChanging the practitioner on a paid invoice
- HubXero how to
Sources
Open questions
- The payroll tracking article was not read for this page, so the payroll screen names here come from Xero's published Payroll AU API specification and from two vendors who integrate with those screens rather than from the help centre.
- That specification holds one tracking category for employee groups and one for timesheets, and Satva states the limit of one employee group and one tracking category in payroll. Whether Xero also blocks the same category being chosen in both selectors could not be confirmed.
- Whether every line of a pay run journal carries the employee group option, or only the earnings lines, could not be confirmed. Leave, superannuation and employer tax change the denominator of a labour cost percentage, so a practice should read one pay run journal before quoting one.
- The 35 to 45 percent employment cost range is one advisory firm's figure for physiotherapy. No comparable published figure was found for psychology, speech pathology or occupational therapy.
- Whether the practice runs as principal or as a service entity changes what the wage side is, and the structure is being scrutinised for payroll tax. That is the accountant's call and this page does not resolve it.
- Xero Payroll AU API specification, version 18.0.0
Xero. Retrieved 3 Sep 2026. Source updated 30 Aug 2026.
primary
- Xero payroll tracking categories guide, with workaround
Satva Solutions. Retrieved 3 Sep 2026. Source updated 1 May 2026.
secondary
- Xero tracking categories and the wages expense account
Tanda. Retrieved 3 Sep 2026. Source updated 16 Mar 2026.
secondary
- Xero tracking categories, a setup guide
LedgerLogic. Retrieved 3 Sep 2026. Source updated 20 Feb 2026.
secondary
- Physiotherapy clinic finance
ScaleSuite. Retrieved 3 Sep 2026. Source updated December 2025.
secondary
- First principles, paying practitioners on receipts
Health and Life. Retrieved 3 Sep 2026. Source updated 23 Jul 2026.
secondary
- Bookkeeping for a West Melbourne physiotherapy clinic
True Tally. Retrieved 3 Sep 2026. Source updated 1 Jul 2026.
secondary
Review
Last reviewed 3 Sep 2026 by Shane
General information for Australian allied health practices, not tax advice. Confirm a treatment with your BAS agent or accountant before you post it.
Guided onboarding
Run one real month before you go live.
Sign up, connect Zanda and Xero, and replay a month you already closed. The map is reviewed with whoever owns the books, and nothing posts until you approve it.
Every practice starts from a template. Nothing posts until the map is approved.