Answer
Solar project profitability tracking compares installation revenue and delivery costs with the accepted estimate and approved changes. Record incurred costs, remaining commitments and forecast costs without duplication, then state which overhead is allocated. Gross margin, job contribution and company net profit have different cost boundaries. Customer receipts and supplier payments are a separate cash-flow view.
A solar installer’s job margin and an operating solar asset’s investment return answer different questions. This guide follows installation revenue and delivery costs from the accepted estimate through completion. For operating-asset measurement, use the separate commercial monitoring and ROI guide.
Establish the financial basis before comparing jobs
Record project ID, scope and design revision, currency, tax treatment, reporting date and accounting basis. Keep the original estimate, approved changes and latest forecast as separate versions. A purchase order, customer deposit and recognized expense are different records.
The IRS accounting-method guidance distinguishes cash and accrual treatment in the U.S. tax context. Your accountant must determine applicable recognition, inventory, capitalization and tax rules; this management worksheet is not a statutory accounting policy.
| View | What to record | What it does not establish |
|---|---|---|
| Original estimate | Expected revenue and cost for quoted scope | Actual final profit |
| Current approved budget | Original basis plus approved scope changes | Revenue already earned |
| Incurred cost | Costs attributable to work delivered, including accrued amounts awaiting invoices where appropriate | Cash already paid |
| Remaining commitment | Unfulfilled balance of orders or contracted work | An additional cost if already incurred |
| Forecast to complete | Remaining commitments plus other expected remaining costs, without overlap | A booked expense |
| Cash movement | Customer receipts and supplier/payroll payments | Profit under an accrual view |
For a management forecast, estimated final cost equals incurred cost plus forecast cost to complete. Reconcile fulfilled orders out of remaining commitments so the same equipment is not counted as an invoice, purchase order and future estimate simultaneously. Do not treat a deposit as profit or an unsigned change request as approved revenue.
Keep the four useful cost buckets
Materials: record modules, inverters, mounting, electrical balance of system, monitoring and storage against the current equipment list. Link purchase orders, receipts, invoice references, returns and credits to the job.
Labor: capture hours by task, such as survey, design, roof work, electrical work, commissioning and project management. Define whether an hourly rate contains payroll burden, benefits or overhead. Charging the same burden again in a separate pool overstates cost.
Other direct costs: identify job-specific engineering, permit fees, freight, rentals, travel and subcontract work. Authority fees and qualified professional services vary by project and jurisdiction; obtain the actual basis rather than copying a universal allowance.
Indirect overhead: document shared office, administrative, insurance, software and other costs not charged directly. Some costs may be direct for one business and pooled for another. Classification must be consistent. Owner withdrawals are not automatically operating expenses, and buying a capital asset is not automatically a full current-period job expense.
An illustrative account structure can separate revenue, materials, labor, other direct costs and overhead. The account numbers themselves matter less than mapping each entry to the job, reporting period, cost category and source record. Discuss accounting classifications with your accountant.
A reusable job-cost worksheet
| Field | Record |
|---|---|
| Baseline | Original estimate ID; scope and design revision |
| Changes | Approved change ID, price, additional cost and affected outputs |
| Materials | Quantity, unit, ordered/received status, invoice and credit references |
| Labor | Task, hours, rate basis, approval and payroll reconciliation |
| Other direct costs | Supplier or authority, service scope, estimate/invoice status |
| Overhead | Cost pool, allocation driver, reporting period and excluded direct charges |
| Forecast | Incurred cost, remaining commitments and other remaining estimate |
| Revenue | Contracted amount, approved changes and recognized amount separately |
| Cash | Receipts, payments and outstanding balances separately |
| Review | As-of date, exceptions, owner and correction history |
Use the line-by-line costing review to establish the baseline before quoting. Preserve later changes instead of overwriting that baseline.
Analyze variance against comparable scope
Five useful reason codes from material review are estimating error, supplier price change, substitution, waste/damage and scope change. These describe possible causes to investigate, not automatic diagnoses. A substitution also needs technical review; a cheaper line item is not evidence of compatible equipment.
Cost variance equals actual comparable cost minus comparable budget. Percentage variance equals that difference divided by budget, multiplied by 100. A zero budget has no defined percentage variance.
Hypothetically, materials budgeted at $8,500 and incurred at $9,100 produce a $600 unfavorable variance, approximately 7.06%. First reconcile quantities, credits and approved scope changes. Separate price variance from quantity variance where the records permit it; one combined percentage cannot identify procurement failure.
For an illustrative add-on only, $2,800 materials + 4 hours at $55/hour + $200 other direct work equals $3,220 direct cost. At an assumed approved price of $3,500, direct gross profit is $280 and gross margin is 8%; at $4,500 it is $1,280 and approximately 28.44%. These are not battery market prices or net margins: further overhead, financing or tax treatment is not included.
Allocate overhead without charging it twice
Choose an explicit driver: project hours, revenue, capacity, a fixed per-job amount or activity-based pools. Test whether it reflects the resources consumed by the project mix. Activity-based costing can expose differences between jobs, but the quality of its time records and pool definitions determines its usefulness. No method is universally most accurate.
For an illustrative monthly activity pool, $6,000 of uncharged design support divided by 30 comparable design activities gives $200 per activity. Allocate one such activity to a job only if those wages have not already been charged to it directly. A revenue-based pool will produce a different allocation; retain the policy so comparisons remain interpretable.
Do not call contribution after an allocated pool “company net profit.” Unallocated expenses, financing, taxes and other accounting adjustments may remain. Reconcile the project ledger with the company accounts rather than claiming every per-job residual is statutory net income.
Worked example: gross profit versus allocated contribution
The following retains an illustrative estimate-versus-final comparison. All values are assumed U.S. dollars, exclude tax and financing, and describe a completed job with all displayed revenue assumed recognized. They are not customer results, market benchmarks or product prices.
| Item | Original estimate | Final illustrative result |
|---|---|---|
| Revenue | $25,000 | $28,500 |
| Materials | $8,400 | $11,470 |
| Labor | $1,840 | $2,040 |
| Other direct costs | $1,030 | $1,120 |
| Total direct cost | $11,270 | $14,630 |
| Gross profit | $13,730 | $13,870 |
| Allocated indirect costs | $3,345 | $3,420 |
| Contribution after those allocations | $10,385 | $10,450 |
Final gross margin is $13,870 / $28,500, approximately 48.67%. Contribution after the displayed allocations is $10,450 / $28,500, approximately 36.67%. Neither is a recommended installer margin or proof of net profit. Revenue and scope changed, so this table alone is not a like-for-like cost-variance report; compare final results to the approved revised budget as well.
Margin divides profit by revenue. Markup divides profit by cost. Always label the denominator, cost boundary and accounting period. Cost per watt also requires a defined numerator: an assumed $25,000 cost divided by 8,000 Wdc is $3.125/Wdc. A $25,000 selling price divided by that capacity would be price per watt instead.
Review open jobs and learn from completed ones
Set review cadence from material purchasing, billing and delivery decisions and the latency of your records. A useful review asks:
- Does forecast final cost include unbilled work and remaining commitments without duplication?
- Is a variance caused by scope, price, quantity, hours or a recording error?
- Are change prices approved, and have their costs reached the forecast?
- Which figures remain estimates, and who will reconcile them?
- Have callbacks, returns and credits changed the result after initial completion?
For a dashboard, show comparable project categories, forecast and completed margins, labor hours, material variance and unresolved costs. Separate cash collection from recognized revenue. Crew utilization needs declared paid/productive-hour definitions; a universal threshold cannot explain travel, training, safety or project conditions.
A simple break-even model divides fixed costs by contribution per job, with consistent variable/fixed boundaries. It is only a planning approximation: capacity limits, project mix and stepped overhead can change the answer. Do not extrapolate a sample job indefinitely.
Select software by reconciliation, not a ranked list
Test whether your offered accounting and operations tools can map project IDs, cost categories, time records, invoices, credits, commitments and approved changes. Check export access and reconciliation responsibilities. A design or proposal output can inform a cost estimate, but it does not demonstrate native ERP functionality or accurate bookkeeping.
Explore SurgePV’s design workflow with representative equipment and scope inputs. Ask how the offered outputs reach your costing records; establish any manual or integration steps before relying on them.
The Australian Government P&L guide explains actual versus forecast statement inputs and tax-inclusive/exclusive labeling. Apply local accounting advice for your own jurisdiction and reporting basis.
Frequently Asked Questions
What is solar project profitability tracking?
Solar project profitability tracking compares a job’s recognized revenue, incurred and forecast costs, and declared overhead allocations against its estimate and approved scope changes. Keep cash receipts and payments separate from profit.
What are typical profit margins for solar installers in 2026?
There is no verified universal installer margin benchmark in this guide. Compare consistently defined margins for similar jobs using your own reconciled records; local costs, scope and accounting policy change the result.
How do you allocate overhead costs to individual solar projects?
Use a documented driver such as project hours, revenue, capacity or activity-based cost pools. Check whether it reflects resource use and exclude costs already charged directly to avoid double counting.
What is material cost variance in solar installations?
It is actual comparable material cost minus comparable budget. Divide that difference by budget and multiply by 100 for a percentage. A zero budget has no defined percentage variance; reconcile approved scope changes separately.
How often should solar installers review per-job P&L?
Set the cadence around purchasing, billing and delivery decisions and record availability. Review forecasts while work is open, reconcile completion results and revisit later invoices, returns and callbacks.
What are the biggest mistakes installers make when tracking profitability?
Common mistakes include confusing cash with profit, omitting incurred but unbilled costs, counting orders and invoices twice, ignoring approved scope changes and calling a partially allocated contribution net profit.
What software do solar installers use for job costing?
Evaluate offered tools for project IDs, cost categories, invoices, credits, time records, remaining commitments and reconciliation exports. Design and proposal outputs can inform estimates but do not establish native accounting functionality.
How do you calculate cost per watt for a solar installation?
Divide the explicitly defined project cost by nameplate DC capacity in watts. An assumed $25,000 cost divided by 8,000 Wdc is $3.125/Wdc; selling price per watt is a different numerator.
What is the difference between gross margin and net margin in solar installation?
Gross margin uses revenue minus the defined direct-cost boundary, divided by revenue. Net margin requires the full applicable expense and accounting basis; a job contribution after selected overhead allocations is not automatically company net profit.
How do permitting delays affect solar project profitability?
Delays can change storage, financing, remobilization or other costs where the project incurs them. Record the actual contractual and operational consequences instead of assuming a universal cancellation rate or cost per watt.
Where this fits
This article is part of SurgePV's Solar Business & Operations hub, which works through the topic from first principles to the decisions a project team actually has to make.

