Work sample · Example figures
Job profitability report for a trades business
Which jobs make money? Revenue from Xero invoices, materials and subcontract costs from bills coded to the job, and labour from timesheets, shown by job with margin against a target.
A walkthrough of how I would approach this project. The figures are examples for a fictional business, not a client.
- Area
- Management reporting
- Tools
- Xero · ServiceM8 or Jobber · Google Sheets
- Typical scope
- US$300–700
- Timeline
- About 4 weeks · 4 fixed milestones
01The problem
The books show the business made a profit, but not which kind of job made it. Underquoted jobs hide inside a good month.
- Quotes priced on feel, not on what similar jobs cost
- Bills that are not coded to a job
- Labour that never reaches the job number
- Margin only known at year end
02Approach
- Look
Review how jobs, invoices, bills and timesheets are numbered and where the job number is missing.
- Code
A simple rule for coding bills and timesheets to a job, and a backfill for the last three months.
- Report
A Sheets report by job and by job type with margin against a target margin.
- Use
Quote prices are checked against the margin report, starting with the lowest-margin job types.
03Exhibit
| Job | Description | Revenue | Labour | Materials | Subcontract | Profit | Margin |
|---|---|---|---|---|---|---|---|
| 20401 | Switchboard upgrade | 6,850 | 2,140 | 1,760 | – | 2,950 | 43.1% |
| 20405 | Hot water replacement | 3,420 | 880 | 1,340 | – | 1,200 | 35.1% |
| 20412 | Split system install, two units | 5,980 | 1,260 | 2,910 | – | 1,810 | 30.3% |
| 20418 | Bathroom rough-in | 9,400 | 3,350 | 2,120 | 1,800 | 2,130 | 22.7% |
| 20423 | Commercial lighting fit-out | 14,200 | 4,680 | 5,430 | 1,200 | 2,890 | 20.4% |
| 20430 | Blocked drain call-out | 680 | 210 | 40 | – | 430 | 63.2% |
| 20437 | Monthly maintenance visit | 1,120 | 540 | 95 | – | 485 | 43.3% |
| 20441 | Kitchen renovation plumbing | 11,750 | 3,820 | 3,960 | 2,950 | 1,020 | 8.7% |
| Total, 8 jobs | 53,400 | 16,880 | 17,655 | 5,950 | 12,915 | 24.2% |
Margin by job, against a target
Revenue from Xero invoices. Costs from Xero bills coded to the job and from timesheets at cost rate.
04How to read it
- Each job shows revenue, labour, materials and subcontract cost, so the margin can be traced line by line.
- Jobs under 15% are marked, and the chart shows each job against a 25% target.
- The total ties to the profit and loss report for the same jobs.
05Scope
| Area | Included |
|---|---|
| Review | How jobs, invoices, bills and timesheets are numbered, with findings |
| Job coding | A rule for coding bills and timesheets to a job, and a backfill of three months |
| Report | A Sheets report by job and by job type, with margin against a target |
| Tie-out | The report totals agreed to the Xero profit and loss for the same period |
| Quote check | A short review of pricing on the lowest-margin job types |
| Handover | A walkthrough, the files and a monthly routine |
| Not included | Changes to pricing itself, which stay with the owner |
06Milestones and fee
| Milestone | Deliverable | Timing | Share of fee |
|---|---|---|---|
| M1 Review and rules | Findings and job-coding rule | Week 1 | 20% |
| M2 Backfill | Three months coded to jobs | Weeks 1 to 2 | 30% |
| M3 Report built | Job and job-type report, tied to Xero | Weeks 3 | 35% |
| M4 Handover | Quote check and walkthrough | Week 4 | 15% |
Typical scope for this kind of project: US$300–700
About 4 weeks · 4 fixed milestones. The systems health check (US$150, fixed) comes first and confirms the scope. Extra hourly work is US$40 per hour, agreed before it starts.
Tell me what is going wrong in your books and I will say where I would look first.
Send a short note through the form on the home page. I will reply with where I would start, and whether the US$150 systems health check is the right first step.