Set staff cost rates, track time and expenses, and review margins in Xero Projects. See where trades may need a specialist integration instead.

Xero handles job costing well for straightforward jobs: time, expenses, staged invoicing and headline profitability all sit inside Xero Projects. For multi-cost-code construction work or heavy purchasing, it starts to strain, and that’s when a specialist integration earns its keep. Either way, your first move is the same: set accurate staff cost rates and run one pilot job before you trust the numbers.
TL;DR:
- Invoice at agreed milestones rather than at completion, then compare budgeted and actual costs before moving into the next stage.
- Complex builds can outstrip native tools when supplier bills span jobs, cost codes are detailed, or purchase orders and subcontractor retentions need tracking.
- Check an integration’s supported records, sync direction, automatic status updates, and account mapping; Xero connections differ, so verify the full workflow on a live job.
- Capture timers, receipts, and supplier bills daily; reconcile bank feeds and clear unassigned costs weekly, then review rates and margins monthly.
Table of Contents
- What Xero Projects actually does for job costing
- How to set up job costing in Xero (practical steps)
- Where Xero’s job costing can be limited for trades and construction
- When to keep everything in Xero and when to add a specialist integration
- Practical daily workflow and bookkeeping checklist for accurate job costing
- Publisher perspective: why some trades outgrow native job costing
- How Pipeline works with Xero to improve job costing
- FAQ
- Sources
- Selected further reading and official references
What Xero Projects actually does for job costing
Xero Projects gives you a genuine job-costing toolkit, not just a label on an invoice. You create a project, link it to a customer, and from there you can track time against it, log expenses as they happen, and invoice directly from the project record.
Here’s what you get out of the box:
- Project creation linked to a specific customer, so every cost and hour has a home
- Time tracking through timers or timesheets, recorded against the right project
- An expenses and costs tab for logging purchases as they’re incurred
- Invoicing generated straight from the project, pulling through logged time and costs
- Headline project reports showing progress and profitability at a glance
Xero’s own training path for projects leans heavily on staff cost rates, building project plans, and reviewing progress and profitability as the job runs, not after it’s finished. That order matters. The whole point of job costing is knowing where you stand while the job is still live, not reconstructing it from memory and a pile of receipts once it’s invoiced.
How to set up job costing in Xero (practical steps)
Getting job costing working properly in Xero isn’t complicated, but skipping a step tends to show up later as a margin report that doesn’t add up. Work through it in this order:
- Turn on Projects in your Xero subscription and create a new project for the job.
- Add the people working on it and set an accurate staff cost rate for each person, this is what turns hours into a real cost, not just a time log.
- Use timers for live work or timesheets for after-the-fact entry, logging time against the correct project as you go.
- Add costs on the project’s Costs tab as bills, expenses or manual entries land, rather than batching them later.
- Invoice from the project once a stage is complete, pulling through the logged time and costs automatically.
- Check the project report to compare budgeted versus actual costs before moving to the next stage.
Staff cost rates deserve extra attention here. Xero’s guidance on setting up customer projects is built around getting this rate right early, because hours on their own tell you nothing about cost. Hours at an inflated rate can look fine; hours at the wrong rate quietly erode your margin without anyone noticing until the job’s done.
For staged billing, invoice at agreed milestones rather than waiting until completion. It keeps cash moving and makes it easier to spot a job going over budget while there’s still time to act.
Pro Tip: Run a pilot job through the full cycle, timers, costs, invoice, report, before relying on it for every job. It’s much easier to fix a setup mistake on one job than unpick it across many.
Where Xero’s job costing can be limited for trades and construction
Xero Projects was built for straightforward service jobs, and it shows once the work gets more complicated. If your jobs involve many cost codes, multiple suppliers on one invoice, or detailed purchase order workflows, you’ll start feeling the edges fairly quickly.
Common friction points include:
- Splitting a single supplier bill across several jobs, which Xero doesn’t do cleanly on its own
- Managing detailed cost codes beyond a simple cost category
- Running purchase orders and approvals before a cost ever hits the project
- Tracking subcontractor billing and retentions alongside your own labour
The practical effect is more manual work: a spreadsheet on the side to split bills, delayed invoicing while someone manually allocates costs, and project reports that look confident but are quietly out of date. That matters because estimating your next job, managing cash flow and deciding whether a job was actually worth taking all depend on the numbers being current, not reconstructed at month end.
When to keep everything in Xero and when to add a specialist integration
Not every trades business needs to bolt something onto Xero. The decision comes down to a handful of factors: how many cost codes a typical job carries, how many supplier bills you’re splitting across jobs, whether you’re managing subcontractors, and whether you need scheduling or asset hire tracked alongside the accounting.
If your jobs are simple and few in number, Xero Projects on its own is usually enough. If you’re juggling complex builds, frequent subcontractor invoices or equipment hire, a specialist app built for that workflow will save real time.
Before adding any integration, check these on its App Store listing:
- Which records actually sync: bills, invoices, cost codes, timesheets, contacts
- Which direction the sync runs, one-way into Xero or genuinely two-way
- Whether payment and invoice status updates flow back automatically
- How the app’s cost categories map onto your Xero chart of accounts
The App Store listings themselves vary widely here. Some apps, like those built for construction, describe two-way sync of bills, invoices and cost codes, while others focus more narrowly on time, labour and asset usage. Don’t assume one Xero integration behaves like another just because both carry the “connects to Xero” badge.
Pro Tip: Before committing, run one live job through the integration end to end: confirm costs map to the right codes, then check that the invoice and payment reconcile correctly in Xero before you trust it with a full job book.
Practical daily workflow and bookkeeping checklist for accurate job costing
Job costing in Xero is only as good as the habits around it. Build these into a routine and the reports stay trustworthy; skip them and you’ll find out at the worst possible moment, usually when a job’s already unprofitable.
- Daily: start and stop timers as work happens, capture receipts immediately, and allocate supplier bills to the right job before they pile up unassigned.
- Weekly: reconcile your bank feeds, update each project’s status, and clear any costs sitting unallocated in the general pool.
- Monthly: review project reports properly, double-check staff cost rates are still accurate, and compare estimated margins against what actually happened.
The monthly review matters more than it sounds. Staff rates drift, material prices move, and a cost rate set some time ago might no longer reflect reality. Catching that during a monthly check is far less painful than discovering it across many jobs at year end.
Publisher perspective: why some trades outgrow native job costing

Xero does a solid job of the accounting side of job costing, and for a lot of small jobs that’s genuinely enough. Where things get stretched is earlier in the process, long before a cost ever reaches Xero: the lead, the quote, the schedule, the decision about whether to take the job at all.
We built Pipeline around that gap. Consolidating leads, jobs, quotes, invoicing and payments in one place, with an integration into Xero, helps keep your business information together. Flat monthly pricing with no per-user fees also means adding another team member doesn’t quietly inflate your software bill the way it does with seat-based tools. Our job pricing calculator and expenses tracking exist specifically to keep your cost assumptions consistent before anything hits Xero.
— Chris
How Pipeline works with Xero to improve job costing
If you’ve read this far wondering whether your jobs have outgrown Xero’s native tools, the answer usually isn’t “replace Xero”, it’s “give it better information”. Pipeline connects to Xero to help manage your work alongside your accounts.

What this looks like day to day includes managing leads, jobs, quotes, invoicing and payments in one place
- Manage leads, jobs, quotes, invoicing and payments in one place
- A job pricing calculator that keeps your margin assumptions consistent before a job is confirmed
- Expense tracking tied to the job, not sitting loose in a spreadsheet
- Faster billing through online invoicing once a stage is complete
Pricing stays flat and monthly, with no per-user fees, so a growing team doesn’t mean a growing software bill. Our pricing page lists current plans, including Solo, Starter and Professional, and our HVAC-focused page shows how the setup fits a specific trade if that’s closer to your own work. Have a look and see which plan matches the size of your job book.
FAQ
How do I calculate the cost of goods sold in Xero?
Xero calculates cost of goods sold from the costs you’ve logged against a project, including time at staff cost rates and any expenses added to the Costs tab. The project report then shows this against invoiced revenue to give you a profitability figure for that job, provided your staff rates and logged costs are accurate.
What is job costing?
Job costing is the practice of tracking every cost (labour, materials, overheads) against a specific job so you know its true profitability rather than relying on overall business turnover. It lets you compare what a job was estimated to cost against what it actually cost once finished.
How do I record a journal entry in Xero?
You record a manual journal in Xero through the Accounting menu under Advanced, then Manual Journals, where you enter the debit and credit lines for the transaction. For job costing specifically, it’s usually cleaner to add costs directly on a project’s Costs tab rather than via journal, so they flow into the project report automatically.
What is the monthly fee for Xero?
Xero’s own pricing varies by plan and region, so it’s best checked directly on Xero’s current pricing page rather than relying on a fixed figure here. What stays consistent across plans is that Projects, including job costing features, is typically included or available as an add-on depending on the tier you choose.