Problems
Revenue by practitioner is missing in Xero
Nothing on a synced invoice says who did the work. Cliniko sends no practitioner information to Xero with invoices, and the account code is already spent on the payer. That leaves three places a clinician can live: a sales account each, a report inside the practice software, or one of Xero's two tracking slots. Each costs something different.
Key facts
- What the sync sends about the clinician
- Cliniko states that no practitioner information is sent to Xero with invoices, and offers a Xero sales account per practitioner instead5
- Which mapping wins
- A billable item account overrides the default sales account and any practitioner sales account, so one shared item code quietly undoes the practitioner mapping6
- What the chart is already carrying
- The canonical allied health template ships 18 revenue accounts, cut by payer and service category, and not one of them names a person11
- Where the practitioner is meant to sit
- Tracking slot one, on Practitioner, matched to the practice system by name and created only with the practice's consent11
- The slot budget
- A line item carries at most two tracking category elements, and the profit and loss report endpoint accepts two tracking categories and no third10
- The two reports inside Cliniko
- Revenue by raised invoices counts what was invoiced, on the issue date. Revenue by closed invoices counts invoices that have been closed, which usually means paid7
- What neither report mentions
- GST, refunds and reversals appear nowhere in the practitioner earnings article7
- What a payout is best built on
- Money that has landed in the bank and been reconciled that day, rather than what the billing system says was charged12
- A published band to read the result against
- Practitioner costs, wages, super and locums, at 35 to 45 percent of clinical revenue, which ScaleSuite gives as the target13
What arrives in Xero, and what stays behind
A synced invoice arrives complete in every way except one. The contact, the lines, the amounts and the tax rate all travel. The one field an owner wants for a contractor payout, the name of the person who saw the client, is the field the sync leaves at the door. Cliniko says so in the middle of an article about something else.
Although no practitioner information is sent to Xero with invoices, you are able to set a Xero sales account for each practitioner within Cliniko.5
That one sentence holds both halves of the problem: the gap, and the workaround offered in its place. An account is where money is filed, not a label on a person. A Xero profit and loss has nothing to group by. There is no missing report and no setting switched off. There is no field.
- The contact, taken from the payer or the patient name on the invoice.
- The lines, the amounts and the Xero tax rate the practice system mapped.
- A revenue account, chosen by billable item, then by practitioner, then by the default.
- A clearing account for the payment, chosen by payment type.
- No tracking option, and no other field naming the clinician.
The account code is already answering a different question
The obvious move is to make the account do the work. That is where it gets expensive, because in an allied health practice the account is already committed. The canonical template ships 18 revenue accounts, and every one of them exists to answer who paid, on what terms, for what kind of supply. Below is one clinician's week read through those rules.
Five sessions, five accounts, and the thing they have in common is the only thing not written down. The account already answers a payer question and a GST question at once, so asking it to answer a third question about a person means multiplying the whole set.
The first workaround: a sales account each
Cliniko can put a practitioner's revenue in a nominated account, and Zanda can do it by calendar where a practice runs one calendar per clinician, so this one works today with no add-on. Set a Xero account code on the practitioner, and their invoices land there. For a two person practice billing private clients only, it is a reasonable answer and it costs almost nothing.
It stops being reasonable the moment the practice bills more than one payer, because the payer split has to survive. A practice cannot fold the clinician into the account and keep Medicare separate from NDIS separate from private, unless it creates the whole payer set again for each person.
| Clinicians | Revenue accounts to keep the payer split | What the ledger looks like |
|---|---|---|
| One | 18 | The chart the template ships, split by payer and by service category |
| Three | 54 | A profit and loss that no longer fits on a page, with the payer split repeated per clinician |
| Six | 108 | A chart that has become a matrix, and a new account set to create every time someone is hired |
There is a quieter failure too. In Cliniko the billable item setting sits above the practitioner setting: an item with its own Xero account overrides the default and any practitioner account. A practice that maps items for GST reasons, so reports and product sales land where they should, has already disarmed the practitioner mapping on those lines. Revenue by clinician then looks right for consults and wrong for the rest, with no error anywhere.
The second workaround: the report in the practice software
This is what most practices do. Cliniko produces practitioner revenue two ways, filtered by date range, practitioner and business, so the number is a minute away. The catch is that it is not the same number as the one in Xero, and nobody says so on either screen.
| Where the number comes from | What it counts | The date it uses |
|---|---|---|
| Revenue by raised invoices | Everything invoiced in the period, paid or not | The invoice issue date |
| Revenue by closed invoices | Invoices that have been closed, which usually means paid | The date the invoice closed in the practice system |
| A Xero profit and loss on an accrual basis | Invoiced revenue by account, net of credit notes | The invoice date in Xero |
| A payout built on receipts | Money that has cleared the bank and been reconciled | The bank date on the deposit |
The raised invoices line and the Xero profit and loss track each other. The other two do not, in any month where a claim is lodged late, a deposit lands after the last business day, or a patient pays an old account. The practitioner earnings article mentions no GST, refunds or reversals, so a report used straight as a payout base pays someone a share of tax that belongs to the activity statement, and a share of a refunded session.
How long this has been asked for
This is a decade old gap rather than a new one, which changes what a practice should plan around. Someone asked the Cliniko API for the raw material in 2015.
The payments endpoint would be extremely useful for generating reports that Cliniko can't generate at the moment regarding daily payments seperated by practitioner, etc.8
That request was still open when the repository was archived in 2025. The API documents the invoice resource as read only and lists no payments resource, while still offering invoices by practitioner, so the link exists in the product and stops at the sync. Planning on the native sync growing a practitioner field has not paid off for the people who tried it.
The third place a clinician can live
The place Xero actually built for this is a tracking category, and the canonical template spends its first slot on Practitioner for exactly that reason, with the second going to Location. A tracking option sits beside the account rather than inside it, so a practice reads revenue by clinician and revenue by payer off one profit and loss without touching the chart. It also carries expenses, which an income account cannot.
Setting it up is a separate job from deciding to do it. Xero tracking categories for a clinic covers the Xero side, the practitioner tracking category covers naming and keeping the option list joined to the practice system, and tracking category reports covers reading the result.
What each practice system can push
Whether the slot fills itself depends on the practice system, and this is where a practice finds out that the answer is a product decision rather than a Xero one. Each line below says what the vendor's own documentation says, and no more.
- Cliniko: a sales account per practitioner, and no tracking category anywhere in the integration articles.
- Zanda: two tracking categories set in the integration settings, and calendars pre-mapped to Xero sales accounts for a practice running a calendar per clinician.
- Splose: tracking categories created in Xero and then assigned to locations and to practitioners.
- PracSuite: tracking applied to the invoices and payments the sync creates, with a business level category as the worked example.
None of that is a reason to change practice systems, which are chosen on clinical workflow. It does change the shape of the decision. On Splose or Zanda the practitioner cut is configured. On Cliniko it is bought, folded into the account code, or kept outside Xero. The Cliniko integration page sets out the rest of what the sync carries.
The payout is a receipts question, not a billings one
Even with the tracking option in place, one decision is left, and it is the one that costs money when it goes wrong. A contractor share paid on invoiced revenue pays people for claims that have not been approved, deposits that have not landed, and short payments nobody has looked at yet. Health and Life argue the split belongs on money that has cleared the bank and been reconciled that day, and name the ATO ruling on the receipts versus earnings basis as the thing to settle with the practice's own accountant.
That is why the useful report is cash basis and by payment date, with the funder mix, the refunds and the reversals on it, and a line proving every receipt in it was matched to a bank deposit. Read against a published band such as practitioner costs at 35 to 45 percent of clinical revenue, the number then means something. Read off raised invoices, it means the practice paid early on money it may not collect. Cash versus accrual in Xero is the same distinction in the ledger.
One thing this page will not settle for you. Where the practice is the principal, patient fees are practice revenue and the contractor share is an expense. Where the practitioner is the principal and the practice charges a service fee, the fees are held on behalf and only the fee is revenue. Those are different ledgers, and which applies is a question for the practice's accountant.
Where Ledger Map sits in this
Ledger Map holds one standing map the practice approves before anything syncs. The map resolves a line to the revenue account and the Xero tax rate the practice's template carries, a funder's deposit is posted as one balanced document set, and one exact match is left in the bank feed for a person to accept. It does not auto-reconcile, and a line the map cannot resolve becomes a question with the options set out rather than a silent posting.
The clinician rides alongside that on the tracking slot the practice chose to spend, so the account keeps answering the payer question and the option answers the person question. Because deposits are posted from reconciled money by payment date, the receipts view a payout needs falls out of the reconciliation rather than a second spreadsheet. What the product does not do is pick a practitioner for a line it cannot identify.
Questions
Why does Xero not show revenue by practitioner?
Because nothing on the invoice says who the practitioner was. Cliniko states that no practitioner information is sent to Xero with invoices, and Xero can only group by a field something wrote to the line, which means an account code or a tracking option. Neither is filled in by default.
Can I just create a Xero sales account for each practitioner?
You can. Cliniko sets it on the practitioner, and Zanda gets there by mapping calendars. The cost is the chart. The payer split has to survive the practitioner split, so the revenue accounts multiply by the number of clinicians. In Cliniko a billable item mapping also overrides the practitioner account, so some lines will bypass it.
Is the practitioner revenue report in my practice software good enough?
It answers the question quickly and it is what most practices use. Watch two things. Revenue by raised invoices and revenue by closed invoices count different money on different dates, and the article behind them mentions no GST, refunds or reversals, so a payout taken straight off one can pay a share of tax and of refunded sessions.
How many tracking categories can Xero hold?
A line item carries at most two tracking category elements, and the profit and loss report endpoint accepts two tracking categories and no third. The canonical allied health template spends slot one on the practitioner and slot two on location, which is why the funding source lives in the account code.
Should a contractor payout be calculated on invoices or on receipts?
Health and Life argue for receipts: money that has landed in the bank and been reconciled that day, rather than what the billing system says was charged. They point to the ATO ruling on the receipts versus earnings basis and say to confirm which applies with the practice's own accountant.
Read next
- TemplatesXero tracking category for practitioners
- Xero how toXero tracking categories for a clinic
- Xero how toReport by tracking category in Xero
- ProblemsAll practice revenue lands in one Xero account
- ProblemsSplitting Cliniko revenue by location in Xero
- Practice systemsCliniko Xero integration: what syncs, what does not
- HubProblems
Sources
Open questions
- No search results snapshot was captured for this query, so the answer landscape in the brief is reasoned from the sources rather than observed, and the questions above come from the corpus question list rather than from People also ask. Recapture it before this page moves off draft.
- Cliniko's help centre prints a relative freshness label rather than a date on the two mapping articles, so how recently the item beats practitioner precedence changed is not knowable from the page.
- Whether patient fees are the practice's revenue at all depends on whether the practice is the principal or charges a service fee, and the corpus records both models without settling which applies to a given practice. That is a question for the practice's accountant.
- The ATO ruling on the receipts versus earnings basis is named by Health and Life and was not read for this page, so it is described here as the reference that firm cites rather than as a rule this page applies.
- The 35 to 45 percent practitioner cost band is an advisory firm's benchmark with no published sample behind it, so it is a sense check rather than a measurement.
- Zanda's own support page describes the two tracking categories as integration settings, while the registered comparison row records them as pre-assigned per batch. The vendor line above follows the vendor page, and which is current was not settled here.
- Halaxy documents a two way Xero sync, but the corpus holds that source at unverified confidence and no second source was found to confirm what it carries about practitioners, so Halaxy is left out of the vendor list above.
- Sync practitioner invoice items in Cliniko to specific sales accounts in Xero
Cliniko. Retrieved 3 Sep 2026.
primary
- Sync billable items in Cliniko to specific sales accounts in Xero
Cliniko. Retrieved 3 Sep 2026.
primary
- Xero Accounting API specification, tracking categories on a line item
Xero. Retrieved 3 Sep 2026. Source updated 30 Aug 2026.
primary
- First principles, paying practitioners on receipts
Health and Life. Retrieved 3 Sep 2026. Source updated 23 Jul 2026.
secondary
- Physiotherapy clinic finance
ScaleSuite. Retrieved 3 Sep 2026. Source updated December 2025.
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.