Any project longer than two weeks shouldn't be billed only at the end — that's you financing your client's project with your own labour. Deposits and milestone billing fix it. Most freelancers drop the idea because the paperwork feels fiddly. Here's the whole flow in MANA, step by step.
Step 1: put the payment schedule in the quotation
The schedule belongs in the quotation, not in the first invoice. A client who discovers it at invoice time feels like the terms changed on them.
Structures that actually work for freelance projects:
- 50 / 50 — half up front, half on delivery. Good for two-to-six week jobs.
- 30 / 40 / 30 — kickoff, midpoint, delivery. Good for multi-month work.
- Fixed deposit + milestones — e.g. ฿20,000 to start, the rest split across agreed checkpoints.
In the quotation, spell out the percentage, the amount, and — most importantly — the event that makes each stage due. Don't write "stage two: 15 September." Write "stage two: on delivery of the approved design." If the client is slow to respond, you shouldn't be the one waiting unpaid.
Add one more line: work begins on receipt of the deposit. That single sentence saves a lot of awkwardness when someone wants you to start now and sort the money later.
Step 2: convert to the deposit invoice
Once the quotation is approved, convert it straight into the first invoice — no retyping. Client details, line items and terms carry over.
What to change on a deposit invoice:
- The amount — this stage only, not the full contract value.
- The description — be explicit: "Deposit, stage 1 of 3 (30%), website design — total contract ฿150,000." Your client's accounts team won't call to ask, and you'll understand it yourself six months later.
- Due date — seven days is plenty for a deposit. Thirty makes no sense when work hasn't started.
- PromptPay QR — leave it on. Scanning beats another round of "can you resend the account number?"
Then send it as a public document link. The client opens and pays without creating an account.
Step 3: withholding tax on each stage
This is the most common mistake. If your client is a company, they must withhold tax on service fees every time they pay, not once at the end. So a ฿45,000 deposit with 3% withheld arrives as ฿43,650 — and you should get a withholding tax certificate (50 ทวิ) for that stage too.
What to do:
- Show the withholding amount on every stage invoice. The client doesn't have to compute it, and you won't be puzzled when the transfer doesn't match.
- File each 50 ทวิ against that client the moment it arrives. Don't wait for year-end.
- If the client is an individual, no withholding applies — you receive the full amount.
If you're VAT-registered, remember the tax point for services is when payment is received. Each deposit carries its own VAT obligation; it doesn't roll up to the final stage.
Step 4: record the payment and issue the receipt
When the money lands, record the payment against that specific invoice and issue a receipt for that stage. Always both, always per stage — never one combined receipt at the end. If something goes wrong mid-project, you need a clean record of what was actually paid.
Once matched, the amount flows into your income automatically and the invoice flips to paid — so what remains in your outstanding list is genuinely outstanding.
Step 5: raise the next stage when the milestone hits
Don't start from a blank document. Duplicate the previous invoice and change three things:
- The description — "Stage 2 of 3 (40%)"
- The amount and the withholding figure
- A running-balance line: "Paid to date ฿45,000 / remaining after this stage ฿45,000"
That third line is what speeds up payment. The client sees where they stand without digging through old email.
Step 6: check the project, not the document list
Link every invoice to the same project, then read the project summary. Contract value, collected, still owed — one line, no mental arithmetic. This is where milestone billing pays off: multiple documents per job become a burden the instant there's nowhere that totals them.
Checklist before your next project
- Payment stages are in the quotation, tied to events rather than floating dates
- "Work begins on receipt of deposit" is written down
- Deposit invoice due in 7 days, PromptPay QR enabled
- Withholding shown on every stage; each 50 ทวิ filed on arrival
- A receipt per stage, not one at the end
- Every document linked to the same project
Do all six and you'll never again have to ask yourself how much this client has actually paid.
