Back to blog
TipsJune 19, 20264 min read

How to invoice a pay-after-launch client without becoming their bank

The second half of your project fee shouldn't depend on your client's launch timeline. Here's how to restructure milestone invoices so you get paid on time, every time.

By ZenPay Team

Share
How to invoice a pay-after-launch client without becoming their bank
Photo by Quaritsch Photography on Unsplash

Your client loves the work. The final files are ready. And now you're waiting — because they haven't launched yet, and the contract says "final payment on launch." That gap between done and paid is where freelance designers quietly become unpaid lenders.

Here's how to close it.

Why "pay after launch" quietly destroys your cash flow

When you tie the final invoice to a client's launch date, you hand over control of your income to their developer, their stakeholders, their CEO's holiday schedule. A project that wraps in week six can sit unpaid into month four if the launch keeps slipping.

The math is brutal. On a €6,000 brand project, a 50/50 split means €3,000 is hostage to a go-live date you can't influence. If launch slips eight weeks past your expected delivery, you've effectively extended a €3,000 interest-free loan, with no legal mechanism to call it in.

The root problem isn't the client. It's the trigger. "Launch" is an event outside your control. Your invoice trigger needs to be an event inside your control.

Restructure the milestone, not just the amount

The fix isn't chasing harder. It's rewriting what triggers each payment before the project starts.

Replace "on launch" with "on final delivery"

Your obligation ends when you hand over the files, not when the client deploys them. Define that clearly in your contract and your invoice payment terms. "Final delivery" means: approved final files sent to the agreed format. Full stop.

Use three milestones, not two

A 50/50 split feels balanced but it isn't. You carry half the project fee through the riskiest phase. Try a 40/30/30 structure instead:

  • 40% on project kickoff (covers your early research and concept work)
  • 30% on design approval (when the client signs off on the direction)
  • 30% on final file delivery (not launch, not "go live", delivery)

This way, no single milestone is large enough to meaningfully hurt you if it slips, and none of them depend on a third party pressing a button.

Add a "files released on payment" clause

Working files, source files, and full-resolution exports are released when the final invoice is settled. This isn't punitive. It's standard professional practice, and it gives the client a direct incentive to pay promptly. Their developer can't finish the build without your assets.

Set payment terms that work for your timeline, not theirs

Even after restructuring milestones, slow payments happen. Your terms control how slow.

How most people do it

  • Send a PDF invoice and follow up manually when it's overdue
  • No reminder until you notice the invoice is late, which could be weeks
  • Chase via email, feel awkward, lose negotiating power on the next project
  • Final invoice tied to "launch" with no enforceable due date
  • Manually track which milestone is outstanding across three open projects

How ZenPay does it

  • Auto-reminders fire 3 days before and after the due date in your name, with editable wording
  • Per-invoice payment terms let you set Net 7 on final delivery invoices and Net 14 on earlier milestones
  • Shareable invoice links mean the client pays directly from a URL, no portal account needed
  • Partial payment tracking shows exactly how much of a milestone is still outstanding
  • Multi-currency wallets aggregate your EUR, GBP, and USD totals so you see your real position at a glance

Net 30 is generous for a final delivery invoice. Net 7 is entirely reasonable, especially with a "files on payment" clause giving the client a practical reason to move quickly. Set that default in your account, and let the reminders do the follow-up so you don't have to.

What to say when the client pushes back

Some clients will ask to keep the "on launch" trigger. Here's the reframe that works:

"I'm happy to be flexible on timing, but my invoicing is tied to delivery rather than deployment so I can keep my own project pipeline predictable. The files are yours the moment the invoice is settled, and your team can launch whenever you're ready."

That answer is honest, professional, and positions the payment terms as a scheduling necessity rather than a trust issue. Most clients accept it. The ones who don't are telling you something useful about what the project is going to feel like.

Track the outstanding balance, not just the conversation

Late payment chases fail when you don't know exactly what's owed. If you're managing two or three active projects, each with multiple milestones in different currencies, the mental load of tracking what's been paid, partially paid, or written off gets heavy fast.

Keep each project's milestones as separate invoices, not line items on one document. That way each one has its own due date, its own reminder schedule, and its own payment status. When the client pays the approval milestone but not the delivery milestone, you can see it immediately rather than reconciling a spreadsheet.

The goal is to get paid for work you've already done, on a timeline that reflects your delivery, not their launch calendar. Every day you wait past your own delivery date is a day you're funding someone else's project.

Set the terms before the work starts. Release files on payment. Let the reminders run automatically. Then move on to the next project.

Less admin.
More of what matters.

Your first invoice
within 2 minutes.

1Sign up — free
2Add your first client
3Send your invoice

Free forever.
No catch.

€0

To get started

No credit card. No trial. Just free.

Start free

Keep reading