WCapsuleM8

Job Sheet & Work Order Register

Free

Track every job sheet and work order from raised to paid: labour, materials, margin, certificates and the completed work you have not yet invoiced. Runs entirely in your browser — nothing is uploaded.

Version 1.0.0 · Updated Aug 5, 2026

Overview

CM8-186 is a job sheet and work order register for a trade business — electrical, mechanical, plumbing, heating, refrigeration, installation, service. One record per job. You enter what was asked for, who went, how long it took, what it cost in labour and materials, what you quoted and what you invoiced. The tool works out the cost, the margin, how long the job took from raised to completed, and — the part most registers miss — which finished jobs have never been billed. Everything runs inside this single file. There is no account, no upload and no network request, so customer names, site addresses and your rates never leave the computer you are using.

How to use Job Sheet & Work Order Register

The complete in-tool guidance, reproduced here so you can read it before you download.

What this tool does

CM8-186 is a job sheet and work order register for a trade business — electrical, mechanical, plumbing, heating, refrigeration, installation, service. One record per job. You enter what was asked for, who went, how long it took, what it cost in labour and materials, what you quoted and what you invoiced. The tool works out the cost, the margin, how long the job took from raised to completed, and — the part most registers miss — which finished jobs have never been billed.

Everything runs inside this single file. There is no account, no upload and no network request, so customer names, site addresses and your rates never leave the computer you are using.

Raising a job

A job needs a job number, a date raised, a customer and a status before it will save. Everything else can be filled in as the job moves. In practice most trades raise the record when the phone call comes in, add the engineer and the date attended when it is booked, and complete the cost and invoice fields on the way to the office.

Three dates matter and they must run in order: raised (when you took the job on), attended (when somebody first went to site) and completed (when the work was finished, not when it was invoiced). The tool refuses combinations that cannot be true — a completion date before the attendance date, labour hours with no attendance date, a status of completed with no completion date — because each of them quietly breaks a figure further down.

The date raised is the date the whole register filters and charts on, so keep it accurate even on jobs that were done the same day.

Job type and priority

Job type separates work that earns from work that does not. Installations, repairs, services, inspections and callouts are billable. Warranty work and quote visits usually are not: they still cost you labour and sometimes materials, and they should be recorded so you can see how much of the week goes on them. Remedial work is the follow-on from an inspection, and is worth separating because it is often the most profitable work a trade business does.

Priority — emergency, urgent, routine, scheduled — describes the response the customer was promised, not how important the job is to you. It is worth setting honestly, because emergency and out-of-hours work carries a higher labour rate and a lower margin than most people expect once travel and disruption are counted.

Status, and what it drives

A job counts as open until its status is completed or cancelled. Everything else — raised, scheduled, in progress, awaiting parts — is work you still owe somebody. Awaiting parts is separated out deliberately: it is the status where jobs disappear for weeks without anybody deciding anything.

Cancelled jobs are kept on the register but excluded from the engineer summary and from the monthly chart, because a cancelled job has no cost and no revenue to attribute to anybody. They still count in the job total, so you can see how much quoted work is falling away.

What a job costs

Cost is built from three parts and shown in full so it can be checked:

Labour cost = labour hours × labour rate

Total cost = labour cost + materials cost + other costs

If a job has hours but no rate of its own, the tool uses the default labour rate from the Settings tab. That is a convenience, not a fact: if your rates vary by engineer, by time of day or by customer, enter the rate on the job. Out-of-hours callouts in particular should carry their real rate, or every emergency job will look more profitable than it was.

Other costs is for everything that is neither your labour nor your materials: subcontract labour, plant and access hire, parking, congestion and toll charges, waste disposal, specialist testing. These are the costs that quietly eat a job, and leaving them out is the single most common reason a register shows a healthy margin that the bank balance does not agree with.

Decide once whether your labour rate is a cost or a charge-out rate, and be consistent. If you enter your charge-out rate, the margin shown is the margin over the price of the labour, not over what the labour cost you to employ — it will look smaller than it is. If you enter the cost of employing the engineer for an hour, the margin is a true gross margin. Either works; mixing the two within one register does not.

Margin, and when it cannot be shown

Margin = invoiced amount − total cost

Margin % = margin ÷ invoiced amount × 100

Margin is only calculated where the job has both a total cost above zero and an invoiced amount above zero. Where either is missing the tool prints a dash. This matters more than it sounds. A job with an invoice of 900 and no costs entered would otherwise show a margin of 100 %, and a register with a few of those in it will report a business-wide margin that is simply false. A dash tells you the job is not costed yet; a confident number tells you nothing at all.

The headline margin on invoiced jobs tile is a weighted figure, not an average of the percentages:

Margin on invoiced jobs % = (Σ invoiced − Σ total cost) ÷ Σ invoiced × 100, over jobs that have both

Averaging the per-job percentages would let a 40 % margin on a 200 job cancel out a 5 % margin on a 9,000 job. The weighted figure will not. The tile states how many jobs it is based on — if that count is small relative to the register, most of your work is not costed and the figure should not be quoted anywhere.

Margin is shown against your target margin from the Settings tab: at or above target is marked in green, below target in amber, a loss in red.

Completed and not invoiced

This is the thing the tool is really for. A completed job that has never been invoiced is work you have already paid engineers to do and already bought materials for, and it is generating nothing. It is the most expensive kind of paperwork failure in a trade business, and it is invisible on a job list sorted by date.

A job counts as not invoiced when its status is completed and it has no invoiced amount and its payment status is still "not invoiced". Either of the last two clears it, so recording the amount is enough — you do not have to remember to change both fields.

Value at risk = quoted price, where one exists; otherwise the total cost incurred

The report table lists these jobs oldest first, with the days since completion, the cost you have already incurred, the price you quoted and the resulting value at risk. Anything older than the invoicing warning setting is marked overdue to invoice. Work the list from the top: the oldest job is the one the customer is most likely to query.

Warranty and goodwill visits appear here too, because they are still cost. That is deliberate — it shows you what free work is costing. If a job was never going to be billed, leave it here and read the job type column, or record a zero-value invoice and set the payment status to remove it from the list.

Certificates and signatures

The certificate tick and reference record that a certificate was issued to the customer and where to find it. The tool flags a missing certificate on installation, inspection and remedial jobs that have been invoiced, because those are the job types that most often produce one. It does not flag repairs, services, callouts or warranty visits, which frequently do not.

That rule is a prompt, not a standard. What must be certified, what the certificate has to contain, who is competent to sign it and how long it must be retained differ by country, by trade and by contract. If your work certifies differently, record the reference anyway and ignore the prompt — or treat the prompt as a reminder to check.

The customer signature tick is a record that somebody signed the job sheet on site. It is not a signature and it is not evidence of one; keep the signed sheet itself.

Follow-up work

If a job needs something afterwards — a remedial quote, a return visit, a part to be fitted, a call to a managing agent — tick follow-up and write down what has to happen. The tool will not let you tick it without saying what it is, because "follow-up required" with no description is the same as no note at all.

Follow-ups appear in the flag column of the register, so filtering the register to completed jobs and scanning that column gives you the list of things that still owe somebody an action. Inspections are the usual source: an inspection that finds nothing is a small job, and an inspection that finds six things is the start of a much larger one.

The engineer summary

The engineer table covers every non-cancelled job attributed to that engineer, whether it has been invoiced or not:

Invoiced less cost, by engineer = Σ invoiced − Σ total cost, across all their non-cancelled jobs

This is deliberately a different basis from the headline margin tile, and the two will normally disagree. The tile answers "on the work we have billed, what did we make?". The engineer table answers "for everything this person has done, how much money has come back?". An engineer with a large completed job sitting un-invoiced will show a heavy negative figure — that is the point, and it is a paperwork problem rather than a performance problem. Fix the invoice and the number moves.

Read it as a view of the work, not a judgement of the person. Engineers do not choose their own jobs, their rates or their material prices, and one big loss-making contract will dominate the column. Jobs with no engineer recorded are grouped as unassigned, which is usually a data problem worth clearing up.

Reading the charts

Jobs by type shows the shape of the work. A register that is mostly callouts is a reactive business; a register with a growing share of inspections and remedials is one building a book of planned work.

Invoiced and cost by month draws two bars for each of the last six months: what was invoiced, and what it cost, with the cost split into labour and everything else. Each job is counted in the month it was completed, or in the month it was raised if it is not finished, so no job is counted twice and none is missed. A cost bar taller than the invoiced bar beside it is a month where you spent more than you billed — check the unbilled table before concluding you lost money.

Invoiced less cost by engineer and jobs by status complete the picture. Bar length in the engineer chart is the size of the figure, not its direction; a red bar is a negative figure, and the number beside it carries the sign.

Settings

Three settings change what the tool calculates. The default labour rate fills in for jobs with hours but no rate. The target margin is the threshold that colours the margin column and is printed beside the headline figure. The invoicing warning is the number of days after completion at which an uninvoiced job is called overdue — set it to whatever your own billing cycle is, and set it short. Fourteen days is a common choice; a month is generous.

Currency and date format are set here too and apply to every screen and to the printed report.

Printing and sharing

Print Report produces a report from whatever the current filter shows: the headline figures, the four charts, the unbilled work, the engineer summary, the full register and your closing notes. Print to PDF to send it. The scope line under the title states the filter in force, so clear the filters before issuing anything described as the whole picture.

Filtering to one customer and printing gives you a job history for that customer. Filtering to a status of completed and a payment status of not invoiced gives you the billing list, which is the single most useful page this tool produces.

Saving your work

Jobs, settings and the report header are written to this browser's local storage as you type, and the toolbar shows the time of the last save. That storage belongs to one browser on one computer: another browser, a private window, a second machine or a clean-up tool that clears site data will not have it.

Treat Export .json as the real save — one file containing everything, which Import .json restores anywhere. Export CSV gives you the register for spreadsheet or accounts work and includes every filtered record, not only the rows drawn on screen. Reset asks twice, then erases everything this tool has stored. There is no undo.

The register holds customer names and site addresses, so treat exports as confidential and keep them where your other customer records live.

Accuracy & disclaimer

This tool records what you enter and calculates from it. It cannot tell whether the hours are right, whether the materials figure includes everything, whether the rate is a cost or a charge-out rate, or whether a job really was completed on the day somebody typed. Every margin in it depends on all four.

It is not an invoice, a certificate, a quotation or an accounting record, and it submits nothing to anybody. Certification requirements, record-retention periods, tax treatment and what may be charged for out-of-hours work differ by country, by trade and by contract. This is an internal record-keeping and calculation aid, not legal, tax or professional advice.