SOLAR ยท JOB COSTING SOFTWARE

CONTROLQORE FOR SOLAR CONTRACTORS.

Generic accounting software can't report install cost per module by phase, carry the begin-construction evidence that decides whether the 30 percent credit exists, or price the wait for energization as a cost. ControlQore can.

QUICK ANSWER

ControlQore for solar contractors uses cost codes by phase, meaning mobilization, racking, module setting, DC wiring, inverter set, interconnection and energization, and the documentation file, so labor cost per module set is tracked against the rate the bid carried. Every job carries the clock it's on, either a begin-construction date with continuity records behind it or a December 31, 2027 in-service deadline. Non-FEOC equipment cost is tracked against the 40 percent threshold that applies to 2026 construction starts. Retainage and milestone billing under EPC and subcontract terms are tracked by job. The WIP schedule is produced monthly from cost-to-cost percentage complete.

Solar is two businesses inside one book. The install is racking, modules, wire, and an inverter, and it's won or lost on production per crew day, which means cost per module set by phase is the number that tells you whether the bid holds. The credit is a documentation exercise worth 30 percent of the project, and it runs on a calendar nobody can renegotiate: the residential Section 25D credit expired December 31, 2025, projects that began construction by July 4, 2026 keep the 30 percent Section 48E credit with a roughly four-year continuity window, and everything that started later has to be placed in service by December 31, 2027 or it claims nothing. A job costing system that measures the install and ignores the file is measuring the smaller number.

BY JOSH LUEBKERPublished 2026-08-08Updated 2026-08-08
WHAT IT SEES

THE NUMBERS GENERIC SOFTWARE MISSES.

Per Module
Install Labor Cost by Phase vs. Bid
Two Clocks
Every Job Mapped to Its Credit Deadline
40% Non-FEOC
Equipment Content Tracked by Project
Monthly
WIP Schedule From Actual Job Cost
THE DEFINITION

WHAT IT IS.

ControlQore is a job costing and WIP platform for contractors that tracks cost by job and cost code, so a solar subcontractor can see install cost per module by phase, and what the wait for interconnection is costing, while the array is still going up.

WHAT YOU ARE DEALING WITH

WHERE IT GOES WRONG.

01

One Labor Number for Racking, Modules, Wire, and Inverter

Racking is repetitive production, module setting is a count, DC wiring is a different crew rhythm, and the inverter set is a day nobody repeats. Generic accounting software reports one labor total for the array, which averages four unrelated production rates and describes none of them. Module count is the quantity the install is bid against, so labor cost per module by phase is the only figure that reads against the estimate. Without it, a racking crew running well behind and a wiring crew running ahead cancel each other out in the total, and the bid learns nothing for next time.

02

A Backlog Running on Two Different Clocks

The OBBBA, signed July 4, 2025, split the commercial book in half. Projects that began construction by July 4, 2026 keep the 30 percent Section 48E credit with a roughly four-year continuity window running into 2030. Projects that missed that start must be placed in service by December 31, 2027 to claim anything, which is a fixed and short runway. A pipeline that's not mapped against those two clocks is a pipeline whose margins are unknown, because the credit is a bigger number than the profit on the work and the schedule risk isn't the same on the two halves.

03

Begin-Construction Evidence With Nowhere to Live

Whether the 30 percent credit exists at all comes down to a record: physical work of a significant nature, on site or off site under binding contract, or where it applies the 5 percent cost safe harbor, plus continuity documentation through completion. IRS Notice 2025-42 removed the 5 percent path for solar above 1.5 MW and left only the physical work test, then a federal court vacated that notice on June 6, 2026 with an appeal expected, so contractors made million-dollar procurement decisions against rules that moved mid-flight. The physical-work record is the durable evidence, and it belongs on the job at audit standard. Filed in somebody's email, it's worth nothing when the file is requested three years later.

04

Cheap Modules That Cost the Credit

Projects beginning construction from 2026 onward have to satisfy Foreign Entity of Concern restrictions through the Material Assistance Cost Ratio, which requires at least 40 percent of relevant equipment cost to come from non-FEOC sources in 2026, with the threshold rising in later years. That makes the procurement file a tax document. The cheapest module supply and credit eligibility now pull in opposite directions, so the delta between compliant and non-compliant equipment belongs in the bid rather than in a surprise at closeout. Generic accounting software has nowhere to carry an equipment content ratio against a project's start date.

05

Interconnection and Retainage on the Same Cash Line

Under the policy drama, solar is still construction. Utility queues and energization are a schedule gate nobody controls, and the transformer and inverter lead times the electrical trades live with apply here too. The array can be complete while the money is still behind a utility date, and EPC and subcontract terms add retainage and milestone billing on top of that. Solar contractors at $1M to $5M net 6.5 percent before taxes on the SPM 48-trade dataset against a CFOS target of 10 percent, so a hold plus a standby crew plus a delayed final milestone is more than the margin on the job.

HOW SPM SETS IT UP

WHAT WE BUILD.

Cost Codes by Install Phase in ControlQore

SPM builds ControlQore cost codes for solar clients by phase: mobilization and site work, racking, module setting, DC wiring, inverter set, interconnection and energization, commissioning and punch, and the documentation file. Labor, equipment, and material post to the correct phase, and module count posts as the quantity behind the mechanical phases. Weekly actual labor cost per module is calculated by phase and compared to the rate the bid carried. Prevailing-wage and apprenticeship compliance is embedded in the 30 percent rate rather than the base 6 percent rate, so the wage assumption belongs in the estimate and the hours behind it belong to a phase code.

Every Job Tagged With the Clock It Is On

SPM configures the credit clock as a job attribute in ControlQore, so every project in the backlog reads as either a safe-harbored start with continuity obligations running into 2030 or a post-deadline job that has to be in service by December 31, 2027. Monthly reporting groups the pipeline by clock, which turns an abstract policy problem into a schedule decision about which jobs get crews first. The December 31, 2027 group is where a slipped inspection costs 30 percent of the contract rather than a few days of float. Verify current federal and state posture before quoting anybody, because these rules have been litigated inside a single year.

The Documentation File as a Cost Code and a Deliverable

SPM sets up the begin-construction file as its own cost code and its own checklist on the job: physical work records with dates and photographs, binding contracts, procurement invoices, and continuity evidence through completion. It carries hours because somebody has to assemble it, and it carries a due date because the credit does. Where a portfolio crosses 1.5 MW across multiple buildings, the aggregation question gets answered before the start date rather than after. The paperwork isn't compliance overhead on a solar project. It's the largest single line item on it.

Non-FEOC Content Tracked Against Every Start Date

Equipment purchase orders post to a project in ControlQore with the supplier content documentation attached, so the Material Assistance Cost Ratio is a running figure against the 40 percent threshold for that project's start year rather than a spreadsheet somebody rebuilds at year end. A module quote that's cheaper per watt and fails the content test gets compared against the credit it puts at risk before the order goes out. Procurement decisions get made with the tax consequence visible, which is the only sequence that works when the ratio is worth 30 percent of the contract.

Monthly WIP, Interconnection Standby, and Retainage

The WIP schedule for solar clients is produced monthly from cost-to-cost percentage complete by job. Underbilled positions, meaning work performed but not yet billed, are visible immediately and trigger a corrected pay app, which is common when a job is complete and waiting on a utility date. Standby time during an interconnection queue posts to its own code so the cost of waiting is a documented number instead of absorbed labor. Retainage under EPC and subcontract terms is tracked as its own receivable class with release conditions dated, and where a residential remnant, commercial work, and storage or service all run under one roof, each is configured as its own division with its own cost history and its own cash curve.

$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SOFTWARE INVOICE.

Three tiers, priced by your trailing twelve month revenue. ControlQore comes with Strategic, and it never appears as its own line item on an SPM invoice. Which tier you're in depends on how much of the work you want off your desk.

Pricing

Last 12 months revenueMonthly fee
Up to $1M$1,900 to $2,900
$1M to $3.5M$2,600 to $3,900
$3.5M to $6.5M$3,800 to $5,700
$6.5M to $9.5M$5,100 to $7,100
$9.5M to $12.5M$6,100 to $8,500
$12.5M to $15.5M$7,400 to $11,000
$15.5M to $18.5M$9,400 to $13,500
$18.5M+Quoted individually

Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.

Core

You stop guessing.

You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.

Your bookkeeper keeps doing the books.

Executive

You stop touching the books.

Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.

We do the books. No payroll.

Strategic

Every job shows its margin while it's still running.

Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.

We do the job costing.

COMMON QUESTIONS

FREQUENTLY ASKED.

SPM builds cost codes by install phase and posts module count as the quantity behind the mechanical phases. Crews log hours to the phase they worked at the end of each day, and ControlQore calculates burdened labor cost for those hours against the modules set in that period. The result, actual labor cost per module by phase, is compared weekly to the rate the bid carried. A racking crew running behind is visible while there's still array left to build rather than at commissioning.
Yes, and SPM sets it up as its own cost code with its own checklist, because the file is worth 30 percent of the project. Physical work records with dates and photographs, binding contracts, procurement invoices, and continuity evidence all attach to the job. The physical work test is the durable path: IRS Notice 2025-42 removed the 5 percent cost safe harbor for solar above 1.5 MW, and although a federal court vacated that notice on June 6, 2026, an appeal is expected. Verify current federal and state posture before you quote a customer.
Equipment purchase orders post to the project with supplier content documentation attached, so the Material Assistance Cost Ratio runs as a live figure against the threshold for that project's start year, which is at least 40 percent of relevant equipment cost from non-FEOC sources for 2026 starts and rises after. That puts the tax consequence of a procurement decision in front of the person making it. A cheaper module that fails the content test isn't cheaper, and the difference belongs in the bid.
60 days from engagement start to live job costing with WIP reporting. The solar setup covers the phase-level cost code build, module count as the production quantity, the credit clock as a job attribute, the begin-construction documentation file, non-FEOC content tracking by project, interconnection standby coding, retainage tracking under EPC terms, divisional setup where residential, commercial, and storage or service run together, and historical data migration from QuickBooks. Most clients are fully operational in ControlQore within 60 days.
Three tiers, and which one you are in depends on how much of the work you want off your desk. Core is where you stop guessing: job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a monthly meeting that ends in decisions, while your bookkeeper keeps doing the books. Executive is where you stop touching the books, because we run the bookkeeping and the controllership as well. Strategic is where every job shows its margin while it is still running, because the job costing and WIP platform is set up and managed for you. No payroll. No scope gaps.
WHAT THIS TIES INTO
Josh Luebker, The Construction CFO
Josh Luebker
FRACTIONAL CFO · THE CONSTRUCTION CFO

Former commercial construction project manager and master electrician. Managed 150+ projects worth more than $2.1B combined, with individual jobs from $50,000 to $300M, including data centers, military bases, hospitals, and high-rises. Now fractional CFO for commercial subcontractors doing $1M to $12M through Sulphur Prairie Management.About Josh  | LinkedIn

WANT TO SEE THIS ON YOUR OWN SOLAR JOBS?

Bring one open solar job and your last full year. We will show you what the cost codes would look like and where the current numbers are wrong before we talk about working together.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute diagnostic

20 minutes. No sales pressure. We will tell you exactly what's broken before we talk about anything else.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.