Contract & Dispute Prevention

Recommended Payment Structure — Milestone-Based Installments

A guide to designing the deposit, interim payment, and final payment ratios and timing for outsourced software development using a milestone-based structure. Build a secure payment framework to prevent disputes.

Freesi·
Summary in 3 Lines
  • Milestone payments (3–4 installments) are the safest structure for both client and vendor.
  • The recommended split is: deposit 30% / interim (design) 20% / interim (development) 30% / final (acceptance) 20%.
  • Deliverables and acceptance criteria for each payment milestone must be agreed upon in advance to avoid disputes.

Payment Structure Comparison

There are broadly three types of outsourcing payment structures.

StructureDescriptionClient RiskVendor Risk
100% UpfrontFull payment at contract signingVery highNone
100% Upon CompletionFull payment after deliveryNoneVery high
50:5050% at contract + 50% at completionMediumMedium
MilestoneInstallments at each phaseLowLow

Risk of 100% upfront: The vendor has no financial incentive to perform, and the client has no leverage if quality is poor.

Risk of 100% upon completion: The vendor may abandon the project mid-way, or the client may refuse to pay after delivery.

Limitation of 50:50: Half the budget is spent before any mid-point verification, so problems discovered late come at a steep cost.

Why milestone payments are safest: Payment is made only after each phase is verified, allowing problems to be caught and addressed early. The vendor is also motivated because they are paid as they deliver.

Recommended Milestone Payment Structures

4-Phase Milestones (Most Recommended)

PhasePercentagePayment TriggerDeliverable to Verify
Deposit30%Contract signingSigned contract
Interim 120%Design completionERD, API spec, wireframes
Interim 230%Development completionFull feature implementation confirmed
Final20%Acceptance completionAcceptance tests passed

3-Phase Milestones (For Smaller Projects)

PhasePercentagePayment Trigger
Deposit30%Contract signing
Interim40%Development completion
Final30%Acceptance completion

5-Phase Milestones (For Large-Scale Projects)

PhasePercentagePayment Trigger
Deposit20%Contract signing
Planning/Design15%Design completion
Development Phase 125%Key features completed
Development Phase 225%All features completed
Final15%Acceptance completion

Key point: Keep the final payment at a minimum of 15–20%. If the final installment is too small, the vendor's motivation to make corrections during acceptance drops significantly.

Acceptance Criteria for Each Milestone

Agreeing in advance on what to verify before each payment prevents disputes like "You're asking for payment but this isn't finished yet."

Design Completion Acceptance:

Development Completion Acceptance:

Final Acceptance:

If issues are found at any phase, corrections are made and the phase is re-verified. Payment within 3 business days of acceptance is standard practice.

Want to discuss your project in detail?

Enter your requirements on Freesi, and AI will instantly provide an estimated quote.

Get a Free Quote

Frequently Asked Questions

Do I really have to pay 30% as a deposit? That seems like a lot.
From the vendor's perspective, upfront costs are needed to secure team members and prepare for the project. If 30% is too much, you can negotiate down to 20%, but if the deposit is too low, the vendor may prioritize other projects over yours. Verify the vendor's reliability before deciding.
What if bugs are found after the final payment?
Include a "warranty period" in your contract (typically 3–6 months). During this period, bugs attributable to the vendor must be fixed at no charge. Also clearly define the warranty scope — what counts as a bug fix vs. a feature change.
What if we disagree with the vendor during milestone acceptance?
Document acceptance criteria in advance and consider engaging a third party (PM or external expert) for the review. An objective standard such as "acceptance passes if the feature operates as specified in the requirements document" is critical.

Related Guides