Pay App Review (Reconciler)
Deterministic AIA G702/G703 reconciler. Parses every line of a subcontractor pay application against the project Schedule of Values, cross-checks the Procurement tracker for billed-but-not-delivered material, flags math errors, over-billing, and retainage drift, and recommends an overall review result.
What it does
Pay App Review (Reconciler) is the deterministic counterpart to Pay App Audit. Where Pay App Audit is an LLM-only narrative review, this engine parses pay application text (typically AIA G702 summary plus G703 schedule-of-values detail) into structured line items, then reconciles every line against the project's stored Schedule of Values and the live Procurement tracker.
The output is auditable line-by-line: every flagged finding has a severity (info / warn / error), a category (math / billing / retainage / procurement), and a citation back to the original line. The engine persists each run to the pay_app_reviews table plus an engine_runs receipt row, so the full reconciliation is replayable and ties into the Engine Run Record drawer.
When to use it
- A subcontractor pay application has arrived and you need to approve, dispute, or reject it before the prime's billing deadline.
- You want a defensible paper trail — every flag tied to a specific G703 line item.
- Procurement deliveries are out of sync with billed material and you need to catch billed-but-undelivered items.
- You need to recommend an Approve / Approve-with-conditions / Dispute / Reject decision with a clear rationale.
The reconciler reads procurement state automatically when include_procurement is enabled. Make sure deliveries are logged in Procurement before running the engine — undelivered material that wasn't logged will show up as a billing error rather than a real exception.
What to upload
Required: pay application text (the G702 cover + G703 SOV detail, or any equivalent SOV table). The engine accepts pasted text or extracted PDF text. Optional but recommended: the project's Schedule of Values as a reference — if not provided, the engine treats the pay app's own SOV as the source of truth.
Step by step
Open the engine
Sidebar → Engines → Pay App Review (Reconciler) card (field phase, cyan accent).
Paste or upload the pay application
Drop the pay app PDF into the upload slot, or paste G702/G703 text directly. The engine parses both formats; pasted text avoids OCR overhead.
Optionally paste the SOV
If the project's canonical SOV isn't already linked to the project, paste it here. The reconciler will use it as the reference; otherwise the pay app's own SOV is used.
Set the application reference
Enter the pay app number (e.g. "Pay App #14") — surfaces on the receipt and helps cross-reference downstream.
Toggle procurement cross-check
Default ON. When enabled, the engine fetches the project's procurement snapshot and flags any line billing for material that wasn't delivered.
Run analysis
20–40 seconds typical. Faster than narrative engines because most work is deterministic parsing + numeric reconciliation.
Review the findings table
Every flagged line shows severity, category, expected vs billed amounts, and a one-line reason. Sort by severity to see errors first.
Read the recommendation
The engine outputs one of: Approve / Approve with conditions / Dispute / Reject. The recommendation is rule-based — the rules are visible in the result so you can disagree with the recommendation while keeping the underlying findings.
Understanding the results
Total billed this period, retainage held, net payable, recommended review result. The single-glance scorecard.
One row per flagged line item. Columns: line number, description, billed amount, expected amount, variance, severity, category, reason. Click any row to see the underlying SOV line and procurement record (if applicable).
Counts by severity (info / warn / error). Drives the recommendation engine — any error blocks an Approve recommendation.
Counts by category (math errors, over-billing, retainage drift, undelivered procurement). Helps you see whether the issue is the subcontractor's accounting (math) or the work itself (procurement).
Approve / Approve with conditions / Dispute / Reject. Includes the rule that fired (e.g. "1+ error severity findings → Dispute").
One-click open of the Engine Run Record drawer — full input/output, model used, duration, cost. Persisted to engine_runs for audit trail.
Every control, explained
Application reference fieldFree-text label for this pay app run (e.g. "Pay App #14"). Persisted on the result and shown in the run history.
Pay app text uploadThe G702/G703 source. Required. Accepts PDF (OCR applied) or pasted text.
SOV upload (optional)The reference Schedule of Values. If omitted, the engine uses the pay app's own SOV as the reference.
Contract retainage % overrideDefaults to the project's stored retainage rate. Override here if this pay app has a non-standard rate (e.g. 5% after substantial completion).
Include procurementToggle. ON = fetch the project's procurement snapshot and cross-check billed-vs-delivered material. OFF = SOV reconciliation only.
Run analysisExecutes the reconciliation. Consumes one engine run. ~20–40 seconds.
Sort by severityRe-orders the findings table to show errors first, then warnings, then info.
Chain → Procurement TrackerJumps to the procurement tracker filtered to this pay app's line items. Useful when the recommendation says "Dispute — undelivered material."
Pay App Review vs Pay App Audit
Trueleveler ships two engines with similar names but different jobs. Pay App Review (Reconciler) — this engine — is deterministic, parses every line, and produces a structured findings table backed by the pay_app_reviews table. Pay App Audit is LLM-only and produces a narrative review with judgment calls (front-loading, schedule-of-values drift, retainage strategy). Use this engine when you need an auditable line-by-line reconciliation; use the audit when you want a senior PM's narrative read.