Creative Disputes: The 5 Most Common Reasons Clients Refuse to Pay
Late payments and unpaid invoices are among the biggest stressors for independent creators. This article explores the top reasons clients…
Here's the uncomfortable reality of single-payment contracts: by the time you deliver the final files, you've already done all the work. If a client ghosts, disputes, or simply doesn't pay, you have no leverage and no money. The work is gone.
Milestone payments change the dynamic entirely. When a client pays a deposit upfront, they have skin in the game. When they pay at the midpoint, you have confirmation they're still engaged and solvent. By the time final delivery arrives, you're collecting the last portion of money you've already largely earned — not holding your breath for the whole amount.
Beyond protection, milestones also improve your cash flow. As a freelancer, irregular income is one of the hardest things to manage. A well-structured milestone schedule means money is coming in throughout a project, not just at the end — which makes planning your own finances, taxes, and expenses significantly easier.
In Happ, your dashboard shows your Unpaid Milestones total front and center — so you always have a clear picture of what's owed and what's coming.
Use Single Payment when:
Use Milestones when:
If you're unsure, default to milestones. The small amount of extra setup is worth the protection.
The classic two-milestone structure:
Simple, clear, and works for most projects. The deposit confirms commitment; the final payment closes the loop.
The three-milestone structure (good for longer projects):
This is the strongest structure for projects over two weeks. It keeps cash flowing, gives you a natural check-in point, and means you're never more than one milestone away from getting paid.
The upfront-heavy structure (for high-risk situations):
Use this for rush projects, new clients with unclear budgets, or any situation where you need confidence before committing your time.
A note on deposit size: Anything under 25% is too low to create real commitment. Aim for at least 30-50% upfront for most projects. If a client resists paying any deposit at all, that's worth paying attention to before the project starts.
For each milestone you'll set:
Once your milestones are set, they become part of the signed contract — meaning your client agrees to the schedule when they sign, not just in principle.
Your dashboard shows three key numbers at the top:
The Unpaid Milestones figure is one of the most useful numbers in your business. It tells you exactly how much money is out there that you've earned but haven't collected yet — and clicking into it shows you which contracts and clients it breaks down to.
When a milestone is due, you can send a payment request directly from the contract. If the client is paying via Stripe, they'll get a payment link and you'll be notified when it's completed. If they're paying manually (PayPal, wire, etc.), you'll need to mark it as received once you confirm the payment on your end.
If a milestone goes overdue, check out our guide on what to do when a client is late on payment — the staged follow-up process works exactly the same way whether you're chasing a standalone invoice or a contract milestone.
No — once a contract is signed, the payment terms are locked as part of the agreement. If the scope or timeline changes and you need to adjust the payment structure, handle it through a scope change request rather than editing the original contract. See our guide on handling scope creep for how to do that without damaging the relationship.
For most freelance projects, 30-50% upfront is the standard range. Lower than 25% doesn't create enough financial commitment from the client. Higher than 75% can sometimes feel aggressive to a new client who doesn't know you yet — though for rush work or high-risk situations, asking for more upfront is completely reasonable.
The right number also depends on your relationship with the client. A long-term client who always pays on time might be fine with a smaller deposit or even a single payment. A brand new client with a large contract value and a tight deadline warrants a higher upfront commitment.
First, don't continue delivering work beyond that milestone until the payment is resolved. Milestone structures are partly designed so you have a natural pause point to address payment issues before they compound.
Follow up using the staged approach in our late payments guide: a friendly reminder within 1-3 days, a direct follow-up at 7-10 days, and a formal notice at 14-21 days. Having the milestone in a signed contract gives you clear documentation that the payment was agreed to — which matters if things escalate.
Stripe is strongly recommended for any client who's comfortable paying by card. It's the only fully integrated method in Happ — meaning payments are tracked automatically, funds land in your Happ balance, and you can withdraw directly from the app. Manual methods like PayPal or wire transfer work fine, but you'll need to mark them as received manually and reconcile them yourself.
If a client specifically requests a manual method, that's fine — just make sure you confirm receipt in Happ so your records stay accurate.
Yes. You can set each milestone to a different payment method if needed. For example, the deposit via Stripe for immediate processing, and the final balance via wire transfer if the client's finance team prefers that for larger amounts. Just set each milestone's method separately when building the payment schedule.
In Happ, milestone payments are built directly into the contract — not bolted on afterward as a separate invoice. That means your client agrees to the payment schedule when they sign, and every milestone is tracked in your dashboard from day one.
The goal is that you never finish a project wondering when — or whether — you’re going to get paid.