Here is the uncomfortable truth about job costing on solar installs: the margin you quote and the margin you keep are two different numbers, and most installers never sit down to work out the gap. The quote is a forecast. The real margin only shows up weeks later, once the panels are on, the sparky is paid, the certificates are sold and the callbacks are done. By then you have already moved on to the next job, and the leak never gets found.
I have spent twenty years around the business side of this trade, in supply, in sales, in admin, watching the same mistakes play out across hundreds of install businesses. Job costing is one of the quietest killers. Not because installers are careless, but because the tools built to do it were never built for solar.
Why generic contractor job costing misses solar
If you search for job costing software, the top results are built for general construction and then dressed up with a solar label. Werx pitches solar contractor billing and job costing around features like progress billing and time tracking (Werx, n.d.). Hardhat Ledger frames it around standard contractor cost categories (Hardhat Ledger, n.d.). Payaca gets closest to the real problem, naming it as quoted margin versus actual spend, before it resolves into a demo pitch (Payaca, n.d.).
The features they list are fine. Purchase orders, time entries, invoicing against milestones. The problem is what they leave out. A generic construction job has predictable line items: materials, labour, plant, a margin on top. A solar job has cost structures that do not exist in a kitchen renovation, and those are exactly where the margin bleeds out.
Three of them matter most: the timeline between permit and permission to operate, the price of hardware and certificates moving under your feet, and crew hours that never match the quote. Let me walk through a worked example so you can see where each one opens up.
A worked example: a 6.6kW residential job
Take a straightforward 6.6kW residential install. Nothing exotic. You quote it, you win it, and on paper the margin looks healthy. Say you quoted the job assuming a certain hardware cost, two crew for one day, and the small-scale technology certificates covering a big chunk of the customer’s up-front price. On the quote sheet, the margin is where you want it.
Now watch what actually happens over the next six weeks.
Permit and interconnection: the carrying cost nobody lines out
Most installers treat the time between sale and switch-on as dead air. It is not dead. It is money sitting still. From the day the customer signs to the day the retailer gives permission to operate, you may be carrying a deposit, holding stock, and paying overheads on a job that has not been closed out.
Generic job costing lumps this into labour or ignores it. It should be its own line. If a grid connection application or a network approval drags the job from a planned two weeks to six, that is four extra weeks of your working capital tied up in one job, multiplied across every job in the pipeline. You do not feel it on any single install. You feel it when you cannot pay a supplier invoice because too much cash is stuck between deposit and final payment.
The fix is to track permit and PTO milestones as dates on the job, not as a vague status in someone’s head. If you know a job has sat at “waiting on network approval” for 24 days, you can chase it. If you do not track it, the carrying cost is invisible until it becomes a cash flow problem.
Material price variance: the quote is a bet on next month’s price
You quoted the hardware at today’s price. You buy it at next month’s price. On panels and inverters, the two are rarely the same, and the direction is not always in your favour.
This is why leaning on a single supplier is a margin risk as much as a supply risk. If your one supplier lifts prices or runs out of the panel you quoted, you either wear the difference or scramble for a substitute at a worse price. I have written before about why you should never rely on one solar supplier, and job costing is a big part of that argument. A second and third supplier relationship is not just insurance against stockouts. It is what lets you hold the price you quoted.
On a single 6.6kW job, a small percentage move on the hardware might only be a few hundred dollars. Across forty jobs a quarter, that few hundred dollars is a real chunk of your net.
STC price movement: the delay that compounds
Here is where the delay from the first point and the price risk from the second stack on top of each other. The certificates created from an eligible system are not a government rebate. They are Small-scale Technology Certificates: tradeable certificates, created from the system’s deemed generation, that liable entities buy and surrender to the Clean Energy Regulator to meet their obligations under the Renewable Energy Target (Solar Choice, n.d.). The customer usually assigns their right to create those certificates to you in exchange for an up-front discount, which is why it feels like a rebate to them but is not one.
The catch for your job costing is that the STC price floats with the market, and the number of certificates a system creates falls as the deeming period shortens over time. If you quoted a job assuming a certain certificate value and the install slips past a step-down or the market price drops, the certificates you sell are worth less than the discount you already gave the customer. You wear the difference. The scheme is also designed to wind down over the coming years, which only sharpens the timing risk (Energy Matters, n.d.).
A delayed install is not just a scheduling annoyance. It is a live financial exposure on the certificate line, and it compounds with the carrying cost of the job sitting open. This is the same cash flow squeeze I cover in more detail in the piece on the STC lodgement cash flow gap.
Crew hours versus quoted hours
You quoted two crew for one day. The roof turned out to be tile instead of tin, access was tight, and the switchboard needed work nobody flagged on the site inspection. Now it is two crew for a day and a half, plus a return visit.
Untracked crew hours are the single most common way real install cost hides from the owner. If your crew or your subbies are not logging actual hours against the specific job, you are costing every install at quoted hours, not real hours. The generic time-tracking apps that dominate this search are built for clock-in and clock-out, not for tying labour back to a solar job’s real cost per install (ClockShark, n.d.). You need hours attached to the job, so you can compare quoted install time against what it actually took.
Do this across a quarter and patterns appear. Certain roof types always run over. A particular subbie always beats the estimate. One suburb always eats an extra hour in travel. You cannot price any of that into future quotes if you never captured it.
Warranty callbacks and rectification
The last cost lands after the job is “finished”. A callback for a tripping inverter, a rectification after an inspection, a warranty claim you have to project-manage. These hours and parts belong to the original job’s cost, but almost nobody books them back to it. The job looks profitable because the callback got costed as overhead, or not costed at all. Managing defects properly is its own discipline, and I have written about running solar defect rectification as real job management rather than as unpaid firefighting.
Cash flow is when the real cost finally shows
Add those five up and you see why the real margin arrives late. Progress payment timing and subcontractor payment terms decide when the number becomes visible. If you pay your subbie on a shorter term than the customer pays you, the job’s real cost lands before the revenue does, and a “profitable” job still creates a cash hole. Under the payment framework that governs progress claims in the building sector, the timing of claims and payments is not optional, it is structured (QBCC, n.d.). The trouble is that framework was designed for traditional construction, not for a workflow where certificate assignment is a de facto payment trigger.
The point is simple. If you only look at the quote, every job looks fine. The real margin is a moving target that only settles once the timeline, the hardware price, the certificate value, the crew hours and the callbacks are all in. Job costing is the habit of capturing all five against the actual job, not reconstructing them from memory at tax time.
Where CurrentFlow fits
This is the exact problem I am building CurrentFlow to solve. Job costing only works if the underlying data, crew hours, real material costs, permit and PTO milestones, is captured as the job happens, not pieced together afterwards from three disconnected tools. The idea is to give a solar install business a single record of each job’s actual costs and timeline sitting alongside the compliance paperwork you already have to keep, so a quoted margin can be checked against real spend without a separate spreadsheet exercise. It is the tool I wished existed every time I watched a healthy quote turn into a thin job.
You do not need my software to start, though. You need to pick one job this month, track its real hours, its real hardware cost, its certificate value at sale-out, and any callbacks, then compare that to the quote. The gap you find is the most useful number in your business.
References
Clean Energy Regulator. (n.d.). The Small-scale Renewable Energy Scheme. Clean Energy Regulator.
Energy Matters. (n.d.). The hidden STC problem: What happens when solar is removed too soon? https://www.energymatters.com.au/renewable-news/the-hidden-stc-problem-what-happens-when-solar-is-removed-too-soon/
Hardhat Ledger. (n.d.). Job costing for solar installers. https://hardhatledger.com/job-costing-for-solar-installers
Payaca. (n.d.). Job costing for solar installers. https://payaca.com/us/blog/job-costing-solar-installers
Queensland Building and Construction Commission. (n.d.). Contracts and payments. https://www.qbcc.qld.gov.au/home-owner-hub/build-renovate/contracts-payments
Solar Choice. (n.d.). STC scheme: Prices and calculations explained. https://www.solarchoice.net.au/learn/solar-rebates/stc-scheme/
ClockShark. (n.d.). Best time tracking apps for solar contractors. https://www.clockshark.com/blog/best-solar-business-time-tracking-apps
Werx. (n.d.). Solar contractor software for billing and job costing. https://www.werxapp.com/industries/solar/solar-contractor-software/
FAQ
What is the difference between quoted margin and real margin on a solar job?
Quoted margin is a forecast based on assumed hardware costs, quoted install hours and expected certificate value at the time you priced the job. Real margin is what is left after the actual timeline, the price you actually paid for panels and inverters, the hours the crew actually worked, the certificate value when they were sold out, and any warranty callbacks. The two rarely match, and the gap only appears weeks after the job is “done”.
Why doesn’t generic contractor job costing software work for solar?
Generic tools handle materials, labour and invoicing well, but they do not model the cost structures unique to solar. They have no line for the carrying cost of a job stuck between permit and permission to operate, no handle on certificate price movement during a delay, and they rarely tie real crew hours back to the specific install. You end up costing jobs at quoted assumptions rather than actual spend.
How do delays affect the value of STCs on a job?
Small-scale Technology Certificates are tradeable certificates, not a government rebate, and their market price floats while the number a system creates falls as the deeming period shortens over time. If an install slips past a step-down or the market price drops, the certificates you sell can be worth less than the up-front discount you already gave the customer, so the delay directly cuts your margin.
What is the single easiest way to start job costing properly?
Pick one job and track four things against it: real crew hours, the actual price you paid for hardware, the certificate value when you sold it out, and any callback time or parts. Compare that to your quote. The difference is your true margin on that job, and it usually reveals exactly where your pricing assumptions are wrong.
Why does cash flow make the real cost show up late?
If you pay your subcontractors on shorter terms than your customers pay you, a job’s real cost lands before its revenue does. A job that looks profitable on paper can still leave a cash hole, which is why tracking milestone and payment timing alongside job costs matters as much as the costs themselves.
