Start here with Job costing with 3-way match — it’s how tracking categories roll up cleanly to projects.
Why contractors mix up Xero tracking categories and Projects (and what each actually does)
If you’ve ever asked “Should I use tracking categories or Xero Projects for job costing?”, you’re not alone. They’re different tools that happen to sit next to each other:
- Tracking categories add extra reporting “dimensions” to transactions (e.g., tag an invoice line to a Project or Cost Code) so you can filter P&L and other reports. Think flexible reporting, not a full job-management module.
- Xero Projects is Xero’s project-tracking module aimed at tracking time, expenses and project profitability (helpful for time & materials, billable hours, simple job costing).
A concise way to remember it: categories = reporting tags; Projects = a project/time and expenses workflow.

Xero tracking categories vs Projects: when to use which
Use tracking categories if you need
- Granular reporting by project, phase, cost code, region, team without changing your operational process.
- To slice Profit & Loss and other reports by those tags, on demand.
Use Xero Projects if you need
- A lightweight way to capture time, attach expenses/bills to projects and raise invoices off them.
- Basic project profitability views tied to hours and spend.
Contractor reality check
Construction job costing is typically driven by invoices and commitments (RFQs, POs, subcontracts, progress claims), not just time entries. That’s why many contractors rely on tracking categories for reporting and connect a dedicated cost-control tool for the heavy lifting.
Independent advisors also note Xero’s limitations for detailed job costing—especially when you need to track multiple dimensions, such as project, job/cost code, and phase.
The practical setup contractors use (step-by-step)
The goal is simple: code every cost line once so you can (a) control budgets by job/cost code and (b) roll everything up cleanly to projects—without spreadsheet detours.

Step 1 — Decide your two highest-value dimensions
Most contractors settle on:
- Project — one option per live job (use a short code + name, e.g., LS-123 Long Street Refurb).
- Job/Cost Code — your internal code library (e.g., 2100 Concrete, 3300 Roofing).
Design tips
- Keep codes stable across projects so that estimating, buying, and reporting speak the same language.
- If you must track extra context (region, team), add it to the naming (e.g., prefix project codes with
N
/S
for region) rather than creating sprawling tracking lists. - Avoid combining project and code into a single option (e.g., “Long Street — Concrete”); it balloons the list and breaks roll-ups.
Step 2 — Create tracking categories and options
- In Accounting → Advanced → Tracking categories, create two categories: Project and Job/Cost Code.
- Add Project options for each live job (archive them as projects finish).
- Add Job/Cost Code options from your standard library.
Naming rules
- Project: CODE — Client/Address — Brief name (keeps reports readable and sortable).
- Job/Cost Code: #### Description (fixed 4-digit block keeps order consistent).
Step 3 — Make line-level tagging the default habit
When coding supplier invoices (and credit notes):
- Tag every line with both Project and Job/Cost Code—never just at the header level.
- Split lines when one invoice covers multiple jobs or codes (e.g., part to 2100 Concrete, part to 2400 Rebar).
- Use the same structure for POs/subcontracts and progress claims so commitments and actuals align.
- Attach supporting documents (quote, delivery note, pay app) to the transaction for auditability.
Team playbook
- A one-page “coding guide” with 10–15 common examples (hire, plant, materials, retention, variations).
- Define who fixes miscodings (PM/QS vs. accounts) and within what timeframe (e.g., by month-end minus 3 days).
Step 4 — Keep the lists clean and trustworthy
- Archive dormant project options as jobs finish.
- Review cost-code usage quarterly: merge duplicates, retire rarely used codes, and correct typos.
- Lock down who can create new options to prevent “near-duplicates” (e.g., 2100 Concrete vs 2100 Concr.).
- Don’t rename codes with history; instead, retire and create a correct one to protect prior reports.
Step 5 — Report by dimension (and act on it)
Run your month-end with the same cadence every time:
- P&L by Project to confirm each job’s gross margin and overhead absorption.
- P&L filtered by Job/Cost Code (within a project) to spot overruns early (e.g., concrete trending +12% vs budget).
- A simple variance review: flag anything >±5% or >£/€5,000 and assign an owner + next step.
- Export the view for your Cost Value Reconciliation (CVR) pack and keep the source transactions one click away.
Tip: Many contractors stop here and still feel friction because complex construction needs more than tags (RFQs, subcontract management, progress claims, change orders, approvals). That’s where a connected cost-control tool helps.
Known constraints to design around
Xero’s tracking dimensions are limited, and firms that need to monitor project + job + phase + location quickly run out of room. This is a common reason advisors say Xero alone may be too restrictive for deep job profitability tracking.
If you try to “encode” both project and job into one long tracking option (e.g., “Long Street 123 — Foundation Works”), your list explodes and reporting becomes messy. Better to keep separate dimensions and use a proper job-costing layer for the rest.
Where Xero Projects fits for contractors
Xero Projects can be a useful add-on if you:
- Track staff time against projects and want quick invoicing from timesheets and expenses.
- Need simple project accounting and basic profitability views within Xero’s UI.
Pricing and plan availability vary. For example, Xero notes Projects is included for a set number of users in some plans (e.g., Ultimate with up to 10 people), with extra charges beyond that.
Question | Tracking categories | Xero Projects |
---|---|---|
What is it for? | Add custom tags (e.g., project, region, cost centre) to transaction lines so you can slice reports. | Track job time and costs inside Xero and see project profitability. |
How do you use it day to day? | Select category options on bills/invoices; later filter reports by those tags. | Create a project, link bills/expenses to it, log time, and invoice from the project. |
What reporting do you get? | Filter Profit & Loss and other reports by category for granular analysis. | Profitability dashboard and a Project Summary report across jobs. |
Time tracking included? | Not designed for timesheets; it’s for financial tagging. | Yes—start/stop timer and location-based job tracker on devices. |
Best fit | Flexible reporting across projects/regions/cost centres without changing your chart of accounts. | End-to-end job costing where you need time/expense capture and billing from projects. |
Plan/availability | Part of core accounting—apply on transactions and run filtered reports. | Included in Ultimate for up to 10 people; extra charge per additional Projects user; not in Ignite, Grow, or Comprehensive. |
Quick takeaway: use tracking categories when you need flexible reporting dimensions; use Xero Projects when you need job-level time, expense capture, and profitability tracking.
Example: a clean coding structure you can adopt this week
Tracking Category A: Project
Options: One per live project (e.g., LS-123 Long Street Refurb, CH-042 City Hall Roof).
Tracking Category B: Job/Cost Code
Options: Your cost code library (e.g., 1000 Site Prep, 2100 Concrete, 3300 Roofing).
Workflow
- Estimating uses the same cost codes as live job costing (re-use data to tighten bids next time).
- Every supplier invoice line is coded with Project + Job/Cost Code.
- Monthly, run P&L by Project, then by Job/Cost Code to spot over-runs early.
TL;DR setup checklist for contractors
- Pick Project and Job/Cost Code as your two tracking dimensions.
- Tag every invoice line with both, then run P&L by those filters.
- Use Xero Projects if you bill from time & expenses.
- For construction-grade control (RFQs, POs, subcontracts, progress, variations, 3-way match), connect a dedicated cost-control layer that integrates with Xero.
Subtle next step: roll category tags into 3-way match (without spreadsheets)
If you’re ready to tag Project + Job/Cost Code on every line but want to eliminate double data entry, plug that structure into a 3-way-match workflow and push the approved figures to Xero. That’s exactly what our Xero job-costing integration does—so tracking categories cleanly roll up to projects while POs, subcontracts, invoices and forecasts stay in sync.
Topic | Before: Spreadsheets | After: Planyard + Xero single source of truth |
---|---|---|
What it’s for | Disconnected estimate, PO, and invoice trackers; unclear job position. | Central job costing (budget, commitments, invoices) in Planyard; accounting in Xero—one dataset. |
Daily workflow | Copy/paste quotes; versioned files; re-key bills into accounting. | Structured RFQs → POs/subcontracts → progress claims → invoice approval → post to Xero. |
Approvals & audit | Ad hoc sign-offs; limited traceability. | Controlled approvals with audit trail; approved costs sync to Xero. |
Commitments & claims | POs/variations tracked in tabs; hard to match to invoices. | Contracts, POs, variations, and pay apps tied to budget lines and projects. |
Forecasting & reporting | Month-end scramble; numbers vary by file. | Live budget vs actuals, CVR/forecast updates as invoices are approved. |
Collaboration | PMs in sheets; finance chases coding—duplication and delays. | PM/QS manage costs in Planyard; finance posts approved entries in Xero—no double entry. |
Fit | OK for very small teams; breaks at scale. | Built for contractors managing multiple jobs and subcontractors. |
Putting it all together for true construction job costing (with 3-way match)
If your jobs run on quotes, POs, subcontracts, progress claims and supplier invoices, you’ll likely want a 3-way-match workflow and live budget control beyond Xero’s native layers:
- Create and approve RFQs, compare bids, and award (so the budget knows the committed amount).
- Issue POs and subcontracts tied to budget lines, then match invoices to those commitments.
- Update forecasts in real time as invoices are approved—no spreadsheet gymnastics.
That’s precisely the niche Planyard fills: a construction-specific cost-control layer that integrates with Xero so accounting still happens in Xero—but your job costing, commitments, approvals and forecasting are automated and auditable.
Ready to run true job costing with Xero?

Replace spreadsheets with a single source of truth—RFQs, POs, subcontracts, progress claims & invoices all tied to budgets, matched, approved and synced to Xero.
- Connect Planyard to Xero and keep accounting in Xero
- Enforce approvals and 3-way match against budgets and commitments
- See live budget vs actuals and forecasts as invoices are approved