How a Denver Contractor Stopped Floating His Own Jobs and Started Billing by Stage
By the InvoiceFlow team — published 16 June 2026 — 12 minute read
Marcus Okonkwo runs a four-man renovation crew out of a shop in Denver's Berkeley neighborhood — kitchens, basements, full second-story additions. His jobs are not the kind you finish on a Friday afternoon. A whole-house remodel in Wash Park runs eight to fourteen weeks. By the third week he's already laid out $30,000 in lumber, drywall, tile, and labor before the homeowner has paid a dime — and for the first two years of running his own business, that was the whole problem.
"I'd land a $90,000 job, feel like a king for a week, and then realize I was the bank," he says. "I was buying the materials, paying my guys every Friday, and waiting until the punch list was done to send one invoice. Twelve weeks of my money out the door before any of theirs came back in."
The fix wasn't a bigger line of credit. It was billing the way commercial general contractors have billed for decades — by stage, against visible progress, with the homeowner signing off on each phase before the next invoice goes out. Here's the exact system Marcus runs now, built around Projects and Milestones, on-site signature sign-offs, delivery notes for materials, and partial payment tracking — and why it changed his cash flow and his stress levels at the same time.
The job we'll follow all the way through
Let's use a real-shape example: a $90,000 kitchen-and-main-floor remodel for the Harpers in Wash Park, roughly eleven weeks of work. Marcus breaks it into four stages the way he'd explain it standing in the client's living room:
- Demo & rough-in — tear-out, framing changes, rough plumbing and electrical. ($18,000)
- Drywall, flooring & cabinets — the heavy materials phase. ($34,000)
- Tile, counters & fixtures — finishes that eat labor hours. ($26,000)
- Punch list & final — touch-ups, hardware, final walkthrough. ($12,000)
The total is the same whether he bills it once or four times. What changes is who carries the risk in the meantime — and with a single end-of-job invoice, the answer is always him.
Step 1: The job becomes a Project, not a pile of invoices
The first thing Marcus does after a deposit clears is create a Project in InvoiceFlow — a Notion-style client workspace where everything about the Harper job lives in one place. The estimate that won the job, the contract, the running list of milestones, and every invoice he'll send over eleven weeks all hang off that one project, attached to the Harpers' client record.
This sounds like housekeeping, and it is, but it pays off the first time a homeowner asks the question every contractor gets in week seven: "Wait, what have we actually paid so far?" Instead of scrolling a flat list of invoices trying to remember which ones belong to which house, Marcus opens the project and reads it straight off: total contract, billed to date, paid to date, what's outstanding. On a crew running three jobs at once, that single grouped view is the difference between a confident answer and a guess.
Step 2: Milestones with sign-off conditions, not vibes
Inside the project, Marcus adds a Milestone for each stage. The discipline that makes this work isn't the software — it's writing a concrete "done" condition for each one, the same way commercial contracts define a payment trigger:
- Demo & rough-in — done when rough plumbing and electrical pass inspection. $18,000.
- Drywall, flooring & cabinets — done when cabinets are hung and floors are down. $34,000.
- Tile, counters & fixtures — done when counters are set and fixtures are live. $26,000.
- Punch list & final — done at final walkthrough sign-off. $12,000.
"Halfway done" starts arguments. "Inspection passed" doesn't. A homeowner can stand in their kitchen and agree that the cabinets are hung — there's nothing to debate. Marcus learned this the hard way on an early job where "rough-in is basically done" turned into a two-week fight about what "basically" meant. Now every milestone is something the client can physically look at and nod to, which is exactly what makes the invoice that follows it uncontroversial.
Step 3: The on-site sign-off, signed on the phone
Here's the move that separates Marcus from the contractor who's still chasing payments. When a stage finishes, he doesn't drive home and email an invoice into the void. He walks the homeowner through the completed work on site, and then he hands them his phone.
Using InvoiceFlow's Signature tool, the homeowner signs right there on the screen — a real, captured signature confirming the stage is accepted. Marcus places that signature on the document, so the stage acceptance and the invoice are tied to a moment everyone witnessed. There's no "I never approved that" three weeks later, because there's a signature with a date attached to the exact phase he's billing.
For the underlying agreement, the contract for the whole job carries a digital signature too — InvoiceFlow's contracts support it directly. So the structure is clean: a signed contract sets the scope and the four-stage payment plan up front, and each stage sign-off confirms, in the client's own hand, that the phase is complete before money is requested. Standing in the room, phone in hand, is a far stronger position than a follow-up email asking someone to approve work they can't see anymore.
Step 4: Delivery notes carry the materials story
Marcus's invoices separate two things homeowners constantly conflate: materials and labor. On a $34,000 drywall-and-cabinet stage, maybe $21,000 is materials and $13,000 is labor, and showing that split kills the single most common renovation argument — "why is this so expensive?"
When a pallet of cabinets or a flooring order lands at the job site, Marcus issues a delivery note from the same app. A delivery note isn't an invoice; it's a document that records what physically arrived — the cabinet boxes, the LVP, the tile, quantities and all. It does two jobs at once. It gives the homeowner a paper trail that the materials they're being billed for actually showed up on their property. And it gives Marcus a record he can reconcile against the supplier's order and against the materials line on the stage invoice. When the finishes invoice lists "60 sq ft porcelain tile," there's a delivery note behind it showing the tile arrived. Disputes about whether materials were delivered simply stop happening.
Why the materials/labor split matters beyond arguments
There's a cash-flow reason too. The heavy-materials stages are exactly where a contractor is most exposed — you front the most money for the least labor-hours, and you front it early. Billing those stages on completion, with the delivery notes proving the materials landed, means Marcus recovers his biggest outlays fastest instead of carrying $21,000 of someone else's cabinets for eleven weeks.
Step 5: The invoice itself — the contractor template
Each stage invoice is a full InvoiceFlow invoice, and Marcus renders all of them through the built-in contractor PDF template — one of the twelve templates the app ships with. It's built for exactly this kind of document: clear materials-and-labor line items, room for the scope description, and his branding up top via InvoiceFlow's two-logo system, so the wide logo sits across the header automatically.
The payment instructions live right on the PDF. InvoiceFlow isn't a payment processor — it doesn't take the money — so Marcus shows his bank details and a payment link on the invoice, and the Harpers pay through their own bank. When the payment lands, he marks the invoice Paid in the app and the project's running total updates. The PDF renders cleanly, looks like it came from a real business rather than a guy with a truck, and carries the stage sign-off signature he captured on site.
Step 6: Partial payments, because homeowners pay in pieces
Real renovation money doesn't arrive in tidy lumps. The Harpers pay the $34,000 cabinet stage as $20,000 now and $14,000 once their home-equity draw clears the following week. Marcus records the $20,000 as a partial payment, and InvoiceFlow tracks the remaining balance automatically — the invoice shows $14,000 still due, and the project's outstanding total reflects it without any mental math.
This matters more than it sounds. A contractor juggling three jobs and a dozen partial payments across them cannot hold the running balances in his head, and the moment he guesses wrong — bills for money already paid, or forgets a balance still owed — he looks unprofessional in front of the exact people writing him large checks. Letting the app carry the amount-due math means Marcus's answer to "what do we still owe?" is always right, on every job, every time.
The week-by-week picture
Put it together and the eleven weeks look completely different from the old way:
- Week 1: signed contract, deposit in, project created, milestones defined. Demo starts.
- Week 3: rough-in passes inspection. On-site walkthrough, homeowner signs off, $18,000 invoice on the contractor template. Marcus's first-month costs are already covered.
- Week 6: cabinets hung, floors down, delivery notes filed for both. Sign-off, $34,000 invoiced, $20,000 paid now, $14,000 tracked as a balance.
- Week 9: counters set, fixtures live. Sign-off, $26,000 invoiced.
- Week 11: final walkthrough sign-off, last $12,000 invoiced. By now the Harpers have paid for everything they've received and approved, stage by stage.
At no point is Marcus carrying eleven weeks of materials and labor on his own credit card. The money moves in step with the work, every dollar tied to a stage the homeowner signed off on and materials a delivery note proves arrived.
The part that surprised him
The cash flow improvement was the goal. The thing Marcus didn't expect was how much calmer the jobs became. "When the homeowner signs off on each stage and gets a clean invoice with the materials and labor split out, they stop second-guessing the next one," he says. "They can see where their money's going. The arguments I used to have at the end of every job — they're just gone. We sign off Tuesday, I invoice Tuesday night, they pay Thursday. Then we keep building."
The mechanics generalize to any trade that runs long jobs against materials — remodelers, electricians on big rewires, landscapers on multi-phase builds, anyone who fronts cost before the client pays. Treat the job as a Project. Break it into Milestones with sign-off conditions a client can physically verify. Capture an on-site signature at each stage so acceptance is on the record. Issue delivery notes so materials are documented as they land. Bill each stage on the contractor template with materials and labor split, and let partial payment tracking keep every balance honest. The building work doesn't change. The financing of it does — and it stops being you.