Freelancer guide

Invoicing & tax for a Programmer in Thailand

A Programmer in Thailand invoices clients with a receipt or tax invoice; when the client is a company, the client withholds 3% tax on the fee (income type: Service / hire-of-work fees), transfers you the net, and hands you a 50 Tawi (50 ทวิ) withholding certificate as proof. Example: on a ฿45,000.00 fee, the client withholds ฿1,350.00 and you actually receive ฿43,650.00. You keep the 50 Tawi to credit that tax on your annual return. On your own sales invoice you are the payee — the client withholds and issues the 50 Tawi, not you.

Software development and contract programming for a company is a service / hire-of-work fee, withheld at 3% when the client is a juristic person.

By the BillsOS team · Updated 9 Jun 2026

A worked example

Say you are a Programmer invoicing a corporate client ฿45,000.00 for your work. The income type is “Service / hire-of-work fees”, withheld at 3%. The figures below come straight from the BillsOS engine.

Fee (before VAT)฿45,000.00
Total invoiced฿45,000.00
Less withholding tax 3%-฿1,350.00
Net the client pays (QR amount)฿43,650.00

The client withholds ฿1,350.00 and transfers you ฿43,650.00, handing you a 50 Tawi certificate as evidence.

Who withholds: On your own sales invoice you are the payee. Your client (the payer) is the one who withholds the tax and issues you the 50 Tawi — you do not issue it yourself.

What to watch for in this trade

For long builds paid in milestones, the client withholds 3% on each instalment — keep the 50 Tawi for every milestone so you can credit it all back at year-end.

Real-world scenarios

Scenario 1

A programmer builds a system for a fintech client in three ฿45,000 milestones. The client withholds 3% on every milestone and issues a 50 Tawi each time; at year-end the programmer totals all three certificates to credit the tax on their PND.90 filing.

Scenario 2

Another project gets cancelled halfway through, and the client agrees to a ฿20,000 kill fee instead of the full contract value. The client still withholds 3% on that ฿20,000 and issues a 50 Tawi for the amount actually paid, not the original full contract value.

The figures and details above are illustrative examples, not a Revenue Department ruling on your specific case.

Documents you’ll need

  • Receipt — if not VAT-registered you issue a receipt (only VAT-registered persons issue tax invoices)
  • Quotation and invoice — before the work and when you bill
  • 50 Tawi — received from the client and kept for every job, to credit on your annual return

Frequently asked questions for this trade

On a monthly programming retainer, does the client withhold 3% every month?+
Yes. If the client is a juristic person, they withhold 3% on each monthly fee and issue a 50 Tawi each time, which you total up as a credit for the year.
I'm paid in startup equity instead of cash — is that still taxable?+
Income doesn't have to be cash — equity or rights you receive are generally assessable at their value on the date received, and there's usually no withholding since nothing cash changes hands. Valuing unlisted startup equity is genuinely tricky, so get an accountant involved before accepting a deal structured this way.
The project gets cancelled midway and the client only pays a partial kill fee — is that still withheld?+
Yes. A kill fee that compensates you for work already delivered is still, in substance, a service/hire-of-work fee, so it is withheld at 3% just like a normal payment — the client should issue a 50 Tawi for whatever amount they actually paid.

Tools & guides for this

Other freelance professions

BillsOS issues invoices and receipts that compute the withholding for you, with an exact-amount PromptPay QR embedded so the client scans and pays straight into your own account.

Start invoicing as a Programmer — free →

No credit card required — start on the free plan.

BillsOS only formats and computes documents for you. This is general information, not tax advice — please confirm with the Revenue Department or your accountant.