Skip to main content

Problems

Xero allows only two tracking categories

A Xero organisation holds two active tracking categories. A clinic usually wants four cuts of revenue: practitioner, funding source, site and service type. The test that settles it is whether the dimension decides the revenue account and the tax rate that account carries. Funding source and service type do, so they belong in the account code. Practitioner and location do not, so they take the slots.

Key facts

The limit, in Xero's own forum
The open product idea to raise it opens with a customer writing that there are only two category fields and that this is not sufficient6
How many people are behind that
The idea sits at 244 votes with a status of in discovery, and Xero's community manager answered on 1 Sep 2026 without committing to a change6
Where the ceiling actually bites
On the transaction. Xero's published specification says any line item can carry a maximum of two tracking category elements and says the same of any journal line, so no arrangement of categories puts a third dimension on one line7
The whole of the documented limit
Four tracking categories in one Xero organisation, two of them active at a time, set up in the Accounting menu under Accounting settings, then Tracking categories8
What 100 options actually is
A figure Xero gives to stay under so reports keep loading quickly, not a cap on how many options a category may hold8
What the loudest claim is
Revenue by practitioner, with nine independent sources in the pain point register, ahead of funding source on eight and location and service type on five each11
The claim that cannot use a slot
Funding source. It moves the revenue account in every canonical template, and on an employee assistance contract it moves the Xero tax rate with it. A tracking option moves neither10
What the canonical template does
It spends slot one on Practitioner and slot two on Location, both matched by name and created with the practice's consent10
What a clinic said about it in public
A Nookal reviewer on the Xero App Store wanted one code for location and a second for profession, and reported the daily summary sync carrying one category rather than two9

The limit, and the place it actually bites

Four tracking categories in a Xero organisation, two of them active at a time. Only the two active ones reach a transaction, so the four is storage rather than budget, and no workaround on a settings screen changes that. The limit sits on the transaction: Xero's published API specification says any line item can carry a maximum of two tracking category elements, and says the same of any journal line. The profit and loss report endpoint takes a first and a second tracking category and no third. So no nesting and no combined option gets a third dimension onto the same line.

Xero knows people want more. The product idea asking for the limit to be raised is open, sitting at 244 votes with a status of in discovery. The customer who opened it wrote that there are only two category fields and that this is not sufficient, and Xero's community manager replied on 1 Sep 2026 to say the company is exploring how it might tackle the need without committing to anything. So the practical answer for a practice setting up this quarter is that the number is two.

Four things a clinic wants to measure, two places to put them

An allied health practice asks its ledger four questions. Who saw the client. Who paid for the session. Which set of rooms it happened in. What kind of work it was. Every one is a legitimate reporting cut, and the register of practice pain points behind this site has evidence for all four.

That evidence is not evenly spread. Revenue by practitioner carries nine independent sources, revenue by funding source eight, and revenue by location and revenue by service type five each. If the slots went to whoever shouted loudest, practitioner and funding source would take them. They do not, and the reason is worth more than the vote count.

The test that settles which two get the slots

Ask one question of each dimension: does it decide the revenue account? A tracking option is a label. It rides alongside a posting and changes nothing about it. An account code is the posting, and it carries the Xero tax rate with it, because in Australian allied health the payer and the kind of service between them decide whether a supply is taxable.

So a dimension that decides the account has to be in the account code, whatever the demand for it. A dimension that decides nothing about the posting is free to be a label, and a label has a second advantage: it can be put on a bill as well as an invoice, so it reports the cost side too. A practitioner has wages, supervision and a room. A site has rent. Neither of those shows up in a revenue account.

Where each of the four ends up

The four dimensions, the evidence behind each, and where the test puts it1110
DimensionIndependent sources in the registerDecides the revenue accountWhere it lands
PractitionerNineNoTracking slot one in the canonical template, matched by name
Funding sourceEightYes, every payer has its own account, and an employee assistance contract moves the tax rate with itThe revenue account code
LocationFiveNoTracking slot two in the canonical template, matched by name
Service typeFiveYes, a retail product line has its own account and is taxable where a consultation is notThe revenue account code, beside the payer

The canonical allied health template makes exactly that allocation and records its reason in one line: Xero allows only two active tracking categories, and both are usually needed for Practitioner and Location, so funding source has to live in the account code instead of a third tracking slot. Both slots are matched by name and created only with the practice's consent, so an existing category with existing options is adopted rather than duplicated.

What the account code is already carrying

It helps to see the rules rather than argue about them. The excerpt below is five rows of a standing map, each keyed on the payer and the kind of service. The account changes on every row, because the payer changed or the service did. The rate moves less often: three of these payers land on GST Free Income and the employee assistance contract does not, and a product sold to a private client moves the rate where the consultation beside it does not. Nothing in these five rows is decided by which clinician sat in the chair or which building it was.

Standing map rulesFive rows of a standing rules map. Each row names the funding source, the service, the revenue account it posts to and the Xero tax rate that account carries. Three consultations for three different payers land on three different accounts at GST Free Income, a product sold to a private client lands on the products account at GST on Income, and an employee assistance contract lands on its own account at GST on Income.What was billedWhere it postsPrivate400 Clinicalservices, privatepatientsPractice defaultGST Free IncomeA consultation the client pays forthemselves. The rate follows the supply, andthe same rate applies whichever room ithappened in.Private422 Products andequipment salesProductsGST on IncomeA brace or a splint sold to that same clientat reception. One payer, a differentservice, and a different rate.NDIS agency managed404 Clinicalservices, NDISagency-managedPractice defaultGST Free IncomeA support claimed from the agency. Changingthe payer changes the account, which is whythe payer cannot ride on a tracking option.DVA402 Clinicalservices, DVAPractice defaultGST Free IncomeA veteran's consultation. Another payer andanother account, at the same rate as theprivate consultation above.Employee assistanceprogram409 Employeeassistance andcorporatecontractsPractice defaultGST on IncomeA session an employer's assistance programcontracted for. The recipient is theemployer, so the rate moves again, and atracking option carries no rate.
Plate 1Five rules where the payer or the service decides the account, and the room does not.

That is the argument in a picture. Put the payer on a tracking option and the account still has to be chosen by something else, so one fact about a line lives in two fields that nothing keeps in step. Put the practitioner in the account code and the opposite happens: the chart multiplies by the number of clinicians, and it has to be edited every time somebody joins or leaves.

What it costs to get the allocation backwards

The common mistake is not choosing badly. It is not choosing at all, and letting the practice management system decide by pushing whatever it pushes. A practice that ends up with the clinician in the account code and a slot idle has paid twice.

  • The chart of accounts multiplies: every payer account repeated once per clinician, and edited on every hire and every departure.
  • The expense side stays invisible, because a revenue account cannot carry a wage, a rent line or a supervision cost.
  • A slot sits unused, which is the one thing in this whole problem that is genuinely free.
  • The profit and loss stops being readable, which is usually what finally forces the rebuild.
  • A rebuild means recoding history or living with a break in the comparatives, so the cost lands long after the decision.

What a practice said when it hit the wall

The clearest public statement of the problem from inside a clinic is a four star review of Nookal on the Xero App Store, marked helpful by four other readers. The reviewer wanted two dimensions and named both.

the tracking codes do not work with daily summaries and appear to work for only one Category not for 2. Example Code1 for Location (Practice 1, practice 2) and Code2 for Profession (Physio, Massage, Exercise)9

Read that against the allocation above and something useful falls out. The reviewer asked for location and profession, which is one site dimension and one service type dimension, and did not ask for the practitioner at all. That is a multi site, multi discipline practice, and its second slot is contested by a dimension the test sends to the account code. Which is the honest limit of any general answer: the first slot is settled, and the second is a practice decision about who reads the report.

What the practice systems can actually push

The allocation is only worth making if something writes it onto the line, and the vendors differ.

  • Splose documents setting up tracking categories in Xero for locations and practitioners, then assigning them under Locations and Users, and states the two active category limit itself.
  • PracSuite documents one tracking category selection under its Businesses heading, and does not say what it does where the Xero file already holds two.
  • Zanda documents two tracking categories with multiple options and uses location as its own worked example.
  • Cliniko's native integration maps sales accounts, payment accounts and a default tax rate, and its setup article names no tracking category at any level.
  • Interlock IT sells an advanced Cliniko to Xero integration that does write a category by location or business, at a price it does not publish.

None of these five writes the funding source. The payer is not a tracking dimension in any of them, which is the gap the account code is filling, and it is why all practice revenue landing in one Xero account is the problem sitting underneath this one.

When two genuinely is not enough

Sometimes a practice does need a third cut in the ledger rather than in a report. There are four places to put it, and each has a price.

The four places a third dimension can go, and what each one costs1110
Where the third cut goesWhat it costs
The revenue account code, beside the payerThe chart multiplies by the new dimension, and every new option means new accounts
A second Xero organisationA second organisation to run, a chart maintained twice, and group numbers assembled outside Xero
Item codes on the invoice lineIt is maintained per item, and one item such as a standard consult is paid by several funders, so it cannot carry the payer
A report out of the practice management systemIt is not in the accounts, it excludes the expense side, and it goes stale when an invoice is reissued

There is a fifth move that costs nothing and gets forgotten. An option inside a category can be archived rather than deleted, so a category that has accumulated departed clinicians or closed rooms can be tidied without losing what is already coded to it. That is a different fix from a third category, and it is the one that helps a practice that is really only out of room inside a category. The procedure is on archiving a tracking option.

What Ledger Map does with the two slots

Ledger Map holds one standing map for the practice, approved before anything syncs. The map resolves a line to the revenue account and the Xero tax rate the practice's template carries, then posts the funder's deposit as one balanced document set and leaves one exact match in the bank feed. 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 two slots sit in that same approved map. The practice decides what each one carries, the categories are matched by name against what is already in the Xero file and created only with consent, and every document written afterwards carries the options that decision produced. The setup for each slot is on tracking categories by practitioner and tracking categories by funding source.

Questions

  • How many tracking categories can Xero have?

    Four in one organisation, with two of them active at a time. The ceiling that bites is the active one, and it sits on the transaction rather than on a settings screen: Xero's published specification says any line item can carry a maximum of two tracking category elements, and says the same of any journal line. The open product idea asking for more is at 244 votes with a status of in discovery.

  • Should funding source be one of my two tracking categories?

    The canonical templates put it in the revenue account code instead. Every payer has its own revenue account, and that account carries the tax rate, which an employee assistance contract moves where a private consultation does not. A tracking option moves neither, so putting the payer on a label would split one fact about a line across two fields.

  • What are the best two tracking categories for an allied health clinic?

    The canonical allied health template spends slot one on practitioner and slot two on location, both matched by name and created with the practice's consent. A single site practice with several disciplines has a real case for putting service type in the second slot instead, and that is a practice decision rather than a rule.

  • Can I get a third tracking category in Xero?

    Not inside one organisation today. The four substitutes are a third dimension in the account code, a second Xero organisation, item codes on the invoice line, or a report out of the practice management system. Archiving options inside an existing category is the cheaper move where the problem is really clutter.

  • Which practice systems can push a tracking category to Xero?

    Splose and Zanda both document it, and PracSuite documents one selection under its Businesses heading. Cliniko's setup article names none, so a Cliniko practice buys it through a third party integration such as Interlock IT. None of these five writes the funding source: the payer is not a tracking dimension in any of them.

Sources

Open questions

  • No search snapshot was captured for this query, so the answer landscape in the brief is reasoned from the sources rather than observed. The questions above come from the corpus question list and from People also ask on two adjacent tracking category queries, not from this query's own results. Recapture it before this page moves off draft.
  • Xero's set up article gives the four in total, two active limit and puts 100 options per category as a figure to stay under for report speed. What it does not give is a number at which a category stops working, so a practice that wants a very long option list has only its own report times to go on.
  • Whether the second slot should carry sites or disciplines depends on who reads the report. The corpus leaves it open and the product exposes it as a setting rather than choosing for the practice.
  • GST on report writing and on supervision is left open by the corpus, so the service type row above uses retail product lines as its worked example and says nothing about reports.
  • The product idea thread is in discovery, which is a status rather than a commitment, so nothing here should be read as a date for a third slot.
  1. Set up Xero tracking categories

    Splose. Retrieved 2 Sep 2026. Source updated 18 Jun 2026.

    primary

  2. Xero tracking categories

    PracSuite. Retrieved 3 Sep 2026. Source updated 5 Aug 2024.

    primary

  3. Exporting to Xero

    Zanda. Retrieved 3 Sep 2026.

    primary

  4. Integrate Cliniko with your Xero account

    Cliniko. Retrieved 29 Aug 2026.

    primary

  5. Advanced Cliniko to Xero integration

    Interlock IT. Retrieved 29 Aug 2026.

    secondary

  6. Tracking categories, increase the maximum number of active categories and options

    Xero Product Ideas. Retrieved 3 Sep 2026. Source updated 1 Sep 2026.

    secondary

  7. Set up tracking categories

    Xero Central. Retrieved 4 Sep 2026.

    primary

  8. Nookal on the Xero App Store, customer reviews

    Xero App Store. Retrieved 3 Sep 2026.

    secondary

  9. Allied health by funding source, the canonical template

    Ledger Map. Retrieved 3 Sep 2026.

    primary

  10. Customer pain point evidence, entries P4 to P7

    Ledger Map. Retrieved 3 Sep 2026. Source updated 29 Aug 2026.

    secondary

Review

Last reviewed 4 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.