How to Set Up Payment Milestones in Happ (and Why You Should)

Getting paid in full at the end of a project is one of the riskiest things a freelancer can do. Here's how to split payments into milestones that protect your cash flow and keep clients accountable.
Duration: 15 minutes
Updated: 19/03/2026

Tools

  • Happ account (app.happ.network)
  • A contract in progress or a new contract to set up

Ingredients

  • Total project fee agreed with your client
  • A clear sense of the project phases or timeline
  • Your preferred payment methods (Stripe, PayPal, wire, etc.)
  • A deposit amount in mind — even if it's just 25-30% upfront

Step 1: Understand why milestones matter

Getting paid everything at the end of a project sounds simple — but it puts all the risk on you. Milestones spread that risk across the project so you're never doing work you haven't been partly paid for.

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.

Step 2: Choose between Single Payment and Milestones in the contract wizard

When you reach Step 4 (Payments) in the Happ contract wizard, you'll pick your structure. Here's how to decide which one fits your project.

Use Single Payment when:

  • The project is very short — a few hours or a single day of work.
  • You're collecting full payment upfront before any work begins.
  • It's a repeat client with a strong track record of paying on time.
  • The deliverable is a simple, clearly defined item with no phases.

Use Milestones when:

  • The project spans more than a few days.
  • There are distinct phases — discovery, drafts, revisions, final delivery.
  • You're working with a new client you don't have history with yet.
  • The total contract value is high enough that non-payment would seriously hurt.
  • You want a deposit before starting — which, honestly, you almost always should.

If you're unsure, default to milestones. The small amount of extra setup is worth the protection.

Step 3: Structure your milestone schedule

There's no single right answer for how to split payments — but there are a few structures that work reliably well for most freelance projects.

The classic two-milestone structure:

  • 50% deposit on signing
  • 50% on final delivery

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):

  • 30-50% deposit on signing
  • 25-35% at a defined midpoint (first draft, shoot day, halfway mark)
  • 25-35% on final delivery

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):

  • 75-100% upfront, balance on delivery

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.

Step 4: Add your milestones in Happ

In Step 4 of the contract wizard, select Milestones and build your schedule. Each milestone is its own line with an amount, due date, payment method, and optional note.

For each milestone you'll set:

  • Name — be specific. "Deposit" or "Project Kickoff Payment" is clearer than "Payment 1."
  • Amount — the exact value for that milestone. Happ will show you a running total so you can confirm everything adds up to the full contract value.
  • Due date — tie this to something concrete. "On signing," "3 days before shoot date," or "within 5 business days of final delivery" is clearer than a calendar date that might shift if the project timeline changes.
  • Payment method — Stripe (card, fully integrated and trackable in Happ), PayPal, Payoneer, Venmo, or Wire Transfer. For Stripe payments, the client can pay directly from the contract link and the funds arrive in your Happ balance automatically.
  • Note — use this to add any context for the client. "Deposit due before work begins" or "Final payment unlocks delivery of all source files" sets expectations without any ambiguity.

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.

Step 5: Track and collect milestone payments from your dashboard

Once the contract is signed, your milestones show up on your home dashboard. This is where you manage the money side of every active project.

Your dashboard shows three key numbers at the top:

  • Total Balance — all funds received across your Happ account
  • Available to Withdraw — liquid funds ready for payout to your bank
  • Unpaid Milestones — the total value of all milestones not yet collected across all active contracts

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.

Frequently Asked Questions

Can I add milestones to a contract after it's been signed?

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.

What's the best deposit percentage to ask for?

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.

What happens if a client misses a milestone payment?

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.

Should I use Stripe or manual payment methods for milestones?

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.

Can different milestones use different payment methods?

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.

How Happ supports you with milestone payments

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.

  • See your total balance, available funds, and unpaid milestones at a glance on your home screen.
  • Send payment requests for each milestone directly from the contract — no separate invoicing step needed.
  • Accept card payments via Stripe or set milestones to manual methods like PayPal or wire transfer.
  • Track what’s been paid, what’s pending, and what’s overdue — all in one place.

The goal is that you never finish a project wondering when — or whether — you’re going to get paid.