Short answer: Split payments on outsourced software by acceptable deliverables, not by calendar months: a 20–30% deposit, every middle installment tied to something you can operate yourself, and a 10–15% holdback paid 30 days after launch. At no point should the percentage paid exceed the percentage accepted by more than 15 points.
A 30-person food processing plant in Taiwan is outsourcing an NT$600,000 order and shipping system with a four-month timeline. The vendor's terms: 50% on signing, 50% at launch. The owner worries that paying half up front leaves no leverage; the purchasing manager worries that cutting the deposit will scare good vendors away. Both are right. The answer lies in how you split it.
Myths: a smaller deposit and a bigger holdback do not make you safer
Payment terms exist to keep both sides' risk in step; squeezing either side backfires.
- Myth 1: the smaller the deposit, the safer. Reality: vendors who accept 10% are often short on cash or have priced the risk in, so the total runs 5–10% higher.
- Myth 2: paying monthly is simplest. Reality: monthly payments buy time, not results. Paying 75% by month three with nothing to accept is common.
- Myth 3: a 40% holdback gives the most protection. Reality: with too much held back, the vendor prioritizes other clients and the last mile drags longest.
- Myth 4: pay in full once acceptance passes. Reality: many issues only surface after one month-end close, so hold the final payment until 30 days after launch.
The core framework: three rules of the Payment Milestone Formula
Every installment must answer one question: what usable thing does this money buy?
- Rule 1, number of installments: project months + 1, with a minimum of 3 and a maximum of 6.
- Rule 2, size of each installment: apart from the deposit, installment ≤ that milestone's share of total scope + 5 percentage points.
- Rule 3, prepayment gap: % paid − % accepted ≤ 15 points; above that, pause the next payment.
Taiwan law backs this approach: Article 505 of the Civil Code provides that when work is delivered in parts and remuneration is fixed per part, each part is paid on its delivery. For an NT$600,000, four-month project:
| Installment | Deliverable | Share | Amount | Cumulative paid / accepted |
|---|---|---|---|---|
| 1 | Signing, requirements sign-off and screen designs | 25% | NT$150,000 | 25% / 10% |
| 2 | Order module usable on staging | 20% | NT$120,000 | 45% / 35% |
| 3 | Shipping and inventory modules accepted | 25% | NT$150,000 | 70% / 65% |
| 4 | Reports and permissions done, system live | 18% | NT$108,000 | 88% / 90% |
| 5 | 30 days live with no major defects | 12% | NT$72,000 | 100% / 100% |
Three typical scenarios: one formula, three splits
Different size and timeline means a different number of installments and holdback.
- 5-person startup, NT$250,000 MVP, 2 months: 3 installments, 30% / 55% / 15%. The timeline is short, so there is one big middle milestone.
- 30-person factory, NT$600,000 order system, 4 months: 5 installments as in the table, with a maximum gap of 15 points.
- 8-store retail chain, NT$1.5 million loyalty app, 7 months: split into two contracts. Phase 1 (NT$900,000) is paid in 4 installments; phase 2 is signed only after phase 1 is accepted, instead of committing to 6 installments at once.
Hidden costs: what a bad split costs off the quote
Poorly designed payment terms show up as costs outside the quote.
- Risk premium: a deposit under 15% or a holdback over 25% often adds 5–10% to the quote.
- Acceptance hours: each milestone takes 4–8 internal hours to accept; five milestones means 20–40 hours to schedule for your project contact.
- Knock-on delays: if acceptance slips two weeks, the vendor often reassigns staff, and ramping back up costs another 3–5 business days.
- Pass-through fees: app store accounts, cloud hosting and SMS run about NT$5,000–30,000 a year and should be listed separately from milestones.
- Tax gaps: if the quote doesn't state whether 5% business tax is included, NT$600,000 can differ by NT$30,000.
Vendor KPI scorecard: 8 dimensions for payment terms
The quality of a vendor's payment proposal mirrors its project-management maturity. Score each item 1–5; 32 or above is ready to sign.
| Dimension | What a 5 looks like |
|---|---|
| Deliverable mapping | Each installment names a usable deliverable |
| Reasonable deposit | 20–30%, with its purpose explained |
| Holdback design | 10–15%, tied to 30 days after launch |
| Acceptance window | 5–10 business days, in writing |
| Change pricing | Extra scope billed separately, not folded into milestones |
| Third-party fees | Listed separately, accounts in the client's name |
| Code handover | Repository ownership transferred when the final payment clears |
| Warranty link | Warranty period and the statutory defect-discovery period are addressed |
How ScriptWalker structures it, and when we are not a fit
ScriptWalker (a Taiwan-based Laravel/Flutter custom development studio) splits project contracts by the Payment Milestone Formula by default and has clients confirm the table before signing.
- Project-based: system builds from NT$80,000; 30% deposit, 2–4 middle installments, 10–15% holdback.
- Monthly retainer: from NT$2,000/month, billed monthly with no holdback.
- Advisory: we review another vendor's payment terms and milestone table, from NT$30,000.
- Full outsourcing: for companies without in-house IT, billed quarterly with an annual review.
We usually decline when:
- The client wants zero deposit and everything paid after launch
- The holdback exceeds 30% and is tied to a one-year warranty
- Requirements are undefined but a fixed price with fixed installments is required
- No acceptance deadline is allowed, so acceptance can be postponed indefinitely
Playbook: the payment rhythm from signing to day 90 after launch
Set the payment rhythm before signing, then simply follow the table.
- 1 week before signing: build the milestone table and confirm the gap stays at 15 points or less.
- Month 1: pay the deposit; receive the requirements sign-off, designs and repository access.
- Months 2–3: accept each demo within 5–10 business days and pay when it passes.
- 30 days after launch: pay the holdback and transfer repositories, hosting and domain accounts.
- Day 90: review warranty fixes and decide whether to move to a monthly retainer.
Decision checklist: are your payment terms split correctly?
- ☐ The deposit is 20–30% of the total
- ☐ Every installment names its deliverable
- ☐ Paid vs. accepted never differs by more than 15 points
- ☐ The holdback is 10–15%, tied to 30 days after launch
- ☐ The contract sets an acceptance deadline
- ☐ Extra scope is priced separately
- ☐ Third-party fees are listed separately and accounts are in my name
- ☐ The quote states whether 5% business tax is included
- ☐ Repository ownership transfers when the final payment clears
- ☐ Projects longer than 6 months are split into two phases
If you check fewer than 7, renegotiate payment terms before signing.
FAQ
How much deposit is normal for outsourced software?
Usually 20–30% of the total. It covers requirements and design work; above 30%, ask for more deliverables in return.
How much should the final payment be?
Hold 10–15%, paid once the system has run 30 days in production without major defects. Above 20%, vendors usually price the risk back in.
Is it reasonable for a vendor to ask for 50% on signing?
Usually not, unless they must buy hardware or licenses up front. Counter with 30% on signing plus 20% after the first demo is accepted.
Can we keep withholding payment if acceptance drags on?
No. The contract should require acceptance within 5–10 business days of delivery, with unreported defects counting as a pass.
Next step: show us your milestone table before you sign
Send ScriptWalker your quote and payment terms. In a free 30-minute consultation we will calculate your prepayment gap and point out which installments to split or merge.
- Email: [email protected]
- Phone: 0916-224-047
- LINE: @ufv9089p