Your blended P&L shows 21% gross margin across all work. But one GC is producing 28% and another is producing 11%. Without job costing by GC, you have no idea which is which — or where to focus your capacity.
A concrete subcontractor doing $5M across five GC relationships might show 21% blended gross margin. That looks fine. But if two relationships are at 28–32% and three are at 12–15%, the business is being dragged down by GC relationships that are consuming capacity that could be directed toward the profitable ones. The problem is that without job-level costing by GC, the 21% blended number is the only number anyone sees.
A GC at 22% gross margin who pays net 90, requires weekly superintendent calls, disputes every change order, and generates a 15% rework rate is less profitable than a GC at 18% who pays net 30, has organized project management, and approves change orders within a week. Gross margin is the starting point. Payment timing, management burden, and rework are the adjustments that reveal true profitability.
Without data, bid decisions are made on relationship history, gut feel, and backlog need. The result is that a GC who produces 11% gross margin after adjustments gets the same crew capacity and estimating attention as one who produces 28%. Redirecting 20% of capacity from the 11% relationship to the 28% relationship — same revenue, same costs — produces a material margin improvement with no additional work.
When a concrete sub takes jobs at 12–14% gross margin and overhead is 12%, those jobs barely cover overhead and produce no net profit. They keep the crew busy. They generate revenue on the P&L. They do not generate cash. The higher-margin GC relationships are subsidizing the overhead that the low-margin relationships should be covering themselves. The low-margin work is not profitable — it is overhead coverage with a billing attached.
SPM builds ControlQore with GC as a job attribute alongside project and phase. Monthly reporting groups jobs by GC and shows gross margin by relationship. After three months, patterns emerge. After six months, the picture is clear enough to make capacity allocation decisions with confidence.
For each GC relationship, track average days from invoice submission to payment receipt. Calculate the annual financing cost of payment delay beyond 30 days at your cost of capital. Subtract from gross margin. A GC at 22% gross margin paying net 90 on average ($500K annual billings, 8% cost of capital) has a true margin closer to 20.7% — not catastrophic, but meaningful when compared to a clean 18% GC paying net 30.
Log management hours consumed per GC relationship — change order negotiations, dispute calls, superintendent coordination beyond normal project management. Log rework incidents and their labor cost per GC. These are real costs not captured in gross margin. A relationship generating two full days of PM time per month in change order disputes is consuming $2,000–$3,000 in overhead with no corresponding billing.
Once the profitability picture is clear, the decision tree is simple: if the relationship is profitable at current pricing, maintain or grow it. If it is underperforming due to pricing, reprice the next bid to reflect true cost. If it is underperforming due to GC behavior (slow payment, change order disputes, poor PM), decide whether the relationship is worth maintaining at any price. The data makes each decision defensible rather than emotional.
This contractor had three active GC relationships. SPM separated job costing by GC and found gross margins of 28%, 19%, and 9% respectively. The 9% GC was the busiest relationship — highest volume, most crew hours, most management attention. The 28% GC had two active jobs and received far less focus.
After repricing attempts failed, the contractor declined to bid the 9% GC's next project. Capacity redirected to the 28% and 19% GC relationships.
Paid within 12 months of the relationship restructuring — margin that had been consumed by the low-profitability relationship was now reaching the bottom line.
A free call with Josh takes 30 minutes. Bring your last P&L and current bank balance.
Schedule a Free Call →