I use Xero Projects every week to check which clients are profitable and which ones quietly erode margins. If you’re like many small business owners I work with, you want clarity without adding admin — not another spreadsheet that needs babysitting. Below I’ll walk you through a realistic setup that I’ve tested with retail, consultancy and creative clients so you can start tracking profitability by client in Xero Projects and take action on the numbers.
Why use Xero Projects (and when it’s not enough)
Xero Projects is great because it sits inside your accounting system: time, costs and invoices feed through to the same ledger. That means fewer reconciliation headaches and faster access to accurate project gross profit. Use Projects when you need to answer questions like “Which clients make money?”, “How long are we spending on this service?” and “Should we raise prices or change scope?”
It’s not always the best tool for complex job costing across manufacturing or inventory-heavy businesses — Xero Projects focuses on time, labour and supplier costs tied to a project. If your job involves complex stock movements you may still need a dedicated job-costing or ERP system. But for most UK service firms and small agencies, Projects is a huge step up from worksheets.
Core concepts you must understand
Before you start, make sure you understand these Xero building blocks:
Project – the unit you’ll use to track a client engagement (could be per client, per job, or per retainer period).Items/Bills – supplier costs and purchases that you can assign to a project.Timesheets/Expenses – labour and out-of-pocket costs assigned to a project and marked billable or non-billable.Invoices – client invoices raised from Xero that are associated with a project.Billable vs Non-billable – billable items/invoices increase revenue on the project; non-billable costs still affect project profit but aren’t charged to the client.Decide your project structure
I recommend a structure that balances granularity with simplicity:
One project per client retainer if you have ongoing monthly work. This gives you a rolling profit/loss for the client relationship.One project per job if you deliver discrete pieces of work (e.g., web build, event).A hybrid approach where retainers are projects and major one-off jobs get separate projects.Pick what matches how you price and report. Changing later is possible but messy if you’ve already got lots of historical data.
Step-by-step setup in Xero Projects
Here’s the workflow I use when onboarding a new client into Projects.
Create the Project in Xero and name it clearly: use client name + period or job description (e.g., “Acme Co — Monthly Retainer (Jan–Mar 2025)” or “Acme Co — Website Redesign”).Set a project budget or estimated hours inside Projects so you can monitor budget vs actual. I always enter an estimated fee and hours — even rough estimates force discipline.Set up task types you’ll track (e.g., Discovery, Design, Dev, Meetings, Reporting). These make timesheets meaningful and improve the time‑by‑task reporting.Map default nominal codes for project-related costs (e.g., subcontractor payments, software licenses, materials). This keeps your P&L tidy and ensures project reports pull the right cost of sales lines.Decide billing cadence and whether time is billable by default. If you don’t want all time marked billable, train the team to flag only the chargeable hours.Capturing labour costs accurately
Labour is often the biggest expense and the hardest to track. I use these rules:
Use Xero timesheets for everyone who charges time. Encourage entries daily — small habits beat weekly catch-ups.Record actual cost rates (what you pay the person) as well as billable rates (what you charge). You can’t measure gross margin if you don’t know both sides.Include payroll overheads proportionally if you want full job-level profit (e.g., employer NI, pension). I sometimes use a simple uplift on cost rates (e.g., +15%) to approximate overheads if you don’t want payroll detail in Projects.Recording supplier costs and expenses
Supplier bills and expenses should be assigned directly to the project. My checklist:
For supplier bills: put the project name on the bill when entering it in Xero. This ensures the cost appears in project reports.For expenses: use Xero’s receipt capture or Hubdoc/Dext to capture receipts and tag them to the correct project before they’re approved.If an expense is billable to the client, mark it as billable and create the client invoice from Projects so it shows on project revenue.Invoicing and reconciling revenue
Invoices raised from the Projects screen automatically link revenue to the project. The two common approaches:
Invoice from Projects for time and disbursements — this preserves the link and makes reporting straightforward.Invoice from Contacts/Create standard Xero invoice and manually link to the project — only do this if you have a specific reason, it’s easier to make mistakes.When clients pay, reconcile as normal. Payments don’t break the project link — the revenue remains tied to the project.
Reports to run and what they tell you
Use these Xero Project reports each month:
Project Profitability Report — shows revenue, costs and gross profit per project. This is your go-to for client profitability.Time by Task/Person — shows where time is spent and who’s over or underallocated.Budget vs Actual — if you set budgets, this flags scope creep early.| Report | Key insight |
|---|
| Project Profitability | Which clients/jobs produce profit and margin trends |
| Time by Task | Tasks that consume time but don’t earn much revenue |
| Budget vs Actual | Projects at risk due to exceeded hours/costs |
Practical tips and common pitfalls
Here are the practical lessons I picked up working with real clients:
Train the team: inconsistent timesheet habits destroy project reporting. Short training sessions and weekly reminders work wonders.Decide billable rules up front: are meetings billable? Research? Make this part of your onboarding pack for new clients.Use integrations: connect Xero Projects to Harvest, TSheets (now QuickBooks Time) or a tracker your team already loves to reduce friction. Many clients use Zapier to move data between apps and Xero.Watch for non-project income: retainers that are treated as income in a lump sum should still be tied to a project for accurate margin tracking.Don’t forget small expenses: lots of small unrecorded expenses (subscriptions, courier fees) add up and erode margins if not captured.Example setup — quick reference
Here’s a compact example you can copy:
| Project name | Task types | Budget | Billing rules |
|---|
| Acme Co — Monthly Retainer | Strategy, Delivery, Meetings, Reporting | £6,000 / quarter | Time billable at agreed rate; expenses billed if pre-approved |
With this, I’ll run the Project Profitability report at month end and compare to the retainer fee. If we’re behind on billable hours or margin is dipping below target, we either renegotiate scope, increase rates for new work, or tighten internal delivery processes.
If you want, I can create a starter template for your business — tell me your pricing model and typical job types and I’ll sketch a Project layout and reporting cadence you can import into Xero Projects.