| name | thai-invoice |
| description | Use this skill for any task involving Thai tax invoices, receipts, quotations, or withholding-tax certificates. Trigger whenever the user asks to: draft a Thai tax invoice (āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ), receipt (āđāļāđāļŠāļĢāđāļ), quotation (āđāļāđāļŠāļāļāļĢāļēāļāļē), credit/debit note (āđāļāļĨāļāļŦāļāļĩāđ/āđāļāđāļāļīāđāļĄāļŦāļāļĩāđ), or WHT certificate (āļ .āļ.āļ.3/53). Also trigger for requests like "āļāļāļāđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ", "āđāļāđāļŠāļĢāđāļ", "āđāļāđāļŠāļāļāļĢāļēāļāļē", "Thai tax invoice", "VAT 7%", "āļ āļēāļĐāļĩāļŦāļąāļ āļ āļāļĩāđāļāđāļēāļĒ", or any variation. If the context involves Thai accounting documents under Revenue Code §86/4, use this skill. |
Thai Tax Documents (āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ / āđāļāđāļŠāļĢāđāļ / āđāļāđāļŠāļāļāļĢāļēāļāļē / WHT)
Overview
This skill drafts Thai tax invoices compliant with Revenue Code §86/4, plus quotations, receipts, credit/debit notes, and withholding-tax certificates (āļ .āļ.āļ.3/53). It applies the correct VAT 7% and WHT rates per category and matches Revenue Department wording. Use it whenever you need bookkeeping-grade Thai accounting documents â never improvise the legal phrasing or VAT/WHT math; pull from this skill.
When to use
- āļāļāļāđāļāļāļģāļāļąāļāļ āļēāļĐāļĩāđāļŦāđāļĨāļđāļāļāđāļēāļāļīāļāļīāļāļļāļāļāļĨ / individual buyers
- āļāļąāļāļāļķāļ āļ .āļ.āļ.3 (āļŦāļąāļ āļ āļāļĩāđāļāđāļēāļĒāļāļļāļāļāļĨāļāļĢāļĢāļĄāļāļē) or āļ .āļ.āļ.53 (āļāļīāļāļīāļāļļāļāļāļĨ)
- āđāļāļĩāļĒāļāđāļāđāļŠāļāļāļĢāļēāļāļē / āđāļāļĨāļāļŦāļāļĩāđ / āđāļāđāļāļīāđāļĄāļŦāļāļĩāđ
- Drafting English-Thai bilingual invoices for foreign buyers
- Calculating VAT-inclusive vs VAT-exclusive totals
- Computing withholding tax to deduct from a supplier payment
Required fields â full tax invoice (Revenue Code §86/4)
A full āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ MUST contain all seven elements. Quote the Thai exactly:
- āļāļģāļ§āđāļē "āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ" āđāļāļāļĩāđāļāļĩāđāđāļŦāđāļāđāļāđāļāļąāļāđāļāļ
- āļāļ·āđāļ āļāļĩāđāļāļĒāļđāđ āđāļĨāļ°āđāļĨāļāļāļĢāļ°āļāļģāļāļąāļ§āļāļđāđāđāļŠāļĩāļĒāļ āļēāļĐāļĩāļāļēāļāļĢāļāļāļāļāļđāđāļāļāļ
- āļāļ·āđāļ āļāļĩāđāļāļĒāļđāđ āļāļāļāļāļđāđāļāļ·āđāļ (+TIN āļāđāļēāļĄāļĩ)
- āļŦāļĄāļēāļĒāđāļĨāļāļĨāļģāļāļąāļāđāļĨāļ°āđāļĨāđāļĄ (āļāđāļēāļĄāļĩ)
- āļāļ·āđāļ āļāļāļīāļ āļāļĢāļ°āđāļ āļ āļāļĢāļīāļĄāļēāļ āđāļĨāļ°āļĄāļđāļĨāļāđāļēāļāļāļāļŠāļīāļāļāđāļē/āļāļĢāļīāļāļēāļĢ
- āļāļģāļāļ§āļāļ āļēāļĐāļĩāļĄāļđāļĨāļāđāļēāđāļāļīāđāļĄāļāļĩāđāļāļģāļāļ§āļāļāļēāļāļĄāļđāļĨāļāđāļēāļāļāļāļŠāļīāļāļāđāļēāļŦāļĢāļ·āļāļāļĢāļīāļāļēāļĢ āđāļĒāļāļāļāļāļāļēāļāļĄāļđāļĨāļāđāļēāđāļŦāđāļāļąāļāđāļāļ
- āļ§āļąāļ āđāļāļ·āļāļ āļāļĩ āļāļĩāđāļāļāļāđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ
Note: a short-form (āļāļĒāđāļēāļāļĒāđāļ) invoice can omit buyer TIN and address when issued by a retailer at the point of sale â but the seller must be approved by Revenue.
VAT
- Standard rate: 7% (statutory rate 10%, reduced by Royal Decree â make rate a parameter; don't hardcode forever)
- VAT-exempt items (Sec 81): basic agricultural products, education, healthcare, books, public transport â DO NOT add VAT, and DO NOT issue āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ for these (use āđāļāļŠāđāļāļāļāļ instead)
- Only VAT-registered sellers (āļāļđāđāļāļĢāļ°āļāļāļāļāļēāļĢāļāļāļāļ°āđāļāļĩāļĒāļ VAT) may issue āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ
Withholding tax (āļ āļēāļĐāļĩāļŦāļąāļ āļ āļāļĩāđāļāđāļēāļĒ)
| Service | Form | Rate (resident) |
|---|
| āļāļĢāļīāļāļēāļĢāļāļąāđāļ§āđāļ (services) | āļ .āļ.āļ.3 / 53 | 3% |
| āļāđāļēāđāļāđāļēāļāļŠāļąāļāļŦāļēāļĢāļīāļĄāļāļĢāļąāļāļĒāđ | āļ .āļ.āļ.3 / 53 | 5% |
| āļāđāļēāđāļāļĐāļāļē | āļ .āļ.āļ.3 / 53 | 2% |
| āļāđāļēāļāļāļŠāđāļ | āļ .āļ.āļ.3 / 53 | 1% |
| āļāđāļēāļ§āļīāļāļēāļāļĩāļāļāļīāļŠāļĢāļ° (lawyer, accountant, etc.) | āļ .āļ.āļ.3 | 3% |
| āļāļāļāđāļāļĩāđāļĒ/āđāļāļīāļāļāļąāļāļāļĨ | āļ .āļ.āļ.2 | 10%/15% |
āļ .āļ.āļ.3 = WHT cert for individuals receiving payment. āļ .āļ.āļ.53 = WHT cert for juristic entities (āļāļĢāļīāļĐāļąāļ/āļŦāđāļēāļāļŦāļļāđāļāļŠāđāļ§āļ). WHT base = pre-VAT amount.
Numbering, credit/debit notes, quotation
- Sequential invoice numbers required; reset annually optional (e.g.
INV-2026-0001)
- āđāļāļĨāļāļŦāļāļĩāđ (credit note): reference original invoice number, show reduction reason
- āđāļāđāļāļīāđāļĄāļŦāļāļĩāđ (debit note): same but for upward adjustment
- āđāļāđāļŠāļāļāļĢāļēāļāļē: not a tax document; include "āļĢāļēāļāļēāļāļĩāđāđāļĄāđāļĢāļ§āļĄāļ āļēāļĐāļĩāļĄāļđāļĨāļāđāļēāđāļāļīāđāļĄ" or "āļĢāļēāļāļēāļĢāļ§āļĄ VAT 7% āđāļĨāđāļ§" clearly; specify validity period (āļĒāļ·āļāļĢāļēāļāļē 30 āļ§āļąāļ)
- Common payment terms: "āļāļģāļĢāļ°āđāļāļīāļāļ āļēāļĒāđāļ 30 āļ§āļąāļāļāļąāļāļāļēāļāļ§āļąāļāļāļĩāđāļ§āļēāļāļāļīāļĨ" / "Net 30" / "āđāļāļĢāļāļīāļāđāļāļāļĄ 45 āļ§āļąāļ"
- Combined form "āđāļāđāļŠāļĢāđāļāļĢāļąāļāđāļāļīāļ/āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ" is allowed for cash sales by VAT-registered sellers
e-Tax Invoice & e-Receipt (āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩāļāļīāđāļĨāđāļāļāļĢāļāļāļīāļāļŠāđ)
Revenue Department's electronic tax-document program. As of 2026 still optional â no mandatory rollout has been announced â but adopters got VAT/WHT deductibility incentives that ran through 31 Dec 2025. Two tracks; pick by annual revenue:
Track 1 â e-Tax Invoice by Email (small business, revenue âĪ 30M baht/year)
- Issue PDF/A-3 (or XML) by email to the buyer, CC the ETDA timestamp address (
csemail@etda.or.th)
- ETDA returns a time-stamped copy to both parties â that timestamp is the legal proof of issuance
- No CA certificate required; signup via etax.rd.go.th
- Suitable for SMEs / freelancers / small āļŦāđāļēāļāļŦāļļāđāļāļŠāđāļ§āļ
Track 2 â e-Tax Invoice & e-Receipt (full system, any size; mandatory path for large firms)
- XML per RD schema, signed with a digital signature using a certificate from an RD-approved Certification Authority (CA)
- Submit XML to RD via Host-to-Host, Service Provider, or web upload on etax.rd.go.th â by the 15th of the following month
- Each document gets an RD-assigned reference; sequence numbers must be unique and unbroken
Data elements = same seven items as Sec 86/4 (above) plus a valid digital signature (Track 2) or ETDA time stamp (Track 1) and the seller's e-Tax registration ID. No paper original is required once issued electronically.
Archival: keep XML/PDF + signature/timestamp for 5 years (Revenue Code §87/3); 7 years if under audit. Buyer may claim input VAT from the electronic copy â no paper needed.
What changes vs paper invoice: signing step, XML schema validation, RD upload (Track 2 only), and electronic archival. Numbering rules, content rules, and credit/debit-note rules are unchanged.
Filing returns â āļ .āļ.30 (VAT) and āļ .āļ.āļ.1/3/53 (WHT)
These are the monthly āđāļāļāđāļŠāļāļāļĢāļēāļĒāļāļēāļĢ that aggregate the invoices and WHT certificates issued during the period. From 1 Jan 2025 the Revenue Department requires WHT returns to be filed via e-Filing.
| Form | Purpose | Who/what | Filed by | Paper due | e-File due |
|---|
| āļ .āļ.30 | Monthly VAT return | VAT-registered seller; output VAT â input VAT | VAT registrant | 15th of next month | 23rd of next month |
| āļ .āļ.āļ.1 | WHT on salary (Revenue Code §50(1)) | Employer â employees | Employer | 7th of next month | 15th of next month |
| āļ .āļ.āļ.1āļ | Annual salary-WHT reconciliation | Same as āļ .āļ.āļ.1, full-year roll-up | Employer | end of February | end of February |
| āļ .āļ.āļ.3 | WHT on payments to individuals (§3 ter, §50(2)) | Payer â āļāļļāļāļāļĨāļāļĢāļĢāļĄāļāļē | Payer | 7th of next month | 15th of next month |
| āļ .āļ.āļ.53 | WHT on payments to juristic persons | Payer â āļāļĢāļīāļĐāļąāļ/āļŦāđāļēāļāļŦāļļāđāļāļŠāđāļ§āļ | Payer | 7th of next month | 15th of next month |
| āļ .āļ.āļ.2 | WHT on interest/dividends | Payer of interest/dividends | Payer | 7th of next month | 15th of next month |
- Late āļ .āļ.30: surcharge 1.5% per month (or fraction) on unpaid VAT, plus a fixed fine (200 baht if >7 days late)
- Late āļ .āļ.āļ.1/3/53: 100 baht fine if âĪ7 days late, 200 baht if more; 1.5%/month surcharge on unpaid WHT
- RD has historically granted standing e-filing extensions of ~8 days past these dates â confirm the current notice before filing on the wire
- āļ .āļ.30 must be filed even in zero-sale months (nil return)
Practical link: every āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ you issue feeds the output-VAT side of āļ .āļ.30; every āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ you receive feeds input VAT. Every WHT certificate you issue (āļ .āļ.āļ.3 / 53 booklet) feeds the corresponding monthly return; āļ .āļ.āļ.1 aggregates the WHT line on payroll slips. The skill produces the source documents â the periodic returns are a separate accounting step.
Common mistakes
- Forgetting to separate VAT line ("āļĢāļēāļāļēāļĢāļ§āļĄ 1,070 āļāļēāļ (āļĢāļ§āļĄ VAT)") â Revenue Code requires showing VAT amount distinctly on a full tax invoice.
- Using "āđāļāđāļŠāļĢāđāļ/āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ" combined form when seller is not VAT-registered â only VAT-registered sellers can issue āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ.
- Issuing āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ for VAT-exempt goods (books, fresh agricultural products) â use āđāļāļŠāđāļāļāļāļ/āļāļīāļĨāđāļāļīāļāļŠāļ instead.
- Wrong WHT rate (e.g., 3% on rent â should be 5%; 2% on advertising â frequently confused).
- Not issuing WHT certificate to payee within 7 days of submitting āļ .āļ.āļ.3/53.
- Missing TIN on buyer side for B2B â Revenue may reject input-VAT claim.
- Bilingual invoices that translate "Tax Invoice" but omit the Thai "āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ" â Thai law requires the Thai phrase explicitly.
- Computing WHT on the VAT-inclusive amount â base must be pre-VAT.
- Issuing e-Tax Invoice (Track 2) without a valid digital signature from an RD-approved CA â RD will reject the XML, and the buyer cannot claim input VAT.
- Filing āļ .āļ.30 on the 16th (or e-filing on the 24th) and triggering the 1.5%/month surcharge â the deadline is hard, not "around the middle of the month".
- Mixing up āļ .āļ.āļ.3 and āļ .āļ.āļ.53 â āļ .āļ.āļ.3 is for payments to āļāļļāļāļāļĨāļāļĢāļĢāļĄāļāļē (individuals), āļ .āļ.āļ.53 is for payments to āļāļīāļāļīāļāļļāļāļāļĨ (juristic persons). Wrong form = re-file.
- Forgetting āļ .āļ.āļ.1āļ (annual salary-WHT reconciliation, due end of February) â the monthly āļ .āļ.āļ.1 filings don't substitute for it.
Templates
See:
templates/tax-invoice-full.md â full āđāļāļāļģāļāļąāļāļ āļēāļĐāļĩ (Tax Invoice)
templates/quotation.md â āđāļāđāļŠāļāļāļĢāļēāļāļē (Quotation)
templates/wht-certificate.md â āļŦāļāļąāļāļŠāļ·āļāļĢāļąāļāļĢāļāļāļāļēāļĢāļŦāļąāļāļ āļēāļĐāļĩ āļ āļāļĩāđāļāđāļēāļĒ (āļ .āļ.āļ.3/53)
Calculator
calc.py â Decimal-based helpers:
calculate_vat(subtotal, rate=Decimal("0.07")) â {subtotal, vat, total}
calculate_vat_inclusive(total, rate=Decimal("0.07")) â backs out VAT from a VAT-inclusive total
calculate_wht(amount, rate) â {amount, wht, net_payable}
WHT_RATES constant for the common categories
- Run
python calc.py for a self-test
Known limit: calc.py operates on a single transaction. It does not model return-level aggregation â e.g. summing many invoices' output VAT minus input VAT into a āļ .āļ.30 total, or rolling WHT certificates into āļ .āļ.āļ.3/53 monthly totals. That belongs in the user's bookkeeping system, not this skill.