Missed the pay app cutoff by a day
Put the due date on a calendar someone checks, and send early.
Every GC has a day each month when pay apps are due, and it's written in the subcontract or the project manual. If your pay app comes in the day after, you wait for the next cycle, and that's often 30 more days. The usual cause isn't laziness. The PM is waiting on a quantity, the office is waiting on the PM, and no one owns the date. When the cutoff passes, you're paying your crew out of your own bank account while the GC's money stays put.
Three moves, in order
What CFOS does about it
CFOS tracks pay app due dates for every job and sends reminders to the PM ahead of the date. Because the schedule of values and the billed to date are already in CFOS, building the pay app means entering this period's progress, not rebuilding the form. G702 and G703 pay apps work for lump sum and unit price contracts, with retainage and stored materials built in. When it's ready you can send it to the GC from QuickBooks or log it if the GC uses its own system. That puts the date in front of the person who has to act on it, instead of in a spreadsheet no one opens.
Who owns this: Project manager, with the office manager as backup.
At $3M, a $150K pay app slipped a cycle hits payroll.
We email you when CFOS for QuickBooks opens, plus a few updates before then. Your address stays with Run On CFOS. One click unsubscribes.
30 days free, a 90-day money-back guarantee, and cancel anytime. It opens January 2027. We email you the day it opens.
Step 06: Project management
Billing dates, change orders, and notices, written as standards that work without anyone following up on them.
Other problems step 06 solves
Other things that go wrong
What owners ask
Missed pay application deadline?
Put the due date on a calendar someone checks, and send early. Every GC has a day each month when pay apps are due, and it's written in the subcontract or the project manual. If your pay app comes in the day after, you wait for the next cycle, and that's often 30 more days. The usual cause isn't laziness. The PM is waiting on a quantity, the office is waiting on the PM, and no one owns the date. When the cutoff passes, you're paying your crew out of your own bank account while the GC's money stays put.
Which part of the system fixes this?
The step is number 06, project management. Billing dates, change orders, and notices, written as standards that work without anyone following up on them. It's drawn from chapter 6 of CONTROL: C.F.O.S. Construction Financial Operating System.
Is this normal for my trade?
Across the 48 trades that publish a figure, net profit at $1M to $5M averages 7% before taxes. If you're well under that and this page describes your month, the two are usually the same story. The published average tells you where the pack is, and your own job costing tells you where you are, which is the number that pays payroll.
Where do I start?
List every open job with its pay app due date and the day the GC actually needs it, and ask each GC in writing to confirm both.
Will the GC accept a late pay app if I call them?
Sometimes, if you have a good relationship and the GC's accounting hasn't closed the cycle. Don't count on it. Ask the project accountant what the real deadline is, since the contract date and the date their office works from are often different.
Should I bill my best estimate of progress or wait for final quantities?
Bill on time with your best estimate, then correct it next month. A late pay app costs you a month of cash, and a small overbill or underbill on percent complete costs you almost nothing if you fix it. Tell the GC what you're estimating so no one is surprised.
Who in the office should own the due dates?
One person, picked by you. Usually the office manager keeps the calendar and the PM supplies the numbers. When two people share the date, neither one owns it.
Can I fix this without touching anything else?
You can try, and it doesn't hold. Step 06 depends on step 04, estimating system. Install it ahead of that and it produces numbers the field won't trust, which is worse than the problem you started with.
