The cover illustrates a hypothetical comparison of documents, not real accounting entries or proof of cash received by any company.
In month two of a project, the team has performed enough work to recognize THB 600,000 in cumulative revenue, but has collected only THB 300,000. Where is the other half? It may not yet be an overdue receivable: part of the right to bill still depends on work to be done. I want to follow the work, the rights, and the cash together before judging how well profit converts to cash.
Revenue, billing, and cash collection are separate events. Revenue follows satisfaction of promises. A receivable reflects a right to payment for which only the passage of time remains. Cash arrives when payment is actually collected. Reading all three together explains why a profitable business may still need working capital.
This article uses two hypothetical cases from "From Revenue to Company Value." The systems integrator (SI), "Systems Ready," explains the contract and receipts; the parts factory explains profit and investment. These are models of different businesses, so the SI project's receivable is not subtracted again from the factory's cash. Amounts are in THB unless a table specifies THB millions.
Before the numbers, know what right each balance represents
Under TFRS 15, a contract asset is a right arising from goods or services transferred when a condition other than the passage of time remains. A receivable is different: only time remains before payment is due. A contract liability reflects consideration received or due before the promised transfer, not a bank loan. [TFRS 15 paragraphs 105 to 108]
Do not make a rule that anything not yet invoiced is always a contract asset. If the right to payment is already unconditional, it may be a receivable even before the document is issued. Examine the contract and actual performance. In the following case, billing dates deliberately coincide with the dates on which the right to payment becomes unconditional, keeping that separate issue out of the example.

For a THB 1.2 million contract, when do revenue, billing, and collection occur?
Systems Ready modifies an existing enterprise resource planning (ERP) system that the customer controls in months 1 to 3, then provides even support from months 4 to 15. The THB 1,200,000 price is allocated as THB 800,000 for implementation and THB 400,000 for support using standalone selling prices of THB 1,000,000 and THB 500,000. The example assumes implementation qualifies for over-time transfer because it enhances an asset the customer controls as work proceeds and the customer has rights to work in progress. Neither milestones nor login rights alone establish that conclusion.
Costs reflecting implementation progress are THB 150,000, THB 300,000, and THB 150,000 in the three months, out of an estimated THB 600,000 total. Implementation revenue is therefore THB 200,000, THB 400,000, and THB 200,000 by month. The remaining support is recognized at one-twelfth of THB 400,000 each month under the assumed even service pattern.
The terms call for an advance invoice of THB 300,000 in month 1, collected that month. Another THB 600,000 is invoiced in month 3, due and collected in month 4. The final THB 300,000 is invoiced in month 15, due and collected in month 16. This case has no late payment, opening receivable, credit note, cash received before an unconditional billing right, foreign exchange effect, or credit loss. Taxes are excluded from the model.
The financing component has been assessed separately by matching each installment with the service it pays for. At contract inception, the longest expected gap is nine months, so the example uses the paragraph 63 practical expedient. It does not pretend that a 15-month contract is shorter than one year. The TFRS 15 article in this series details the matching and two-obligation analysis.
| Month | Cumulative revenue | Cumulative unconditional billing rights | Cumulative cash collected | Receivable | Contract asset | Contract liability |
|---|---|---|---|---|---|---|
| 1 | 200,000.00 | 300,000.00 | 300,000.00 | 0.00 | 0.00 | 100,000.00 |
| 2 | 600,000.00 | 300,000.00 | 300,000.00 | 0.00 | 300,000.00 | 0.00 |
| 3 | 800,000.00 | 900,000.00 | 300,000.00 | 600,000.00 | 0.00 | 100,000.00 |
| 4 | 833,333.33 | 900,000.00 | 900,000.00 | 0.00 | 0.00 | 66,666.67 |
| 5 | 866,666.67 | 900,000.00 | 900,000.00 | 0.00 | 0.00 | 33,333.33 |
| 6 | 900,000.00 | 900,000.00 | 900,000.00 | 0.00 | 0.00 | 0.00 |
| 7 | 933,333.33 | 900,000.00 | 900,000.00 | 0.00 | 33,333.33 | 0.00 |
| 8 | 966,666.67 | 900,000.00 | 900,000.00 | 0.00 | 66,666.67 | 0.00 |
| 9 | 1,000,000.00 | 900,000.00 | 900,000.00 | 0.00 | 100,000.00 | 0.00 |
| 10 | 1,033,333.33 | 900,000.00 | 900,000.00 | 0.00 | 133,333.33 | 0.00 |
| 11 | 1,066,666.67 | 900,000.00 | 900,000.00 | 0.00 | 166,666.67 | 0.00 |
| 12 | 1,100,000.00 | 900,000.00 | 900,000.00 | 0.00 | 200,000.00 | 0.00 |
| 13 | 1,133,333.33 | 900,000.00 | 900,000.00 | 0.00 | 233,333.33 | 0.00 |
| 14 | 1,166,666.67 | 900,000.00 | 900,000.00 | 0.00 | 266,666.67 | 0.00 |
| 15 | 1,200,000.00 | 1,200,000.00 | 900,000.00 | 300,000.00 | 0.00 | 0.00 |
| 16 | 1,200,000.00 | 1,200,000.00 | 1,200,000.00 | 0.00 | 0.00 | 0.00 |
The table calculates from unrounded amounts, then displays each cumulative balance to two decimal places. Monthly support is exactly THB 100,000 ÷ 3, not exactly THB 33,333.33. Adding the rounded monthly amount 12 times would be THB 0.04 short, so that sum does not replace the model's cumulative amounts. This table is not presented as an actual journal.
Revenue, billings, and cash do not move together
- Solid line / circles: cumulative revenue
- Long dashes / squares: cumulative unconditional billing rights
- Dot-dash line / triangles: cumulative cash collected
- Horizontal axis: months 1 to 16; vertical axis: cumulative THB millions
Three moments that separate unfinished work from unpaid bills
In month 2, cumulative revenue of THB 600,000 exceeds cumulative unconditional billing rights of THB 300,000, leaving a THB 300,000 contract asset. Assume the right to the excess still depends on a contractual milestone, not time alone. Follow this balance with delivery evidence and remaining conditions; do not automatically pursue it like an overdue invoice.
In month 3, a THB 600,000 receivable is due the following month. At the same time, there is a THB 100,000 contract liability because cumulative unconditional billing rights of THB 900,000 exceed cumulative revenue of THB 800,000. A receivable and contract liability can coexist. The former is a right to cash; the latter points to work still to transfer for amounts already billed.
In month 16, the company collects THB 300,000 without new revenue because support ended in month 15. Cash collection brings the receivable to zero. Treating the bank receipt as revenue again would overstate both revenue and profit.
THB 800,000 cumulative revenue at month 3
THB 300,000 on the same date
THB 600,000 receivable + THB 0 contract asset − THB 100,000 contract liability
How should these balances guide working-capital management?
For a project manager, I would keep progress reporting separate from billing status and assign someone to confirm the outstanding conditions for billing, such as delivery documents or rights that depend on another event. The accounting team can see which revenue has evidence. The collections team can see which amounts are actually due.
If contract assets keep growing, ask whether work is ahead of planned billings or whether uncertain rights and delivery documents are stuck. If receivables grow, examine aging, credit terms, and later receipts. The causes and the people who can resolve them may differ. Do not combine both into one undifferentiated "sales not yet paid" balance.
In a factory, cash is also tied up in inventory and partly offset by operating payables. Growth that needs more stock and longer customer credit consumes cash even when margins look good. Define clearly which operating assets and liabilities are included in working capital for valuation, excluding cash and interest-bearing debt.
From operating profit to the factory's FCFF
Valuing the business for both lenders and shareholders commonly starts with free cash flow to the firm (FCFF). Begin with operating profit after assumed tax, add back depreciation and amortization that did not consume cash in the period, then subtract capital spending and the added cash tied up in working capital. The formula must align with the scope of operations and the classification of debt. [Damodaran on measuring cash flows]
| Calculation step | Amount | Meaning |
|---|---|---|
| Adjusted operating profit for analysis | 3.00 | Before-interest-and-tax base from the earnings-quality article |
| Less assumed operating tax | −0.60 | 3.00 × 20%; assume no loss carryforwards or tax differences requiring adjustment |
| Net operating profit after tax (NOPAT) | 2.40 | Interest paid to lenders has not yet been deducted |
| Add depreciation and amortization | +1.00 | Noncash expense already deducted in earnings |
| Less capital expenditure | −1.20 | Includes maintenance and the capacity needed for planned activity |
| Less increase in operating working capital | −0.40 | Net cash newly tied up in operating items, excluding cash and interest-bearing debt |
| Base-year FCFF | 1.80 | Model cash before borrowing flows and distributions to owners, not the year-end bank balance |
The factory has a THB 1 million warranty provision from ordinary operations. Assume its expected cost is in profit and that payments and changes in the obligation are already in planned working capital. The THB 0.5 million production-line closure cost is fully paid in the base year, with no hidden balance. We neither drop these obligations nor deduct the whole provision again when calculating equity value.
Where double counting or overstated cash can creep in
Earnings before interest, taxes, depreciation, and amortization (EBITDA) adds depreciation and amortization back to the earnings base. It does not say how much must be spent replacing machines, investing in systems, or funding working capital. A business with high EBITDA may have little cash left when it must keep investing. Depreciation is not a cash payment in that period, but aging assets still need a plan.
If you start with cash flow from operations (CFO) that already includes working-capital changes, do not subtract the increase in working capital again merely because another FCFF formula shows that step. Also check where that CFO figure places interest and taxes before adapting it to firm cash flow. An impairment charge already added back in CFO should not be added again from the earnings adjustment table.
For a software business, capitalized spending on development or acquiring contracts must be assessed under the applicable accounting rules. Whether those outlays appear as expense or asset, the cash investment needed to earn future revenue must be represented consistently in the model. Software is not automatically low-capital just because some costs appear differently in its statements than in a factory's.
I would ask for a contract-by-contract report connecting delivery, unconditional billing rights, and collections, alongside the company's investment and working-capital plans. If the differences cannot yet be explained, I would not multiply earnings or EBITDA by a price and call the result a value supported by cash.
Sources were checked on October 18, 2026. The numbers are calculated under specific assumptions and rounded only for display. They are not real financial statements, a contract determination, or a valuation of any company.