The replacement is complete, but the second engineer booked time to a general sheet and the new control came from van stock without a job entry. Heating engineer job costing closes those gaps by putting every direct cost against the work that caused it.
Do the maths last. First, build one reliable record from survey through commissioning and any return visit.
Define the heating job before you track costs
Start with the accepted scope. It states what you agreed to do, what you excluded and what completion looks like. That boundary tells you which revenue and costs belong together.
Keep the quote, job record and site visits distinct:
- The accepted quote holds the scope, price, exclusions and customer approval.
- The job record holds labour, parts, hire, direct expenses, variations and field notes.
- A site visit records one attendance at the property.
One job can cover several visits. A survey, removal, installation, testing and commissioning can happen on different days while completing the same accepted scope.
Do not create a fresh job merely because the engineer returned on Tuesday. Do create a linked job when the customer approves a separate repair or reports an unrelated fault. Put the original job number on that new record so the service history stays connected without mixing the costs.
Before pricing, write down the property, appliance or system, access, controls, pipework, condensate route, electrical connection, disposal, testing, commissioning documents and exclusions. State who handles each part. If the survey leaves a gap, inspect again before fixing the price.
Use the job pricing guide to turn that settled scope into labour, materials, direct expenses, overhead and markup.
Leave the job open until the scope is complete, time and parts are posted, commissioning records are attached, variations are approved and the invoice is raised. Flag a pending credit, warranty claim or return visit. An open cost is not profit.
Settle UK responsibilities before pricing the work
Compliance work affects labour, programme and documents. Put responsibility in the quote before you cost the job. Do not leave it as a conversation between the surveyor and engineer.
Check who may carry out gas work
If the scope includes gas work, check the business and engineer requirements with the Gas Safe Register (opens in a new tab). Give them the actual appliance and work involved. Record the answer against the job before assigning the work.
Do not treat registration details or completion records as costs. Keep them attached to the job as evidence that the accepted scope was closed correctly.
Check the building approval route for the property
For a property in England, ask building control (opens in a new tab) whether the actual scope needs approval. Record who handles it, which inspection stages affect the programme and which completion document closes the work.
For a property in Wales, put the same scope questions to building control (opens in a new tab). For Northern Ireland, check the property and work against the official building regulations guidance (opens in a new tab). Do not carry an answer from one nation into another job.
For work in Scotland, check whether the property and scope need a building warrant (opens in a new tab). Write the approval and inspection responsibilities into the quote before promising dates.
Check associated electrical work
When the scope includes self-certification of notifiable electrical work under Part P in England or Wales, check the route in the official competent person scheme guidance (opens in a new tab). Write down who completes that work and who provides the customer record. Scotland uses its building standards route, while Northern Ireland uses its own building control route, so check the property location before assigning the electrical work.
Assign refrigerant handling before quoting
For air conditioning work, check the current qualification and business certification requirements for the refrigerant and equipment on GOV.UK (opens in a new tab). Record which engineer or subcontractor handles the refrigerant work before assigning the job.
Write down who provides recovery equipment and cylinders, who keeps the required service records and who handles recovered refrigerant. Put each task and direct cost in the accepted scope.
Use heating engineer job costing categories the team understands
Keep the categories boring. If an engineer cannot choose one quickly, parts and time will land in notes instead of the cost record.
Use these direct-cost categories:
- Labour: job-specific surveys, diagnosis, travel, collection, removal, installation, testing and commissioning under your documented cost-allocation method.
- Parts and materials: appliances, controls, valves, fittings, pipe, cable, refrigerant and consumables.
- Equipment and hire: access equipment, lifting gear or plant hired because the job required it.
- Direct expenses: job-specific delivery, disposal, parking and subcontracted work.
Use tags for phases, variations and callbacks. Do not make them duplicate cost categories. Variation labour remains labour. Callback parts remain parts. The tag explains why the cost happened.
Choose one documented treatment for job-specific survey time and use it on every job. Apply that treatment whether or not the survey appears as a separate customer charge.
Keep office wages, general training and broad administration in overhead. Keep a job-specific collection trip or equipment hire on the job. Apply the same boundary every time so cost tracking remains comparable.
Do not hide an unallocated direct cost in overhead. Find the time entry, stock issue or purchase record.
Match the record to the type of work
The same categories work for call-outs, replacements, planned maintenance and cooling work. The job boundary changes.
Close a diagnostic visit when diagnosis is the accepted scope
Record travel, diagnosis, testing and any parts used. If the customer does not approve a repair, close the diagnostic job. Do not leave it open while waiting for work that may never happen.
If the repair is approved later, link it to the diagnostic record. Decide whether it extends the accepted scope or forms a separate quoted repair.
Carry a replacement through commissioning
A replacement is not complete when the appliance is fixed in place. Record handling, removal, installation, controls, connections, testing and commissioning when your business is responsible for them.
Tag labour by phase. You can then see whether access, pipework, controls or commissioning caused the overrun.
Separate maintenance from additional repairs
Record the assets serviced, tasks completed, materials used, faults found and work left open. Put an extra repair on a linked job when it falls outside the planned maintenance scope.
For an internal review, choose one documented method for allocating maintenance revenue across planned visits. Use the same method throughout the agreement. Before changing the next price, run a maintenance renewal site review against the current asset list and promised work.
Build heating and air conditioning labour costing from actual time
The customer labour charge is revenue. It is not the engineer's labour cost.
Record each engineer's job hours against the job number and work phase. Multiply those hours by the business's documented internal labour-cost basis. That calculation moves recorded time into the job as a cost.
Write down what the internal labour-cost basis includes and excludes. Use your own payroll and accounting records for direct pay, employer payroll costs, paid leave and other employment costs. Keep office overhead out of the basis if your pricing method already recovers it elsewhere.
For each entry, record:
- Engineer.
- Date and job number.
- Work phase.
- Job-caused time.
- Short note when the time was unusual.
Record job-specific survey time under the treatment chosen for the whole business. Capture diagnosis, collection, installation, testing, commissioning and job-caused travel under the same rule.
A replacement may need a second engineer for handling and commissioning. Their time belongs to the job even if they were there briefly. Move it off the general timesheet before closing the cost record.
Record why an engineer collected a part. A planned collection and a second journey caused by missing stock both cost money. The first may change purchasing. The second may change van replenishment or dispatch.
Keep broad training, office work and general idle time outside direct labour unless the job caused it. Consistency matters more than a complicated allocation method.
Put purchased parts and van stock on the job
A supplier invoice proves what the business bought. It does not prove which property received it.
Match ordered appliances and components to the job when you place the order. Record the item, supplier document, expected job and installation status. Add model and serial details where they matter to handover or warranty records.
When an engineer fits a valve, control or fitting from van stock, issue it to the job that day. Record the item and quantity. Waiting for the next van count is how material cost disappears.
Treat small consumables consistently. If your pricing method includes them as direct materials, issue them to jobs using the same rule. If your overhead method carries them, do not add the same cost again.
Record unused parts when they return to stock. Keep supplier returns, recoverable cores and credits against the original job. Do not reduce the cost because you expect a credit. Reduce it when the supporting record exists.
If the wrong part was ordered or a new component failed, keep the cost visible and record the cause. Ordering error, installation damage, transit damage and component failure require different action.
For air conditioning job costs, capture refrigerant, access equipment, plant hire, evacuation, testing and commissioning when the job caused them. Keep equipment service details with the job, but do not confuse a technical record with a cost entry.
Stop and write a variation when the site differs
The existing controls, pipe route, condensate route or electrical connection does not match the accepted scope. Stop the work that depends on it.
Photograph the condition. Write the added work, labour, parts, programme effect and price. Get written approval for the variation before continuing.
Give the variation its own reference. Tag its revenue and costs, while leaving labour in labour and parts in materials. That keeps the cost categories clean and still shows why the job changed.
Worked example: Oak Street variation
This is the house electrical example, not a heating rate card. All figures are sample currency units.
R. Chen at 14 Oak Street accepted Quote Q-1847 for a bathroom exhaust fan, ducted through the roof, and four LED downlights. The quote was 1,105.
The ceiling was lined and the quote excluded chasing. Extra cable and chasing were approved on site as a 160 variation. Invoice INV-1847 was therefore 1,265.
The useful control is the sequence: exclusion, changed condition, written variation, approval, work and invoice. If the team had completed the chasing first and discussed price later, the extra labour and cable could have become an argument instead of approved work.
For more detail on separating the final bill from the work record, use the heating engineer invoice guide.
Classify callbacks in heating engineer job costing
A customer says the system has the same symptom. Do not book free remedial work by reflex. Ask what happened, compare it with the accepted scope and classify the return.
Every callback record must carry:
- The symptom reported.
- The cause found.
- The work completed.
- The commercial decision.
Put unfinished scope and workmanship returns on the original job
If the accepted work was not finished, or your workmanship caused the return, link the labour, parts and travel to the original job. Tag them as remedial costs.
The customer may receive no new invoice. The job still incurred cost. Hiding it makes the original work look more profitable and removes the reason for fixing the process.
Separate supplier or component issues
If a supplied component failed, keep the return visit linked to the original history but tag the cause separately. Record diagnosis, removal, replacement, testing and any claim or supplier credit.
Do not erase the engineer's time because a claim may recover a part. Labour happened. The credit is a separate supported entry when it arrives.
Open a linked job for damage, changed conditions or a new fault
Customer damage, later alterations and unrelated faults are not automatically remedial work. Open a linked job when the evidence shows a new chargeable scope. Keep the original reference so the engineer can see the history.
If the cause is not clear before attendance, book an assessment rather than promising a free repair. Before charging, check the contract, warranty and current consumer protection duties (opens in a new tab), then record what the engineer found and why the work is remedial or chargeable.
Compare the quote with actual cost after every entry lands
Reconcile labour, parts, hire and direct expenses. Check unused materials, returns and supported credits. Then compare the accepted selling price with the actual cost of that accepted scope.
When the result misses the quote, record each variance against survey, labour, purchasing, stock, dispatch or field work. Then choose the corrective action with the largest practical effect before the next comparable job starts.
Do not compare cash received with an incomplete cost record. Compare selling price and actual cost on the same documented VAT basis, and do not use the invoice total when it contains a variation whose costs have not been captured.
For a clean job profit review, record:
- Selling price for the scope being reviewed.
- Actual direct job cost under your chosen cost boundary.
- Profit, markup and margin calculated from those matching figures.
Markup is added to cost to produce a price. Margin is profit as a share of the selling price. Use the profit margin calculator after the scope and costs match.
Worked example: Oak Street profit
On the Oak Street electrical job, Quote Q-1847 was 1,105. Job cost against that original quote was 850. Profit was 1,105 − 850 = 255.
Margin was 255 ÷ 1,105, approximately 23%. Markup was 255 ÷ 850 = 30%. These are sample currency units, not prices or suggested rates.
Do not calculate profit from Invoice INV-1847 at 1,265. The costs caused by the 160 variation are not given. Combining the final invoice with the original job cost would overstate profit.
Keep VAT and CIS out of the job margin
Store operational cost, invoice value, tax treatment, deductions and payment as separate fields. They answer different questions.
Use fields for:
- Quoted or invoiced value and its VAT basis.
- VAT treatment.
- Any CIS deduction.
- Cash received.
- Operational job cost and its VAT basis.
The VAT basis in your heating engineer job costing review must be supported by the business's VAT treatment and accounting records. Keep recoverable VAT out of operational revenue and cost, and handle irrecoverable VAT under the business's documented accounting method.
Check current VAT and CIS treatment with HMRC (opens in a new tab). Confirm uncertain treatment before approving the job result. Do not treat a VAT line as heating revenue or a CIS deduction as a customer discount or direct job cost.
A payment record tells you what arrived in the bank. The cost record tells you what the accepted work cost to deliver. Keep both, then reconcile the VAT basis before approving the job result.