Pay app submission checklist
A pay app that gets rejected on a Tuesday is a pay app that pays a month late. The GC's accounts payable reviewer has a checklist; matching it line-for-line is the difference between same-week processing and a 30-day "missing documentation" loop.
The standard package
Every monthly pay app submission to a GC should include:
- AIA G702 (Application and Certification for Payment) — or the GC's equivalent cover sheet. Period dates, contract sum, change order summary, % complete, retainage withheld this period and to date, amount due this period.
- AIA G703 (Continuation Sheet) — line-by-line breakdown of the SOV showing previous billed, this period, materials stored, total to date, % complete, balance to finish, retainage.
- Conditional lien waiver — this period (Civil Code §8132) for the amount being requested.
- Unconditional lien waiver — prior period (Civil Code §8134) for the amount previously paid.
- Sub-tier waivers if any second-tier subs have been paid through your prior pay app. Most GCs require you to flow these down.
- Certified payroll for any covered work performed in the period (separate from but often submitted alongside the pay app — see Certified payroll cadence).
- Schedule of values updates if any executed COs landed during the period — the G703 must reflect them.
- Stored materials backing if you're billing for material delivered but not installed — invoices + bill of sale + insurance proof.
What the GC's reviewer actually checks
In order, every time:
| Check | What kills the pay app |
|---|---|
| Period dates match contract billing cycle | Mismatch by even 1 day → "wrong period" rejection |
| G702 cover totals tie to G703 line totals | $0.01 rounding mismatch → rejected |
| Retainage % is correct for the project phase | Wrong %, especially missed SC step-down |
| Lien waivers match the dollar amount on G702 | Off-by-a-dollar → rejected |
| Prior unconditional waiver covers all payments received | Missing waiver → "compliance hold" |
| SOV totals tie to contract sum + executed CO sum | Drift means a CO is missing from the SOV |
| Material stored is supported with invoices | No invoice = no material bill |
What STrOp assembles automatically
Open /projects/[id]/billing → Create pay app:
- Pulls SOV from the project contract, including all executed CO line additions.
- Pre-fills the prior balance, this-period earned (from foreman % updates), and material stored.
- Generates the G702 + G703 PDFs in the GC's template if one is on file, AIA standard otherwise.
- Generates conditional + unconditional lien waivers populated with this period's and prior period's dollar amounts.
- Surfaces a submission checklist with green/red dots for each required attachment.
- Flags any CO executed since the last pay app that hasn't yet been picked up in the SOV.
You still review and sign — STrOp doesn't auto-submit.
Common failure modes
- Billing un-executed PCOs. See PCO vs CO. PCOs aren't on the SOV; they can't be billed.
- Missing prior period unconditional waiver. Most common rejection. After the first time it happens, set a calendar reminder: as soon as a check clears, sign and file the unconditional waiver for that period.
- Wrong project address on the lien waiver. Use the address from the recorded title document, not the GC's project name. Generic project names are not legally sufficient.
- Stored materials without bill of sale. Invoice alone isn't enough — owner needs proof the material is held for their project. Tag and label materials at the warehouse.
- Retainage step-down missed. Pay app after SC still withholds at full %. See Retainage release.
- G702 signed before all subs cleared. If you're billing for sub work, you're certifying you've paid them through the last paid period. Sign without flowing payment and you've made a false certification.
See also
This is how STrOp works
The data flows you read about here are how the platform threads bid, execution, billing, and closeout. Single pipeline. No re-keying.
Request beta access →Last updated 2026-05-29.