What a finished job looks like / Spreadsheet rescue plus a weekly report
A job sheet that adds up, and a report that writes itself
This is what item 4b on my price list looks like when it's done. The trades business is invented, and so is every job and every figure. It is one week of ten jobs, shown as it arrived and as I hand it back.
Before: Demo Heating & Plumbing (invented)
The job sheet as it arrived. Every number is there, but the sheet can't add them up.
| Date | Job | Type | Time | Mat | Charged | Pd? |
|---|---|---|---|---|---|---|
| 5/10 | J101 | boiler serv | 1h30 | 0 | £90 | y |
| Oct 5th | J102 | Leak repair | 2hrs | £18 | 130.00 | Y |
| 06-10-26 | J103 | radiator | 3.5 | 64 | £260 | |
| 6/10 | J104 | Boiler Service | 1.5 | - | £90 | yes |
| 7.10 | J105 | tap | 1 h | 22 | 75 | y |
| Thurs | J106 | leak | 2h30 | £31 | £155 | N |
| 8/10/26 | J107 | Radiator fit | 3 | 48 | 220 | y |
| 9/10 | J108 | boiler service | 1.5 | 0 | £90 | y |
| 9th | J109 | Tap | 1 | £22 | £75 | no |
| 10/10 | J110 | leak repair | 2 | 15 | £120 | y |
| Total | #VALUE | #REF | #REF |
Scrolls sideways on a phone.
What was wrong
- Dates written six different ways ("5/10", "Oct 5th", "06-10-26", "7.10", "Thurs", "9th"), so the sheet can't group jobs by week.
- Hours typed as words ("1h30", "2hrs", "1 h"), so the total gives up and shows an error.
- Money typed with a pound sign, a dash or extra zeros, and a column deleted at some point, so the totals show #REF.
- The same job type spelled several ways ("boiler serv", "Boiler Service", "boiler service"), so "how many boiler services this week" is a guess.
- A blank row in the middle of the list, which breaks the range every formula uses.
After
The same ten jobs, with nothing lost and nothing invented. The type and the paid column are drop-downs now, so they can't be spelled differently, and the totals calculate themselves.
| Job | Date | Type | Hours | Materials | Invoiced | Paid? |
|---|---|---|---|---|---|---|
| J101 | 2026-10-05 | Boiler service | 1.5 | £0.00 | £90.00 | Paid |
| J102 | 2026-10-05 | Leak repair | 2.0 | £18.00 | £130.00 | Paid |
| J103 | 2026-10-06 | Radiator fit | 3.5 | £64.00 | £260.00 | Unpaid |
| J104 | 2026-10-06 | Boiler service | 1.5 | £0.00 | £90.00 | Paid |
| J105 | 2026-10-07 | Bathroom tap | 1.0 | £22.00 | £75.00 | Paid |
| J106 | 2026-10-08 | Leak repair | 2.5 | £31.00 | £155.00 | Unpaid |
| J107 | 2026-10-08 | Radiator fit | 3.0 | £48.00 | £220.00 | Paid |
| J108 | 2026-10-09 | Boiler service | 1.5 | £0.00 | £90.00 | Paid |
| J109 | 2026-10-09 | Bathroom tap | 1.0 | £22.00 | £75.00 | Unpaid |
| J110 | 2026-10-10 | Leak repair | 2.0 | £15.00 | £120.00 | Paid |
| Total | 10 jobs | 19.5 | £220.00 | £1,305.00 | 7 of 10 paid |
Scrolls sideways on a phone.
What I did
- Dates, hours and money are real numbers, so the sheet can add them up and group them by week.
- Job type and paid are drop-downs, so every boiler service is counted as a boiler service.
- Where you type is separate from what calculates: you type in the open rows, and the totals row and the Report sheet are protected.
- The blank row and the broken totals are gone, and every total matches a hand check on these ten jobs.
The weekly report
The report is made from the sheet, on its own, at the time you choose. This one is set to arrive by email as a PDF at 07:30 every Monday.
Weekly report: Demo Heating & Plumbing (invented)
Week starting Monday 2026-10-05. Invented figures.
Invoiced by job type
Still to collect: J103 £260, J106 £155, J109 £75.
From the one-page note I hand over
Where to type: in the open rows on the Jobs sheet. Pick the type and the paid answer from the drop-downs.
What not to touch: the totals row and the Report sheet. They calculate themselves.
If the Monday report doesn't arrive by 09:00: press Run report on the Report sheet, then message me.
Not included
Hosting beyond the first month if the report has to run on a server (that's a monthly plan), and reports that pull from more than one source.
Your acceptance checklist
This comes with every job. You go through it with your own figures. Anything that doesn't pass, I put right; one round of corrections is free within 14 days.
- Checks 1 to 3 of the spreadsheet rescue pass:
- Every total you named on the call matches your manual check on the sample data.
- The formulas you reported as broken now calculate without errors.
- Changing an input cell updates the totals without anything else needing a touch.
- Pressing Run (or waiting for the scheduled time) produces the report from the sample data, and its figures match your manual version.
- The report arrives where you asked, at the time you asked, on its first scheduled run.
- The handover note says what to do if it does not arrive.
This is a demo, so there is nothing to tick here. It is the list your real job would be checked against.