Every Friday on a Davis-Bacon project, the AP inbox at the prime contractor's office fills with WH-347 certified payrolls — the prime's own, its first-tier subs', and the second-tier subs feeding those. Under the Department of Labor's 2023 Davis-Bacon final rule at 88 FR 57526, published on August 23, 2023 with an effective date of October 23, 2023, 29 CFR 5.5(a)(6) provides that the prime contractor is responsible for the compliance of all subcontractors on a covered prime contract. The prime is no longer just collecting WH-347s and stamping a folder — it is now jointly liable for what those forms contain at every tier, on federally funded or DBRA-covered work (federal contracts above the $2,000 threshold, federally assisted housing, IIJA-funded infrastructure, and the long list of grant programs that incorporate Davis-Bacon by reference).
The review this article walks is a per-cell discipline against a worker-by-week-by-classification workpaper: each row's classification is checked against the wage determination on file, the hourly rate against the prevailing wage rate, the fringe benefit against the prevailing fringe rate (with bona-fide-plan contributions properly annualized), and the page-2 Statement of Compliance against the page-1 data. The review runs for both first-tier subs and every lower tier on the project, because DOL is explicit that certified payroll obligations follow the work, not the contracting tier.
The WH-347 review runs alongside AIA G702/G703 pay application processing — same Friday packet, different artifact. Pay applications carry the dollar arithmetic; the WH-347 carries the labor data underneath.
What You're Reviewing: WH-347 Page 1, Page 2, and the Web Form
The WH-347 is a two-page document, and the review treats each page as a distinct artifact carrying its own obligations.
Page 1 is a tabular per-worker-per-week record. Each row carries the worker's name and last-4 SSN — DOL's 2009 guidance redacts the full Social Security number, so a fully written SSN on the form is itself a flag — the worker's classification, hours worked per day across the week and the weekly total, the hourly rate paid, gross weekly earnings, deductions itemized down the row, net pay, and a fringe-benefit treatment indicator naming whether the fringe was paid as cash on the paycheck, as a contribution to a bona-fide benefit plan, or some mix.
Page 2 is the Statement of Compliance — a sworn officer statement attached to the page-1 data. It carries declarations covering Copeland Anti-Kickback Act compliance, classification accuracy, and fringe-benefit treatment (the signer confirms the appropriate box for cash, plan, or both, with any exceptions noted). The signer must be an officer of the contracting entity or a duly authorized agent, not a foreman or a payroll clerk; the form is a perjury-grade attestation.
WH-347 is a federal form. On state-prevailing-wage projects funded under little Davis-Bacon statutes, the equivalent state form arrives instead — California DIR's A-1-131, New York's PW-3, and others covered later. Mixed-funded projects bring both. DOL's electronic WH-347-web carries identical fields and legal weight to the PDF; submission mechanics differ but the review does not.
The Per-Cell Review Workpaper
The review the rest of this article walks runs against a workpaper, not against the WH-347 PDFs themselves. The workpaper is a flat table the prime maintains per project, per pay period, and every WH-347 received expands into rows in it — one row per worker per week per classification. A sub with 12 workers on the project for a given week produces 12 review rows from a single WH-347; across a 30-week project that is 360 rows from one contracting relationship. Multiply by 8 to 15 active subs and the volume becomes the reason a manual review breaks down quickly without a structured workpaper underneath.
The columns the workpaper carries are practical, not regulatory: sub name and tier, worker identifier (name plus last-4 SSN), classification, week-ending date, regular and overtime hours, hourly rate, gross weekly earnings, fringe treatment (cash, plan, or both) with the per-hour fringe rate, deductions, net pay, source WH-347 page reference for the audit trail, and review status (clean, flagged, cure-requested, cured, escalated, self-disclosed, closed) with reviewer initials and date.
That column set is what makes this a checklist practitioners can run at the row level rather than the document level. Each cell carries an independent review intent. The classification cell is checked against the wage determination on file; the hourly-rate cell against the WD's basic hourly rate; the fringe cell against the WD's prevailing fringe with the cash-or-plan treatment validated; deductions are sanity-checked for documentation (taxes computed correctly, garnishments matched to court orders, voluntary deductions backed by written authorization); net pay is checked for arithmetic consistency.
On agency-mandated electronic CPR portals — LCPtracker, eMars, B2Gnow, Elation Systems — much of the routine flagging is automated against the project's wage determination as the sub uploads. Even where a portal is in play, the prime's manual review still owns the judgment-heavy cells the portal cannot reliably automate: classification fit against the actual scope of work performed, the validity of bona-fide-plan fringe treatment, the page-2 SOC verification against page-1 data, and the discovery of lower-tier subs whose WH-347s should be in the workpaper at all. The next sections walk those checks in order.
Classification Against the Wage Determination
Of every per-cell check the workpaper runs, the classification check is the one where joint-liability exposure concentrates. Misclassification — assigning a lower-rate classification to a worker actually performing higher-rate work — is the most-cited Davis-Bacon compliance failure, and the prime's affirmative review obligation under 29 CFR 5.5(a)(6) covers catching it on the sub's WH-347 before it propagates into the audit file. The WH-347 wage determination classification check is what the labor-compliance officer runs row by row when the form lands.
The check is four steps deep, and each step has its own flag.
Pull the wage determination that applies. The relevant WD is the one attached to the contract at award and incorporated by reference into every subcontract on the chain. Some projects pick up modified WDs across an extended schedule; the workpaper should record which WD version applies to which pay period so a rate change does not produce false flags. Confirm the WD's effective dates cover the WH-347's pay-period dates before any cell-level comparison.
Confirm every classification on the WH-347 appears on the WD. A WD for a building-construction project lists the trades and crafts DOL has determined prevail in that county — carpenter, electrician, ironworker, laborer at various levels, operating engineer at various groups. If a WH-347 carries a classification that does not appear on the WD verbatim or in close-equivalent form, two things might be true: the sub miscoded its workers, or the sub needed a classification not on the WD and a conformance request should have been filed under 29 CFR 5.5(a)(1)(ii). A classification not on the WD with no conformance on file is a flag for cure.
Confirm the rate paid meets or exceeds the WD's rate. For each worker row, the hourly rate paid must be greater than or equal to the WD's basic hourly rate for the classification reported. The fringe arithmetic is its own section; this step is the basic rate check alone. Rate below WD given the classification reported is a hard flag — there is no judgment to exercise on this comparison.
Cross-reference the reported classification against the actual scope of work. This is the differentiated check. The first three steps verify the WH-347 is internally consistent with the WD on file. The fourth verifies whether what the WH-347 says is actually true. A worker reported as "laborer" at $28/hour is properly paid for the laborer classification — but if that worker spent the week pulling wire, the worker performed electrician work and should have been classified as electrician at the higher rate. The classic case is electrical scope concealed inside a laborer or helper classification on a sub running mixed crews; the rate differential funds the underbid.
The prime's workpaper does not detect this in the WH-347 data alone. It detects it by reading the sub's daily reports, the field superintendent's logs, the foreman's daily entries, and on-site observation back into the workpaper. When the daily report says "ran 200 feet of conduit, pulled wire, terminated panels" and the WH-347 for that week shows zero electrician hours and three laborer rows, the workpaper carries a flag against those three rows. Subcontractor classification fraud Davis-Bacon findings live here, and they are where DOL Wage and Hour Division investigations most often land — the prime's documented cross-reference history is the central piece of evidence when an investigation arrives.
Hourly Rate, Fringe Benefit, and the Annualization Gotcha
Every classification on a wage determination carries two numbers: the basic hourly rate and the prevailing fringe rate. The sub satisfies the prevailing wage by paying both. The basic rate runs as cash on the paycheck. The fringe can run as cash (added to the basic rate as a cash-fringe addition), as employer contributions to a bona-fide benefit plan made on the worker's behalf, or as any combination summing to the WD's prevailing fringe rate.
When a sub pays the entire fringe in cash, the per-hour fringe addition shows up in gross weekly earnings and the fringe rate column reports the cash rate paid. The check is a per-row math reconciliation: cash rate paid times hours worked should reconcile against gross earnings minus the basic-rate-times-hours portion. Where this case breaks is rounding, partial-week workers, and overtime treatment.
The bona-fide-plan case is where the WH-347 fringe benefit annualization review check earns its place. To count toward the prevailing fringe at all, the plan has to qualify as bona-fide under DOL guidance — irrevocable contributions paid into a separate trust, third-party administrator, or insurance carrier, with the worker as the beneficiary, and proper plan documentation on file. Plans that pay back to the employer if the worker leaves do not qualify; self-funded "vacation" or "training" pools managed by the sub itself rarely qualify without specific structural protection. The first check on a plan-fringe row is whether the plan exists at all in a form DOL would credit.
The deeper check is annualization. The per-hour fringe credit a sub may claim on a Davis-Bacon WH-347 is the worker's annual plan contribution divided by the worker's total annual hours — Davis-Bacon hours plus non-Davis-Bacon hours together — not the contribution divided by Davis-Bacon hours alone. Subs running mixed federal and private work routinely calculate the credit by dividing total annual contributions by Davis-Bacon hours alone, which inflates the per-Davis-Bacon-hour credit beyond what the worker's plan participation actually delivers across the worker's full year.
The math: if a sub contributes $5,200 per year per worker to a qualifying health plan, and the worker performed 1,000 Davis-Bacon hours and 1,000 non-Davis-Bacon hours over the same year, the per-hour credit the sub may claim is $5,200 / 2,000 = $2.60 per hour. A WH-347 reporting $5.20 per hour as plan-contribution fringe credit is overstating by 2x, and the worker is underpaid against the prevailing wage by $2.60 per Davis-Bacon hour — the kind of cumulative liability the 2023 final rule put on the prime's books.
The prime's review on plan-fringe rows runs at two cadences. Per-week, the workpaper verifies the per-hour fringe rate reported is within reasonable bounds against the WD prevailing fringe with no obvious overstatement. At intake — once per project per sub claiming plan contributions, plus any sub flagged in prior cycles — the prime requests the plan documentation and the annualization calculation that supports the per-hour credit. The intake check catches structural overstatement; the per-week check catches drift.
Union-paid fringe is generally cleaner. Plan contributions flow through CBA-defined trust funds with established annualization protocols, and the per-hour credit on the WH-347 reflects what the trust documents prescribe. Many primes also run a parallel workflow on union projects for union remittance reporting from payroll registers; the WH-347 fringe column on a union sub's form should reconcile back to the remittance reports the trust receives.
Statement of Compliance: A Verification, Not a Signature Check
The page-2 Statement of Compliance routinely gets the lightest treatment in the review — eyes scan for a signature and a date, the box at the bottom of the page gets a checkmark, the form moves on. That treatment was defensible before October 23, 2023. Under the joint-liability framing it is not. The SOC is a sworn officer statement carrying federal kickback-statute, classification-accuracy, and fringe-treatment declarations, and the WH-347 Statement of Compliance page 2 review the prime owes is a verification against the page-1 data, not a check on whether the page is signed.
The verification runs declaration by declaration.
Kickback declaration. The signer attests no part of any worker's wages has been or will be returned to the employer — Copeland Anti-Kickback Act protection. A sub with flagged "training fee" or "tool charge" deductions on page 1 turns this declaration into perjury exposure.
Classification declaration. The signer attests workers were paid at the rates set forth for the classification of work actually performed. A page-2 attesting classification accuracy on a page 1 the prime has already flagged for misclassification is itself a finding.
Fringe-treatment declaration. Page 2's checkbox indicates how fringes were paid: cash, bona-fide-plan contributions, or some combination. A page 2 declaring "all fringes paid in cash" while page 1 shows plan-contribution rows is a flag; a page 2 declaring "fringes paid through approved plans" while page 1 shows zero or cash-only fringe is a flag. Box and cell must tell the same story.
Deduction declaration. The signer attests all deductions were lawful — taxes correctly withheld, garnishments matched to court orders, voluntary deductions backed by written authorization. The cell-level review flags patterns of recurring deduction lines lacking supporting documentation; audits surface those patterns later if the review does not catch them early.
Signer authority. The signer must be an officer of the contracting entity or a duly authorized agent. A page 2 signed by a foreman or payroll clerk with no agent authorization on file is technically defective — refile by an authorized signer.
The workpaper carries a distinct review status per WH-347 for the SOC review, separately from the per-row reviews of page 1, because a clean page 1 with a defective page 2 is still a defective WH-347.
First-Tier and Lower-Tier Subs: Who You Collect From, and How to Find Them
A common misread of the certified-payroll obligation is that the prime collects from first-tier subs only and that each first-tier sub is responsible for collecting from its own subs. Davis-Bacon and 29 CFR Part 5 say otherwise. Certified payroll is required from every contractor and subcontractor performing covered work on the project, regardless of tier, and the prime contract obligates the prime to collect and maintain the full set. The 2023 final rule's joint-liability framing intensifies this: the prime is exposed for non-compliance at any tier, so lower-tier WH-347 review is now a defined prime obligation, not an optional courtesy.
In practice, first-tier subs are the easy part. The prime knows them — there is a subcontract, a COI on file, a schedule of values. Lower tiers are where the gaps form. A first-tier electrical sub brings in a low-voltage sub for fire alarm. A first-tier mechanical sub brings in an insulation sub for ductwork. A first-tier concrete sub brings in a finisher. Each is a subcontractor performing covered work, each owes weekly WH-347s, and each is in scope for the prime's review workpaper. If the prime is collecting only from the first-tier subs the prime contracted with directly, the workpaper is missing rows the joint-liability framing now reaches.
The operational discovery surface for finding lower-tier subs runs across artifacts the prime already maintains:
- Each first-tier sub's executed subcontract list, requested at award and at any amendment — a first-tier sub adding a sub-sub mid-project is the most common path for a lower-tier to land in the workpaper later than it should.
- The preliminary notice list, since prelim-noticing contractors that performed labor on site owe certified payroll and reconciling against the workpaper catches subs the first-tier never disclosed.
- Daily reports from the field, cross-referenced weekly against the collected WH-347 list — a company named in the daily report with no WH-347 in the workpaper for that week is a flag.
- On-site sign-in sheets and apprentice rosters, which carry company affiliation and surface employer names that may not show up elsewhere.
The project-level flag — distinct from the per-row flags inside a WH-347 — is a contractor named in any of these surfaces with no WH-347 in the workpaper for the relevant week. The prime's request goes to the first-tier sub that brought the lower-tier sub in: produce the WH-347s back to the date that lower-tier sub started on site, or hold the first-tier sub's progress payment until they are produced.
Suppliers and material-only vendors are not subject to certified payroll — a steel supplier delivering plate to the gate does not generate WH-347s. Where the line blurs (a supplier sending a crew to install rather than just deliver), the install crew brings the supplier into scope as a subcontractor and certified payroll attaches to the install hours.
The same project subcontractor master should drive WH-347 collection, COI tracking, retainage tracking, and the lien-waiver log — they all consume from the same list, and a sub tracked for one but missed for another is the most common operational gap on mid-market projects. A subcontractor COI tracker built around ACORD 25 running off the same master surface will share its sub roster with the WH-347 workpaper, which is what closes the loop on lower-tier discovery: if the COI is on file, the workpaper expects the WH-347s.
State Prevailing Wage Forms and Electronic CPR Portals
WH-347 covers federal Davis-Bacon and DBRA-incorporated work. State-funded projects running under "little Davis-Bacon" statutes — most populous-state public-works programs have one — set their own prevailing-wage rates, run their own enforcement, and require their own form. A prime working a federally funded project also receiving state funding handles both regimes; a prime working a purely state-funded project handles the state regime alone.
The major state prevailing wage certified payroll forms California New York primes encounter at volume:
- California — DIR Form A-1-131. California's Department of Industrial Relations issues the certified payroll form for state public works. California crews also generate DAS 140/142 apprenticeship filings, and some agencies require the state's eCPR system alongside or in place of the paper form.
- New York — PW-3. New York DOL publishes the PW-3 for state and political-subdivision public works under Article 8 of the Labor Law. Prevailing-wage schedules update per locality and occupation; the classification field is checked against the schedule for the project's county.
Other little-Davis-Bacon states (Illinois, Ohio, New Jersey, Massachusetts, Washington, and others) issue their own forms or portals; cadence and field-set vary, but the per-cell review pattern transfers across. Thresholds vary too — California applies at $1,000 in many cases, New York at $250,000 generally — but threshold scoping decides whether the review runs, not how it runs once it does.
The structural point is that the per-cell review pattern transfers across forms. Worker, week, classification, hours, rate, fringe — that data shape is constant across WH-347, A-1-131, PW-3, and the state equivalents. State forms add their own fields (apprentice ratios, contract registration numbers) the workpaper carries as additional columns, and they reference state-specific WDs rather than federal ones, but the classification check, the rate check, the fringe check with annualization, and the SOC-equivalent verification all run the same way.
Electronic CPR portals are the other layer. Several have become agency-mandated on large public-works contracts:
- LCPtracker is the most widely deployed across federal and state projects, particularly in California, the Pacific Northwest, and federal-grant-funded municipal work nationwide.
- eMars runs alongside LCPtracker in many of the same markets, mandated by certain agencies and grantees.
- B2Gnow is widely used in compliance and certified-payroll workflows for public agencies and is common on transportation-funded projects.
- Elation Systems is California-concentrated and frequently mandated on California Department of Transportation, Division of the State Architect, and large municipal contracts.
Subs upload their certified payrolls into the agency's mandated portal. The portal handles much of the routine flagging on upload — rate below WD, classification not on the project's WD, missing required fields — and the prime can review there. The portal's database is the agency's audit-of-record copy.
What portal-mandated projects do not eliminate is the prime's own audit file. The prime usually still receives or can pull the underlying PDF, and the prime's own labor-compliance file (assembled separately from the agency's portal record) is what the prime relies on if a finding lands later in a DOL or agency investigation. The judgment-heavy cells — classification fit against scope, fringe-plan annualization validity, page-2 SOC verification, lower-tier discovery — still belong on the prime's manual review surface. Portal automation is partial, not full substitution.
Turning the Friday Packet Into Structured Worker-Week Rows
Every per-cell check the prior sections walked runs against rows in the workpaper. Those rows have to come from somewhere, and the WH-347 PDF is where they start. Two paths exist between the PDF and the workpaper: manual re-keying, and structured extraction.
Manual re-keying works on a small handful of subs. The cost shows up at scale: 8 to 15 active subs across 30 weeks, with 8 to 12 workers per WH-347, produces 2,000 to 5,000 review rows over a project's life. Manual entry across that volume produces transcription errors at exactly the cells the review checks against — classification spelled differently from the WD, hourly rate keyed at the wrong precision, fringe column transposed with deductions — and every transcription error becomes either a false flag the review has to chase or a real flag the review misses.
Structured extraction inverts the workflow. The extract WH-347 PDF to spreadsheet for audit file pattern is one form in, N rows out — one row per worker per week with the columns the workpaper actually uses, source-and-page reference on every row. The prime keeps both the structured rows and the source PDF: the rows drive the review, the PDF holds the underlying source for the audit file. The source-and-page reference is what makes the workpaper traceable back to the original document when an investigator asks where a given cell came from.
Several characteristics of WH-347s in the wild make extraction non-trivial: hand-written entries on small subs' forms, low-quality scans returned over email, multi-page worker rosters spanning page breaks mid-sub, mixed cash-and-plan fringe treatment per worker that does not sit cleanly in a single column, and signature blocks bleeding across page 1 and page 2.
Even on agency-mandated electronic CPR portals, the prime usually receives the underlying PDF and needs structured rows for its own audit file separate from the portal's agency-of-record copy. Extraction-time flagging is where this earns its place: catching classification not on the WD, fringe rate below prevailing, missing SOC signature, or non-officer signer at the moment the PDF is processed, before the row reaches the workpaper for human review.
Mid-market primes typically run review on spreadsheets or basic ERP modules rather than dedicated CPR platforms, where the migration math rarely pencils for a single project. The extraction step lifts the manual-rekey burden without forcing a platform change. For broader tooling decisions, the AP automation software comparison for construction GCs covers the broader options; for the narrower WH-347 transcription problem inside an existing review process, AP automation for construction prime contractors applies the prompt-driven extraction approach AP teams already use for invoices to WH-347 PDFs — extraction produces the rows, the prime does the review.
Cure, Escalate, Self-Disclose: The Remediation Decision Tree
A flagged finding does not resolve itself. The prime's options when a WH-347 review surfaces a finding fall into three paths — cure, escalate, self-disclose — and the right path depends on the nature of the finding, the sub's response, and how exposed the prime is on its own behalf. This decision tree is judgment-heavy in practice; real cases mix paths rather than landing cleanly in one bucket.
Cure is the default first move on most findings. The prime issues a written cure request specifying the flag, sets a cure period (commonly 7 to 14 days, contract-dependent), and withholds the next progress payment until a corrected WH-347 lands and re-reviews clean. Cure fits scrivener errors, single-week classification or fringe mismatches the sub readily corrects, and isolated SOC defects. The workpaper records the cure cycle: cure-requested date, cure deadline, corrected WH-347 received date, re-review status, reviewer initials. Documented cure cycles are also what the prime produces in its audit file when an investigator asks how the finding was handled.
Escalate is the path when cure fails or the finding pattern indicates it should not have been a cure in the first place. The prime notifies DOL Wage and Hour Division on federal projects, or the contracting agency or state DIR / DOL on state-funded projects. Escalation triggers an agency investigation; the prime steps back from the dispute mechanics and the agency takes over enforcement. Patterns that drive escalation: the sub fails to deliver a corrected WH-347 within the cure period; the same finding repeats across pay periods after a prior cure was supposedly accepted; the finding pattern indicates structural non-compliance — chronic misclassification, persistent fringe-rate shortfall, plan-fringe credits the annualization check shows are systematically inflated, falsified or repeatedly defective Statement of Compliance pages.
The prime's documented review history is what protects the prime in the agency investigation that follows. A prime that flagged the finding in week one, requested cure in week two, escalated when cure did not deliver, and maintained the workpaper trail throughout is in a structurally different position from a prime whose audit file shows a clean checkbox on every page-2 SOC for the entire project life with no flags ever raised.
Self-disclose is the path when the review surfaces a finding the prime itself is required to remedy on its own behalf — typically a finding indicating wage underpayment to workers regardless of which tier the sub sits in. Under the joint-liability framing, the prime can become liable for the underpayment alongside the sub even when the sub is the primary violator. Self-disclosure means reporting the prime's own discovery to the contracting officer with the underlying records and the prime's proposed remedy. It protects the prime from heavier penalties when a finding would otherwise reach the agency through audit. On material findings it is often the path of first resort, taken concurrent with or in lieu of escalation.
The paths blend in practice. A cure that fails to deliver becomes an escalation — same flag, different path, same workpaper row carrying the new status. A material finding discovered mid-cure can require self-disclosure even before the cure cycle completes, particularly where the underpayment is large enough to put the prime's own joint-liability exposure on the books. Chronic minor cures across multiple pay periods escalate even when each individual cure technically delivered, because the pattern itself is the finding rather than any single instance.
Review status is a precondition for releasing the sub's progress payment: open flags hold the corresponding portion until cured or formally documented as escalated or self-disclosed. Project-end retainage release runs the same pattern at higher stakes — final WH-347 reconciliation is typically a precondition for retainage release on Davis-Bacon projects, which makes the closeout review of the workpaper a gating step in the subcontractor retainage release schedule for GCs on any project carrying Davis-Bacon scope.
The project-end labor-compliance audit file is what everything in this article ultimately produces — the workpaper, the source WH-347 PDFs and state-form equivalents, the WD versions used per pay period, the cure correspondence, the SOC verifications, the escalation and self-disclosure records, and the disposition status of every flag. It is what the agency or DOL reviews at closeout, and what gets pulled if an investigation lands years later; the Davis-Bacon practitioner's working understanding of what a payroll compliance audit covers and how to prepare maps directly onto how the file is assembled.
Debarment — the DOL sanction barring a contractor from federal projects — sits at the far end of chronic non-compliance, applied after a pattern of unresolved findings or willful violations. The cure-escalate-self-disclose discipline keeps findings on a remediable path. The 2023 final rule reframed the prime's exposure; the workpaper, the per-cell review, and the documented disposition of every flag are what the prime relies on when the agency arrives.
Extract invoice data to Excel with natural language prompts
Upload your invoices, describe what you need in plain language, and download clean, structured spreadsheets. No templates, no complex configuration.
Related Articles
Explore adjacent guides and reference articles on this topic.
Subcontractor Lien Waiver Tracker: GC AP Workpaper
How GC AP teams build a subcontractor lien waiver tracker: four-quadrant matrix, state statutory forms, lower-tier chain, and seven intake-review checks.
Subcontractor COI Tracker: ACORD 25 Review for GC AP
How GC AP teams build a subcontractor COI tracker: ACORD 25 fields, contract-minimum gaps, additional insured endorsements, and expiration cadence.
Subcontractor Retainage Release Schedule Tracking Guide
How GC AP teams build the subcontractor retainage release schedule: state-law caps, two-stage release, pre-condition gating columns, and the 2026 SB 61 shift.