TL;DR
Xero supports two tracking categories per organisation, each with up to 100 options (Xero tracking documentation, accessed 24 May 2026). For MSPs, the two slots are almost always Location (slot 1) and Department or Revenue Type (slot 2). Connect Zero maps ConnectWise locations one-to-one to a Xero tracking category option at invoice line level. The decision that matters most is which dimension goes in slot 2.
The two-category limit and why it matters
Xero limits every organisation to two tracking categories. This is not a configurable cap; it is a hard architectural limit baked into the Xero data model. Every report that slices P&L by a dimension other than account-code can only slice by these two categories.
For an MSP, two dimensions are rarely enough to capture everything the CFO wants to slice by. Common dimensions an MSP CFO wants: Location (office, region, branch), Department (sales, service, projects), Revenue Type (managed services, projects, hardware, professional services), Customer Segment (enterprise, mid-market, SMB), Service Line (cybersecurity, cloud, on-prem).
Five dimensions, two slots. The decision is which two matter most, knowing that the other three will live somewhere else (typically in the Xero account-code structure, or in a Power BI dashboard that pulls from both Xero and ConnectWise via API and joins them at the reporting layer).
The dominant 2026 pattern for MSPs
Roughly 80 percent of MSPs we work with use this pattern.
| Slot | Category name | Options | Sourced from ConnectWise |
|---|---|---|---|
| 1 | Location | Adelaide, Sydney, Brisbane (or Australia, NZ, UK for international) | ConnectWise location |
| 2 | Revenue Type | Managed Services, Projects, Hardware, Professional Services | ConnectWise agreement type or product category |
This pattern produces two natural P&L slices: revenue by location (which lets the CFO see whether the Brisbane office is profitable) and revenue by service type (which lets the CFO see whether managed services revenue is growing as a share of total). Both are the questions the typical MSP CFO asks at monthly board reviews.
The remaining 20 percent of MSPs split between two alternative patterns. Pattern B: Location + Department (sales, service, projects, admin), which suits MSPs whose internal team allocation is the most important slice. Pattern C: Location + Customer Segment (enterprise, mid-market, SMB), which suits MSPs whose go-to-market is segmented and the CFO wants per-segment unit economics.
Mapping ConnectWise locations to Xero tracking options
ConnectWise PSA has a Location field at the customer level and a Department field at both the customer and agreement levels. The mapping into Xero tracking categories is one-to-one at the invoice line level.
Concrete example for a three-office Australian MSP doing AUD 3 million revenue.
- ConnectWise locations: "Adelaide Office", "Sydney Office", "Brisbane Office".
- Xero tracking category 1: "Location", with options "Adelaide", "Sydney", "Brisbane".
- Connect Zero mapping: Adelaide Office → Adelaide, Sydney Office → Sydney, Brisbane Office → Brisbane.
For a customer based in Adelaide whose invoice has a line for managed services and a line for a hardware purchase, both lines are tagged with Location=Adelaide in Xero. The Revenue Type tracking category (slot 2) is set per line: the managed services line gets "Managed Services", the hardware line gets "Hardware".
This produces a Xero P&L that can be sliced by Location to show Adelaide-only revenue, or by Revenue Type to show Managed Services revenue across all three offices, or by both (Adelaide Managed Services revenue specifically).
What goes wrong: unmapped locations and silent untracked invoices
The single most common Xero-side reporting issue we see in 2026 is untracked invoice lines: invoices that landed in Xero with no Location tracking value set, which fall into the "Untracked" bucket in any Location-sliced P&L.
This happens for two reasons. First, a new ConnectWise location was added (a new office opened, a new region) but the Xero tracking option was not added and the sync mapping was not updated. The sync runs, the invoice has a location ConnectWise side, the sync can't find a matching Xero option, the sync logs a warning but the invoice still creates (with blank tracking). The CFO opens the Location-sliced P&L next month and sees an "Untracked" row showing AUD 18k of revenue that nobody can explain.
Second, the ConnectWise location field is genuinely blank on some customers (typically older customers that pre-date the location-tracking pattern). The sync has nothing to map. Same outcome: blank tracking, Untracked bucket, awkward conversation at the next board meeting.
The fix in both cases is process, not technology. Add the new location to Xero before adding it to ConnectWise. Back-fill the location field on customers whose record pre-dates the pattern. Run a quarterly check that ConnectWise locations and Xero options are in sync.
Numeric scenario: three-office MSP, one quarter
Concrete numbers for a typical three-office Australian MSP. Q1 of 2026, AUD 750k revenue, 280 invoices, 3 locations, 4 revenue types.
| Adelaide | Sydney | Brisbane | Untracked | Total | |
|---|---|---|---|---|---|
| Managed Services | AUD 280k | AUD 165k | AUD 95k | AUD 0 | AUD 540k |
| Projects | AUD 45k | AUD 80k | AUD 22k | AUD 0 | AUD 147k |
| Hardware | AUD 18k | AUD 12k | AUD 6k | AUD 0 | AUD 36k |
| Professional Services | AUD 11k | AUD 9k | AUD 3k | AUD 4k | AUD 27k |
| Total | AUD 354k | AUD 266k | AUD 126k | AUD 4k | AUD 750k |
The Untracked column shows AUD 4k of Professional Services revenue, which in this MSP's case turned out to be two one-off engagements where the Project Manager didn't set the location field in ConnectWise. The mapping is correct; the source data is incomplete. The fix is the ConnectWise side; the symptom is the Xero side.
The five-rule playbook for tracking-category hygiene
- One owner per category. Assign one person on the MSP team to own the Location category and one to own the Revenue Type category. Changes go through them. Without an owner, the categories drift.
- Xero options are the source of truth, not ConnectWise locations. When the two diverge (and they always do, over time), the Xero option set wins. Update ConnectWise to match Xero, not the other way around.
- Run a quarterly reconciliation. Pull the list of ConnectWise locations and the list of Xero tracking-category options. Compare. Resolve any drift before the next quarter starts.
- No mid-month option additions. Add new Location or Revenue Type options at the start of a new calendar month, not mid-month. Mid-month additions produce a P&L that has different tracking-category structure across the month.
- Archive, do not delete. When an option is no longer used (an office closes, a service line is discontinued), archive it in Xero rather than deleting it. Historical invoices retain the archived option in their tracking, which keeps the historical reports intact.
Pitfalls
- Using both slots for hierarchical Location (Region + City). Both slots get consumed by what is effectively one dimension. The CFO has no way to slice by Revenue Type.
- Treating tracking categories as a replacement for the Xero account code structure. The chart of accounts is the primary slice (Revenue vs Expense, account level); tracking categories are the secondary slice. Confusing the two produces a Xero file that doesn't reconcile cleanly.
- Mid-year category restructure. Re-naming or re-organising tracking categories mid-year produces a financial year where the first half and the second half are sliced differently. Restructure at the start of the financial year (1 July in Australia) or not at all.
- Forgetting that tracking categories sync to Xero Practice Manager. If your accountant uses Xero Practice Manager, the categories you set on the MSP's books propagate. Co-ordinate any structural change with the accountant.
- Assuming the legacy sync did the same mapping. Vendors differ. If you are migrating from a legacy sync, audit the legacy mapping per the migration checklist step 1 before assuming the new sync inherits anything.
Where this fits in the broader sync architecture
Tracking categories are one of the three foundational mappings every ConnectWise to Xero sync needs to get right. The other two are agreement-to-revenue-account (which determines which line of the chart of accounts a managed-services invoice lands in) and product-to-revenue-account (which determines the same for project and hardware invoices).
Connect Zero exposes all three mappings in the admin console, with sensible Australian-MSP defaults and per-MSP overrides. The full mapping reference is at the setup guide. For the architectural framing of why these three matter, see the location and department mapping guide.
How the tracking-category mapping interacts with multi-entity MSPs
For MSPs running one Xero entity per jurisdiction (Pattern B from the multi-currency guide), each Xero entity has its own pair of tracking categories. The pair can differ between entities, and often does.
A typical international MSP shape: Australian entity has Location + Revenue Type. UK entity has Location + Customer Segment. US entity has State + Revenue Type. The reason for the divergence is that each jurisdiction's CFO or operations lead asks different questions; the categories should reflect the local questions.
The Connect Zero sync layer handles this divergence naturally because each Xero entity has its own mapping configuration. The ConnectWise side has one mapping per Xero entity: an Australian-customer invoice gets Location + Revenue Type tags when written to the Australian Xero, a UK-customer invoice gets Location + Customer Segment tags when written to the UK Xero. The two paths are independent.
The complexity this adds is operational, not technical. Each finance team in each jurisdiction owns its own tracking category structure, and changes happen per jurisdiction. The MSP head office has visibility but does not dictate.
Migration considerations for tracking categories
For MSPs migrating from a legacy sync (per the migration checklist), tracking categories are the second most likely source of migration friction (the first being tax-code mapping per the tax mapping guide).
The audit step (step 1 in the migration checklist) needs to specifically capture the legacy sync's tracking-category mapping: which ConnectWise locations mapped to which Xero options, with what overrides. Some legacy syncs expose this as a single screen; others bury it under per-customer settings. Make sure the audit is complete before transcribing into the new sync's admin.
The parallel-run reconciliation step is where tracking-category mis-mappings surface most visibly. A Xero report sliced by Location, run against both the legacy entity (production) and the test entity (Connect Zero), shows any mismatch immediately. The fix is usually a one-line correction in the new sync's admin.
If the legacy sync did not use tracking categories at all (some older syncs don't), the migration is an opportunity to introduce them. Run the new sync with categories enabled from day one; do not try to back-fill historical tracking data into pre-existing Xero invoices (Xero does not support bulk tracking-category back-fill via API).
Frequently asked questions
How many tracking categories does Xero support?
Two per Xero organisation (Xero tracking category documentation, accessed 24 May 2026). Each category can hold up to 100 options. This is a hard limit; if you need a third dimension, you use a Xero entity per dimension or push the third dimension into a customer custom field that surfaces in reporting via the Xero API.
What do MSPs typically use the two slots for?
Slot 1 is almost always Location (office, region, or branch). Slot 2 is typically Department (sales, service, projects) or Revenue Type (managed services, projects, hardware). The right choice depends on which dimension the CFO wants to slice P&L by.
Can Connect Zero map ConnectWise locations to Xero tracking categories?
Yes. The mapping is one-to-one (one ConnectWise location maps to one tracking category option). Connect Zero applies the mapping at invoice line level, so a single invoice with lines from multiple ConnectWise locations creates a Xero invoice with mixed tracking categories.
What happens if a ConnectWise location has no Xero tracking category mapping?
The invoice line is created in Xero with no tracking category set (blank), which means the line falls into the Untracked bucket in any tracking-category-sliced report. Connect Zero will surface a warning during the sync run; the fix is to add the missing mapping in the sync admin.
About this article
Written by the Connect Zero team, an Australian-built ConnectWise to Xero sync sold by Auswide IT, an Australian MSP integration vendor based in Adelaide. We have configured tracking categories for three-office MSPs through 60-office MSPs. Last updated 24 May 2026.
