CCTV job costing: how to find out which jobs actually make money
CamVerion team · 7 November 2026 · 7 min read
Plenty of installation companies are busy all year and still surprised by how little money is left at the end. Usually, the bank balance is the only measure of profit they see. By then, it is too late to know which jobs helped and which ones hurt.
Job costing is simply comparing what a job earned with what it truly cost. It does not require complicated accounting. It does require a consistent habit, and it may be the most useful financial change a small installer can make.
Revenue is not profit
Consider two jobs with invented figures.
| Job A: large warehouse | Job B: small shop | |
|---|---|---|
| Invoice value | 300,000 | 40,000 |
| Equipment and materials | 210,000 | 22,000 |
| Labour | 45,000 | 6,000 |
| Travel, hire, other | 25,000 | 1,000 |
| Overhead share | 15,000 | 3,000 |
| Profit | 5,000 | 8,000 |
| Margin | 1.7% | 20% |
The large job looks more impressive, and it took more of your capital and attention. The small one earned more. Without costing, you would probably keep chasing the larger ones and wonder why cash stays tight. This does not mean that large jobs are bad, only that you should know the numbers before you decide which to chase.
The four cost groups to track
1. Materials
Include everything used on the job at what you truly paid:
- cameras, recorders, drives and switches
- cable, conduit, connectors and fixings
- items bought on site by technicians
- anything returned to stock, which should be subtracted
Small items count. Add a percentage for consumables if you do not want to track each screw, and revise it from time to time.
2. Labour
This is the group most often wrong. Multiply hours spent by a loaded hourly cost, not just the wage. A loaded rate includes pay plus benefits, leave, holidays and tools, and it allows for unbilled time.
A simple way to work it out:
Loaded rate = total yearly cost of the person ÷ realistic billable hours per year
A technician may be paid for around 2,000 hours a year, but might only spend 1,400 on actual jobs. The rest goes to travel between sites, training, waiting and leave. Using 2,000 hours would make each job look more profitable than it is.
Include all the people involved: survey, office prep, installation, commissioning and return visits.
3. Direct job costs
- Travel, fuel and tolls
- Food and accommodation
- Subcontractors, such as electricians or civil work
- Equipment hire, such as lifts or scaffolds
- Permits and passes
- Courier costs
4. Overheads
Rent, office salaries, software, insurance and vehicles have to be paid by your jobs. A common simple method is to add an overhead rate per labour hour:
Overhead rate = monthly overheads ÷ monthly billable labour hours
So if overheads are 150,000 per month and your team bills 500 hours, you need to recover 300 per labour hour. This method is not perfect, but it is far better than leaving overheads out.
Compare the estimate with the result
Job costing becomes truly useful when you compare your quote with what happened.
| Item | Estimated | Actual | Difference |
|---|---|---|---|
| Equipment | 60,000 | 60,500 | +500 |
| Materials | 12,000 | 15,200 | +3,200 |
| Labour hours | 32 | 44 | +12 |
| Travel and other | 3,000 | 4,100 | +1,100 |
| Return visits | 0 | 1 | +1 |
Then ask why. In this example, cable and hours both ran over. Perhaps the cable route was longer than surveyed. If that happens repeatedly, your survey process or estimating allowance needs to change. If only one technician runs over, there might be a training need, or they may be getting the hardest sites, so take care before drawing conclusions.
How to capture the data without pain
The system has to be easy, or nobody will use it.
Materials
- Connect supplier invoices to job numbers.
- Give the job number to the supplier when ordering.
- Record what leaves the store for each job, even for small items.
- Have technicians photograph bills for anything they buy on site. Our expense process shows one way to do that.
Time
Ask technicians to start and end work against the job, rather than filling out a timesheet at the end of the week. People's memory of last Tuesday is often unreliable. Be clear that the aim is better pricing, not catching anyone out. See our guide to managing field staff.
Job costs
Record costs directly on the job. Include subcontractor bills, hire charges and travel, as they are easy to forget a month later.
Return visits
Log any return trip against the original job. It is often where the profit disappears. A return visit caused by a missing connector costs the same as a working visit, but earns nothing.
The numbers worth watching
You do not need twenty reports. Start with these.
- Gross margin by job: invoice value minus direct costs, as a percentage.
- Margin by job type: for example, shops, warehouses and service work.
- Labour hours per camera: a useful way to compare similar jobs.
- Estimate accuracy: actual hours compared with quoted hours.
- Return visit rate: how many jobs need another visit.
- Days to payment: time from invoice to payment.
- Margin by salesperson or source: this can reveal who is discounting too much or where the best work comes from.
Review them monthly, and keep the meeting short. The aim is to make decisions, not produce charts.
What you can do with the results
Fix your pricing
If small jobs consistently overrun, add a minimum charge. If a job type earns too little, raise your price or stop chasing it. Real data also gives you the confidence to hold your price when a customer pushes back.
Improve your estimates
Use actual labour hours per camera, by site type, in your quoting method. A warehouse with long cable runs behaves differently from a small office.
Focus your marketing
You may find that a certain type of customer gives you good margin and few problems. Aim more marketing there, such as clinics or light industrial units, and spend less where margin is thin.
Reduce waste
Materials running high may mean poor survey measurements, cable waste or stock going missing. Frequent return visits may mean poor van stocking or weak commissioning.
Change how you buy
Spending patterns might show that you could benefit from better supplier terms or consolidating purchases. Or you may find that last-minute local buying is more costly than you assumed.
Decide on subcontracting
Comparing your true loaded labour cost with a subcontractor's price gives you a much better answer than comparing wages.
Cash flow is a separate question
A profitable job can still hurt you if you pay for equipment now and collect months later. Add these habits to your job costing:
- Take an advance large enough to cover the main equipment where possible.
- Invoice stage payments on time.
- Track days to payment by customer.
- Follow up promptly on overdue amounts. See our payments documentation.
Look carefully at large low-margin jobs, as these tie up the most cash for the least return.
Common mistakes
- Using list price rather than what you paid. Or the other way around, forgetting a lost discount.
- Ignoring the owner's time. If your own hours aren't costed, your jobs look better than they are.
- Not counting return visits. This hides your real quality cost.
- Using one blended margin for everything. Equipment, labour and service behave differently.
- Waiting until the end of the year. By then, you can no longer fix anything.
- Using the data to punish. Staff will stop recording honestly.
A simple start for next month
- Choose your next ten jobs.
- Give each a job number, and put it on all purchases.
- Have technicians record start and end times.
- Log all extra costs and any return visits.
- Work out the loaded labour rate and overhead rate once.
- After each job closes, fill in a simple one-page sheet: estimate, actual, difference and why.
- After ten jobs, look for patterns, and make one pricing change.
You can do this in a spreadsheet. As volume grows, keeping job costs, expenses and hours in one system saves a lot of time. The goal stays the same: to see the real result of each job while there is still time to act on it.