Reviews subcontractor pay applications (AIA G702/G703) against the project's schedule of values, work-completed %, and the procurement record. Flags over-billing, math errors, uninstalled material billed as installed, and retainage drift — every finding traced to the line, the SOV row, and the prior pay app.
Five categories cover the bulk of where pay-app review goes sideways. Each finding carries a severity tag, the dollar impact, the SOV row it ties to, and the recommended action.
The pay app claims 80% completion on framing. Trueleveler pulls the master schedule's earned-value % and the daily log's framing crew counts. Both say ~60%. We flag the 20-point gap with the source data and propose a verified completion %.
Procurement tracker shows the material was delivered May 8 but no install activity is logged. AIA allows billing for stored materials but at a separate line with proof of insurance — this is being billed as installed work. We surface the procurement record and the missing "stored materials" column.
SOV line totals come to $1.84M; G702 contract value reads $1.86M. Retainage withheld doesn't match contract-spec retainage rate. Period addition off by $4,200 across two lines. We recompute every column and flag every cell that doesn't reconcile.
The subcontract calls for 10% retainage until 50% complete then 5% thereafter. This pay app withholds 7% on a 35% complete job. The vendor is asking you to release retainage you're contractually obligated to hold. Surfaced with the contract clause that controls.
$84K of stored materials billed but no Certificate of Stored Materials attached. AIA G703 column F technically allows this with a separate proof-of-insurance docket. Flagged as "Approve with conditions: require COSM" for the PM to verify before signing.
CO-007 was approved last month for $34,200. This pay app's contract value still shows the original sum — the SOV wasn't updated. Sub may be billing against the old line structure. We surface the CO and the math correction.
One screen. Left: the G702/G703 as the sub submitted it. Right: every finding the engine surfaced, severity-tagged with dollar impact and source citation.
A reviewer's brief in PDF or Word, ready for the PM's monthly close. Each finding deep-links to the SOV row, the contract clause, the procurement delivery slip, and the master schedule activity. Approve, dispute, or route for negotiation — the audit trail captures the decision.
The SOV is the contract you signed expressed as line items. It's also where the most argument happens at pay-app time. The engine pulls the executed SOV (or builds one from the contract) and reconciles every billing line against it.
Sum of all line items equals the contract amount. CO-revised contract values flow into the running total. If the math doesn't sum, the pay app can't be paid in full — flagged before findings.
Column G total = Column D (this period) + Column E (previous). Schoolyard math, but where 20% of all rejections come from. We recompute every row.
Completion can't go DOWN unless you're processing a back-charge. Flagged with the prior-pay-app history so the PM sees the regression and decides if it's an honest correction or a billing dispute.
AIA G703 column F lets a sub bill for stored materials — material delivered to the site or to an off-site warehouse, not yet installed. The check is simple in theory: was it actually delivered? Was it stored with the right insurance? Most reviewers don't have the procurement data on hand to verify.
Pay App Review pulls from the project's Procurement tracker automatically. For every "stored materials" line on the pay app, we surface the matching delivery slip, the supplier, the proof-of-storage location, and the certificate of insurance for off-site storage. Mismatches get flagged — the most common: material billed as stored that was never delivered.
Procurement record: 12 columns of W12×26 delivered by Walsh Steel 5/8/2026, signed by the super. COSM on file. Approved as-billed.
Pay app claims $42K of FCU units delivered. Procurement record shows 8 of 12 units received (~$28K). Approve $28K. Hold $14K until delivery.
Pay app claims stored material. Procurement record has no delivery, no PO, no supplier confirmation. Dispute pending evidence.
Every reviewed pay app lands in a single project register with the engine's findings, the PM's decision, and the dollar deltas. Pay App Review pairs with the owner-reporting export so the monthly billing narrative writes itself.
Full findings list, severity-tagged, with dollar impact per finding, recommended approve/dispute totals, and one-line PM verdict per item. The document a contracting officer needs to back up a billing decision.
Filterable by vendor, period, status, total approved/disputed dollars. Owner-side meetings get a clean redacted view (totals only). Internal meetings get the full register with finding rationale.
Approved pay apps update the project's billing-to-date roll-up; disputed lines feed back to the negotiation tracker so the PM can negotiate dispute resolution without losing the audit trail.
Pay App Review reads cleanly on its own. But the cross-checks — the part that catches the dollars — require the other engines feeding it.
AIA G702 (Application for Payment) + G703 (Continuation Sheet) are native — we parse the AIA-issued PDF directly. Custom owner-issued pay app forms (proprietary spreadsheets, Sage Construction, Procore exports) are auto-mapped to the G702/G703 schema with reasonable accuracy. If your form is exotic, we fall back to extracting the SOV table and reconciling line-by-line.
The engine cross-references three signals: master schedule earned-value, daily log crew counts on the relevant activity, and procurement delivery + install history. When all three agree within 5%, confidence is high. When they diverge, we surface all three for the PM to triangulate. We never claim certainty — we surface the data the PM needs to make the call.
Works, with a slight accuracy hit. OCR extracts the line items and we reconstruct the SOV. Findings carry a lower-confidence flag for any cell where OCR confidence was below threshold — the PM verifies before approving. Most of our pilots feed the engine clean PDFs or XLSX exports for highest accuracy.
Read-only for v1. We export approved pay apps as G702/G703 PDF + structured CSV; you push to your accounting system through whatever bridge you use today (manual entry, Sage import, Procore sync). Bidirectional QBO and Sage 300 CRE are on the v4.2 roadmap.
Same engine, perspective flipped. The owner-facing pay app uses the GMP contract as the source of truth instead of the subcontract; stored materials check against the project-wide procurement register; retainage rules pull from the prime contract. Useful for owner-rep PMs running pay-app review on the GC's side too.
Bring a G702/G703 from a live project to a 15-minute call. We'll process it on screen against your real SOV and procurement data. You keep the reviewer brief.
Start free — 14 days, no card →