All guides

Guide

Accounting for specialty subcontractors

A subcontractor runs the same job cost and WIP accounting as a general contractor, but from the other side of every document. You submit the pay application instead of certifying it, sign the lien waiver instead of collecting it, and wait for retainage instead of holding it. The accounting is simpler in some places and more exposed in others, and most software built for GCs gets the subcontractor side half right.

Updated October 2026

What is different on the subcontractor side

TopicGeneral contractorSpecialty subcontractor
Progress billingCertifies subs’ applications; bills the ownerSubmits an application to the GC against the subcontract’s schedule of values
RetainageHolds retainage payable from subs; retainage receivable from the ownerRetainage receivable from the GC, often 10% held until the owner releases the GC
Lien waiversCollects conditional and unconditional waivers before payingSigns waivers with each application; must track what has been waived through what date
ComplianceChecks subs’ insurance, W-9, licensesKeeps certificates current on every GC’s portal; a lapse stops payment
Payment timingPays subs after the owner pays, where the subcontract allowsWaits on pay-when-paid; cash is tied to the GC’s collection, not your billing
Job costMostly subcontract cost; labor is a smaller shareMostly self-performed labor and material; productivity is the margin
Change ordersNegotiates with the owner; passes down to subsPrices and submits to the GC; often performs the work before approval

Billing the GC

Your pay application is a claim against the subcontract’s schedule of values, cumulative, less retainage, less what has been certified before. The GC will check it against the field, against prior applications and against your compliance file, and will certify what they accept. Two numbers matter on your side: what you claimed and what was certified. If they differ, the difference is either a timing issue (the GC counts progress a month behind you) or a dispute, and your system should hold both so the gap is visible rather than overwritten.

  • Build the subcontract SOV with the GC’s SOV lines in mind so your application maps cleanly to theirs
  • Bill on the GC’s cycle, not yours; a missed cutoff is a month of float
  • Bill stored materials where the subcontract allows; document them the way the owner requires
  • Submit approved change orders as new SOV lines the month they are approved
  • Track certified-to-date per line, because that is what retainage and the final release will be computed on

Retainage, waivers and cash

Retainage receivable is the subcontractor’s largest balance sheet surprise. Ten percent of every billing, held for the life of the job and often months past it while the owner closes out the GC, adds up to a significant share of annual revenue sitting uncollected. Track it by job, with the expected release date and the conditions (final waivers, closeout documents, the owner’s release to the GC) so it is a plan rather than a hope.

  • Keep retainage receivable separate from ordinary AR so aging reports mean something and lenders can see it
  • Record each lien waiver you sign: type, through date, amount, project; a waiver signed on the wrong form or for the wrong amount is a lost right
  • Never sign an unconditional waiver for money you have not received
  • Track lower-tier waivers from your own suppliers; the GC will ask for them at closeout
  • Model cash on the GC’s payment history, not the subcontract’s terms

Job cost for self-performed work

A specialty contractor’s margin is made or lost on labor productivity, so job cost has to be by phase and cost code with hours, not just dollars. Rough-in, trim, fixtures or whatever the trade’s stages are become the cost codes; labor hours post from the time system against them; and the weekly question is units installed per hour against the estimate, not dollars spent against budget. Material is the second lever: truck stock and warehouse stock need to be relieved to jobs as they are used, or job cost is understated and inventory is a fiction.

  • Cost codes by stage of the trade’s work, consistent across every job
  • Hours and dollars on labor codes, with burden applied at the rate for the crew class
  • Material issued from truck and warehouse stock to the job, not expensed on purchase
  • Committed cost for the few subcontracts and major POs, so buyout is visible
  • A cost-to-complete by code monthly, from the foreman’s view of remaining units

How Forge ERP fits a specialty subcontractor

Forge’s construction setup includes a Specialty Trades specialization for electrical, mechanical, plumbing and HVAC contractors that lays a trade-specific chart of accounts over the base (truck stock and warehouse inventory, consigned material at job, deferred service contract revenue, service call, maintenance contract and project work revenue, technician wages, small tools, vehicle costs), adds service, phase, location, customer and warehouse dimensions, and enables procurement, projects, project ledger, inventory, cost catalog, revenue and time. AIA-style pay applications bill the GC against your schedule of values with retainage tracked per line; retainage receivable is held in its own account and appears as an open item; waivers you collect from your own suppliers and sub-tier subcontractors are tracked by type, through date and amount and gate their payment (waivers you sign for the GC are not tracked as their own record today); and job cost posts by cost code and cost type with labor hours from time entry.

Forge ERP covers projects, purchasing, accounts payable, billing and receivables, job cost and WIP, reporting and close. Payroll runs in your payroll provider and lands in Forge as job-costed labor with burden. Forge is in beta with a 14-day free trial.

Frequently asked

Do subcontractors need a WIP schedule?
Yes, if you report under percentage of completion, which most subcontractors with bonding do. The surety wants to see over/under billing by job, and the forecast behind it, the same as for a GC.
How should I account for retainage the GC holds?
As retainage receivable, separate from accounts receivable, by job. It is earned revenue under percentage of completion; it is just not yet collectible. Include it in billed-to-date on the WIP schedule.
Is pay-when-paid enforceable?
It depends on the state and the wording. Pay-when-paid usually delays payment for a reasonable time; pay-if-paid can shift the owner’s credit risk to you where it is enforceable. Read the subcontract and ask a construction attorney; the accounting treatment does not change, only the cash timing.

Related guides

See it on your own cost codes.

Start a 14-day trial, or send us your chart of accounts and cost-code list and we will walk you through Forge on them.

Request Early Access