Buyer's Guide

Software Development Contracts in Thailand: The Clauses to Include and Where They Fail

For a business that has chosen a developer and is about to sign. Compare the draft you received against these ten clauses, then have a lawyer review it before signing.

Short answer

A software development contract should settle ten things: scope, milestone payments tied to deliverables, copyright and source-code handover, acceptance, change requests, warranty, post-handover support, personal-data protection, termination, and tax. Scope is where most disputes start; written as a list of what users must be able to do, it doubles as the acceptance test list and makes every other clause easier. This is not legal advice; have a lawyer review the final draft.

The Ten Clauses a Software Contract Needs

Each needs a written answer. If the draft is silent on one, ask before signing; the unwritten clause is usually the one argued over near the end.

  • Scope: a list of what each user group must be able to do, attached as a schedule.
  • Payments: each milestone tied to an accepted deliverable, not a calendar date.
  • Copyright and source code: who owns it, and when and how the code is handed over.
  • Acceptance: what is tested, within how many days, and what happens on failure.
  • Change requests: how extra work is requested, priced and approved.
  • Warranty: how long defects are fixed free after acceptance.
  • Support: what it covers and costs, separate from the build price.
  • Personal data: the developer's duties as a data processor under PDPA.
  • Termination: what is paid and what you receive if the project stops midway.
  • Tax: whether VAT is included, and withholding tax and stamp duty.

Copyright, Source Code and Data

Section 10 of Thailand's Copyright Act B.E. 2537 gives copyright in commissioned work to the employer unless agreed otherwise, but owning the copyright does not put the code in your hands. Require the repository, servers, domains and third-party accounts to sit in your company's name from day one, and license any pre-existing components to you perpetually at no extra charge.

If the system holds personal data, a developer with access is a data processor, and Section 40 of the Personal Data Protection Act B.E. 2562 requires the controller to have an agreement with the processor, either as contract clauses or a separate DPA.

Payments, Acceptance, Tax and Where Contracts Fail

Tie each payment to a deliverable that passes the scope list, and set deadlines on both sides: how many days the client has to test, and how many the developer has to fix. A juristic-person client normally withholds 3% on hire-of-work payments, calculated before VAT, and a hire-of-work contract carries stamp duty of THB 1 per THB 1,000 of the fee.

Contracts rarely fail on legality. They fail on vague scope ("a complete sales system"), large upfront payments, code held in the developer's account, no acceptance deadline, and annual support bundled into the build price with no end date.

Checklist Before Signing

  • Is scope a list of what users must be able to do, read by the real users?
  • Is every payment tied to an accepted deliverable?
  • Are there acceptance and fix deadlines on both sides?
  • Is the source code in your company's account from day one?
  • Is there a written change-request process?
  • Are warranty and paid support separate, with support priced?
  • Is there a data processing agreement if the system holds customer data?
  • Do you know what you pay and receive if the project stops midway?

Frequently asked questions

Who owns the source code of commissioned software in Thailand?

Under Section 10 of the Copyright Act, copyright in commissioned work belongs to the employer unless the parties agree otherwise, so read that clause carefully. Handover of the source code still has to be written in separately.

How much withholding tax applies to software development fees?

A juristic-person client normally withholds 3% of the fee before VAT, as hire of work. Individuals paying personally do not withhold. Classification follows the contract's substance; check with your accountant before the first payment.