If you sit on the owner side of a project, the pay app is where the budget is actually spent. A contractor submits a request every month, you have a narrow window to review it, and once you approve the draw the money goes out. The hard part is that a large pay app can run hundreds of pages: the AIA G702 summary, the G703 continuation sheet, a schedule of values with dozens of lines, labor logs, vendor invoices, and a stack of lien waivers. Reviewing all of it by hand takes days, so most teams sample a few lines and trust the rest.
Sampling is where money leaks. The problems that cost the most are rarely a single obvious error. They are small, repeated, and spread across documents that were never meant to be read together. The checklist below is the one we built Structo around. Work it top to bottom and you will catch the issues that actually move the number.
1. Start with the G702 summary math
Before you read a single line item, prove that the cover page adds up. The G702 is supposed to be internally consistent, and when it is not, everything downstream is suspect. Recompute these by hand:
- Contract sum to date should equal the original contract sum plus the net of approved change orders. If the net change does not tie to your change order log, stop here.
- Current payment due should equal total completed and stored to date, minus retainage, minus previous payments received. Re-run that subtraction yourself.
- Less previous payments received on this app should match the current payment due from the last app you approved. This single tie-out catches a contractor who quietly resets the running total.
A useful tolerance: treat a difference under one percent as rounding, one to three percent as something to flag, and anything over three percent as a real discrepancy that needs an answer before you sign.
2. Tie every G703 line back to the contract
The continuation sheet is the heart of the pay app, and it is where the most checking gets skipped. Every line on the G703 should trace back to a line in the contract schedule of values. For each one:
- Confirm the adjusted scheduled value equals the original value plus the change orders booked to that line. A line whose value grew without a corresponding approved change order is a red flag.
- Check change order continuity: total change orders this period should equal prior change orders plus the current ones. Numbers that jump between periods usually mean a change order was applied twice or never authorized.
- Make sure the percent complete is supported. A line that goes from 40 percent to 95 percent in one period needs backup that justifies the jump.
3. Recompute completion and balance to finish
For each line, the math is simple and worth doing every time. Total completed and stored to date should equal work from previous applications, plus work this period, plus materials presently stored. Balance to finish should equal the adjusted scheduled value minus total completed. And work from previous applications on this app has to match total completed and stored from the last app. On the very first pay app, that previous figure should be zero. If it is not, someone front-loaded the billing.
4. Retainage: rate, carryover, and step-downs
Retainage is one of your few real levers, and it is easy to lose a little of it every month. Three things to verify:
- Rate. The percentage held should match the contract. A contract that calls for ten percent retention but bills at five quietly hands the contractor cash you were entitled to hold.
- Carryover. Prior period retainage on this app must match the total retainage held on the last app. This is also where conditional lien waiver amounts have to line up.
- Step-downs. If the contract reduces retention after the job hits a completion threshold, confirm that threshold is measured at the overall project level, not line by line. A subcontractor at 48 percent overall does not get the 50 percent step-down just because one line crossed it.
5. Scrutinize stored materials
Stored materials are the most common place where billing gets ahead of the work. The trick to watch for is a deposit or an early material buy billed as completed work rather than carried as stored materials. Booking it as completed quietly bypasses the safeguards the contract usually attaches to stored materials: proof of title, off-site insurance, and physical segregation. If a line jumps because material showed up but nothing was installed, it belongs in stored materials, with the documentation the contract requires, not in the completed column.
6. Check labor and staff rates against the contract
Reimbursable labor and staff charges are where overbilling hides in plain sight, because the totals look reasonable until you compare the rates. For each person billed:
- Compare the billed hourly rate to the contracted rate for that role. Use the rate that was in effect for the dates worked, since many contracts schedule rate changes by date.
- Know whether you are looking at a bare rate or a loaded, billing rate, and compare like for like.
- Recompute the line: hours times rate should equal the total, and regular plus overtime should reconcile, within a dollar or so of rounding.
A superintendent billed at 175 dollars an hour against a contract maximum of 166.80, across 32 hours, is only a few hundred dollars on one line. Across a crew, across a year, that pattern is where the real money is.
7. Verify markup, fee, and general conditions caps
Contracts cap the contractor in specific places, and pay apps test those caps constantly. Check that:
- Material and subcontractor markup does not exceed the contract cap. A consistent ten percent markup against a six and a half percent cap is not a typo, it is a pattern.
- Markup is not applied where the contract forbids it, for example on insurance or on pass-through costs.
- Fee, general conditions, and general requirements are billed as a percentage of work actually completed, not drawn down faster than the job is progressing.
- Items the contract excludes from scope, such as fuel on a subcontract that explicitly excludes it, are not slipped in as materials and equipment without an amendment.
8. Confirm the backup documentation actually totals
A claimed amount is only as good as the paper behind it. For lines that require backup, add up the supporting invoices and receipts and confirm they match what was billed this period. A general requirements line claiming 87,200 dollars with backup that totals 71,650 is a 15,550 dollar gap you do not want to find after the draw is out. Watch especially for cases where the vendor on the backup is the contractor itself: pull the underlying third-party invoices and make sure you are not paying markup on a number the contractor set.
9. Match every lien waiver to the right pay period
Lien waivers protect you, but only when they are filled out correctly, and this is the detail reviewers get wrong most often. The rule turns on conditional versus unconditional:
- A conditional waiver is effective only once payment clears, so its amount should match the current pay application, the one you are about to pay.
- An unconditional waiver is effective the moment it is signed, so its amount should match the previous pay application, the one already paid.
Beyond the amount, the claimant name, the customer name, and the through date all have to line up, and on unconditional waivers the maker of the check matters too. Names rarely match character for character, so allow for minor spelling differences, but the money and the dates should be exact.
10. Confirm change orders are authorized
Every change order reflected in the pay app should trace to a signed authorization at or above the approval threshold in your contract. A change order that shows up in the billing before it shows up in your approval log is the single fastest way to lose budget control on a job. Reconcile the two before you sign, not at closeout.
11. Compare against the previous pay app
Almost every check above quietly depends on the last pay app you approved. Previous payments received, retainage carryover, work from previous applications, and unconditional lien waiver amounts all tie back to it. A pay app reviewed in isolation will pass checks it should fail. Always review this month against last month, not on its own.
Where this gets hard, and why teams automate it
None of these checks is conceptually difficult. The difficulty is volume and consistency. Doing all eleven, on every line, every month, across multiple subcontractors, is more than a person can sustain, so the review quietly narrows to a sample and the rest is trusted. A few recurring problems make it worse:
- Scanned pages with no text layer. Plenty of pay apps arrive as photographs of paper. If your process depends on copy-and-paste, those pages get skipped entirely. Structo runs OCR on any page without a usable text layer so the scanned SOV table is read like every other page, not dropped.
- Cross-document reconciliation. The expensive findings live in the gaps between documents: the G703 against the contract, the waiver against last month, the backup against the claim. A single-document read never sees them.
- Alert fatigue. The same issue repeated across ten lines should be one finding with the total exposure, not ten separate flags. Structo deduplicates and consolidates so the same problem across many lines reads as one observation with the combined dollar impact.
This is the work Structo automates. A set of specialized agents reads every page, recomputes the G702 and G703 math, checks each line against the parsed contract clauses, matches lien waivers to the correct pay app, and produces a verification report with the exposure attached to each finding. A reconciliation pass runs after any edit so a correction in one place cannot silently break the totals or quietly downgrade a failed check. What takes a careful reviewer days, on a sample, Structo does on every line in minutes.
The one-page pay app review checklist
Print this, or paste it into your review notes.
Frequently asked questions
What is a pay application in construction?
A pay application, or pay app, is the formal request a contractor submits to get paid for work completed during a billing period. On most commercial projects it follows the AIA G702 summary and G703 continuation sheet format, backed by a schedule of values, lien waivers, and supporting invoices.
What should an owner check before approving a draw?
Start with the G702 summary math, then tie every G703 line back to the contract schedule of values and any approved change orders. Recompute completion and balance to finish, confirm retainage is held at the contract rate, scrutinize stored materials, check labor and staff rates against the contract, verify markup and fee caps, confirm backup documentation actually totals, and match every lien waiver to the correct pay period.
What is the difference between a conditional and unconditional lien waiver?
A conditional waiver becomes effective only once payment clears, so its amount should match the current pay application that has not been paid yet. An unconditional waiver is effective immediately, so it should match the prior pay application that has already been paid. Mixing the two up is one of the most common and costly review mistakes.
How long does a pay application review take?
A thorough manual review of a large pay app can take a senior reviewer several days, and most teams end up sampling rather than checking every line. Tools like Structo review every line and cross-check documents in minutes instead.
Run this checklist automatically
Structo reads every page of the pay app and the contract, recomputes the math, matches the lien waivers, and hands you a verification report with the dollar exposure on every finding. Reviews that took days take minutes.
Request a Demo