Revenue Recognition for Services, Projects and Subscriptions in Thailand
Revenue arises when you deliver, not when you bill or get paid. The TFRS for NPAEs rules, worked examples of deferred revenue and stage of completion, where VAT timing differs from the books, and month-end adjustments.
In this article
- Revenue arises when the work is done, not when you bill or get paid
- The standard that applies: TFRS for NPAEs, Chapter 18
- Ongoing services: recognize in the month of service
- Subscriptions and annual fees: cash first, revenue over time
- Project work: recognize by stage of completion
- Not every tax follows the same rule
- What investors and auditors will look at
- Where to start
Many service businesses book revenue on the date they issue an invoice or the date the money arrives. It is easy to do, but it makes monthly profit follow the billing cycle instead of the work actually done. The month a customer prepays an annual fee looks very profitable. A month of heavy project work that hasn't reached a billing milestone looks like a loss.
This article explains revenue recognition for three kinds of work: ongoing services, projects and subscriptions, under the financial reporting standard most Thai SMEs use. It includes worked numbers, the points where accounting and VAT follow different rules, and the adjustments to make at every month-end.
Revenue arises when the work is done, not when you bill or get paid
Every contract involves three events that rarely happen together: delivering the service, issuing the invoice and receiving the cash. Under accrual accounting, only the first creates revenue. The timing gaps between the three sit on the balance sheet.
| Situation | Account created | Type |
|---|---|---|
| Cash received, service not yet delivered | Deferred revenue | Liability |
| Service delivered, not yet invoiced | Accrued revenue | Asset |
| Invoiced, not yet paid | Trade receivable | Asset |
Deferred revenue is a liability because the company still owes the service. If it doesn't deliver, it has to return the money. That cash is not yet the company's performance.
The standard that applies: TFRS for NPAEs, Chapter 18
Most private limited companies that are not listed and are not publicly accountable keep their books under the Thai Financial Reporting Standard for Non-Publicly Accountable Entities (TFRS for NPAEs), revised 2022, issued by the Thailand Federation of Accounting Professions. Chapter 18 sets these rules for service revenue:
- Recognize by stage of completion at the end of the reporting period, when the outcome of the work can be estimated reliably. This is the percentage-of-completion method (paragraphs 18.14–18.15).
- A reliable estimate requires four conditions: the revenue can be measured, it is probable the company will be paid, the stage of completion can be measured, and the costs incurred and the costs to complete can be measured.
- Stage of completion can be measured in three ways: surveys of work performed, services performed to date as a proportion of total services, or costs incurred to date as a proportion of estimated total costs (paragraph 18.18).
- Advance payments are not a measure of progress. The standard says advances received from customers normally do not reflect the level of service performed.
- Several services delivered continuously over a period that cannot be separated are recognized on a straight-line basis over that period, unless there is evidence that another method is more appropriate (paragraph 18.19).
- If the outcome cannot be estimated reliably, recognize revenue only up to the expenses recognized that are expected to be recovered, and recognize no profit (paragraphs 18.20–18.21).
Construction work has its own rules in Chapter 20 on construction contracts. Listed companies and publicly accountable entities use TFRS 15, which is based on IFRS 15 and has a more detailed five-step contract analysis. A company planning a listing should raise this with its auditor early.
Ongoing services: recognize in the month of service
Work delivered evenly each month, such as bookkeeping, system maintenance or a monthly advisory retainer, is recognized in the month the service is delivered, whether you invoice at the start of the month, the end, or the month after.
Illustrative example: an IT support company charges 50,000 baht a month and invoices December's fee on January 5. The 50,000 baht is still December revenue. At December 31 the company must record accrued revenue of 50,000 baht. If it doesn't, the year is one month short of revenue, and that month turns up in the following year instead.
Subscriptions and annual fees: cash first, revenue over time
Illustrative example: a software company sells an annual plan for 120,000 baht (excluding VAT). The customer pays in full on October 1, 2026, for 12 months of service. The company's year ends on December 31.
Monthly revenue = 120,000 ÷ 12 = 10,000 baht
2026 revenue = 10,000 × 3 months = 30,000 baht
Deferred revenue at December 31, 2026 = 120,000 − 30,000 = 90,000 baht
On the payment date the company records cash against deferred revenue of 120,000 baht. At each month-end it moves 10,000 baht from deferred revenue to revenue, until the 12 months are complete.
If the whole 120,000 baht were booked as October revenue, 2026 revenue would be overstated by 90,000 baht, and 2027 would carry nine months of service costs with no revenue to match.
For a one-time joining or setup fee, look at the substance of the work. If it is a separately deliverable job that is finished, it can be recognized on completion. If it is only part of a continuing service, ask your accountant whether it should be spread over the service period.
Project work: recognize by stage of completion
Illustrative example: a company takes on a system implementation for a fixed price of 1,000,000 baht. Estimated total cost is 600,000 baht. Billing is in three installments: 30% on signing, 40% on delivery of phase one and 30% on customer acceptance. At the end of the first year the company has billed only the first installment and has incurred costs of 240,000 baht.
| Item | Calculation | Amount (baht) |
|---|---|---|
| Stage of completion | 240,000 ÷ 600,000 | 40% |
| Revenue recognized | 1,000,000 × 40% | 400,000 |
| Cost recognized | 240,000 | |
| Gross profit | 400,000 − 240,000 | 160,000 |
| Billed to date | 1,000,000 × 30% | 300,000 |
| Accrued revenue | 400,000 − 300,000 | 100,000 |
Booked by invoice, year one would show revenue of 300,000 baht even though 40% of the work is done. If the billing terms were the other way around, say 60% on signing, the amount billed ahead of the work would be deferred revenue of 200,000 baht. Billing installments are something you negotiate with the customer. They don't measure performance.
When the cost estimate changes
The standard requires estimates to be reviewed throughout the service period. Suppose the work proves harder in year two. Estimated total cost rises to 750,000 baht, and cumulative cost at the end of year two is 600,000 baht.
- Cumulative stage of completion = 600,000 ÷ 750,000 = 80%
- Cumulative revenue = 1,000,000 × 80% = 800,000 baht, so year-two revenue is 800,000 − 400,000 = 400,000 baht
- Year-two cost = 600,000 − 240,000 = 360,000 baht, leaving a year-two gross profit of 40,000 baht
Cumulative profit over the two years is 200,000 baht, which equals 80% of the project's total profit under the new estimate (1,000,000 − 750,000 = 250,000 baht). The effect of underestimating in year one lands in the year the estimate is revised. A company with no project-level cost tracking can't calculate any of this, and finds out which projects lose money only after they finish.
Not every tax follows the same rule
- Corporate income tax. Section 65 of the Revenue Code requires income and expenses to be calculated on an accrual basis: income arising in an accounting period is included in that period even if it has not yet been received. The principle runs in the same direction as the accounting.
- Value added tax. Section 78/1 provides that the VAT liability on a service arises when payment for the service is received, unless a tax invoice was issued or the service was used before that, in which case the liability arises at that earlier point.
In the subscription example, a VAT-registered company must issue a tax invoice when it is paid and include the full 120,000 baht in its sales for the October tax month, even though the books recognize revenue at 10,000 baht a month. For a service business, sales on the VAT return (form PP 30) and revenue in the income statement routinely differ. Keep a reconciliation between the two, because tax officers and auditors always ask for it.
Revenue Department Order Tor Por 1/2528 gives further guidance on the accrual basis for certain businesses, such as asset leasing and construction. For the tax treatment of service fees received in advance, have your accountant or tax adviser check it against the company's actual contracts.
What investors and auditors will look at
- A written revenue recognition policy applied the same way to every contract, every year
- A deferred revenue schedule by contract whose total agrees with the balance sheet
- Stage of completion for each project, with the basis for the cost estimate and evidence that it is reviewed
- The difference between billings, cash received and revenue. The three should not be used interchangeably in reports or a pitch deck. Monthly recurring revenue (MRR) is likewise a management metric, not revenue as reported in the financial statements.
- Revenue bunched at period-end, especially items invoiced before the work is delivered
Where to start
- Sort every contract into three groups: ongoing services, projects, and subscriptions or prepaid fees.
- Write a one-paragraph revenue recognition policy for each group, stating how stage of completion is measured, and have your accountant and auditor agree to it.
- Build a deferred revenue schedule with one line per contract: start date, end date, amount, and the revenue recognized each month.
- Track costs by project, at minimum team hours and outside contractors, and review each project's total cost estimate monthly.
- Add three steps to the monthly close: release deferred revenue to revenue, accrue revenue for work done but not yet invoiced, and reconcile revenue to sales on form PP 30.
When revenue is recorded as the work is done, monthly profit shows that month's actual performance, and the owner can see which kinds of contracts make money without the billing cycle getting in the way.
Sources
- Thai Financial Reporting Standard for Non-Publicly Accountable Entities (revised 2022), Chapter 18 Revenue — Thailand Federation of Accounting Professions (in Thai)
- Revenue Code, Sections 65–76 (Section 65, second paragraph: accrual basis) — Revenue Department (in Thai)
- Revenue Code, Sections 77–79 (Section 78/1: VAT liability on services) — Revenue Department (in Thai)
- Revenue Department Order Tor Por 1/2528 on the accrual basis for income and expenses — Revenue Department (in Thai)
- IFRS 15 Revenue from Contracts with Customers — IFRS Foundation