Skip to content

Why Profitable Projects Can Still Run Out of Cash

Payment milestones, acceptance, retention, and the cash needed to finish
November 1, 2026 by
Tomz

The contract looks profitable. Payroll still comes first.

A THB 1 million software project has THB 700,000 in direct costs. The apparent spread is THB 300,000. Yet its owner may need to find another THB 500,000 before the customer pays the final bill.

That is a hypothetical example, not a customer result. It shows why I would review a project's payment terms alongside its price. A margin calculation tells us whether the work may be worth doing. A cash forecast tells us whether we can afford to finish it.

This article follows that project through billing, acceptance, collection, and funding, then compares it with a subscription business. All figures exclude overhead, VAT, withholding tax, interest, and income tax. The THB 300,000 is a spread after direct costs, not net profit or operating cash flow.

Five events that should not share one status

Signing a contract, performing work, recognizing revenue, gaining the right to collect, and receiving cash can happen on different dates. A purchase order may authorize the engagement; it does not prove that work was accepted or money arrived.

Under IFRS 15, a contract asset represents a right to consideration that still depends on something beyond time. A receivable is an unconditional right, with only time remaining before payment is due. An invoice is a document, not a universal test for either revenue or cash. Money received before performance can create a contract liability.

Revenue recognition depends on the applicable accounting framework, performance obligations, and transfer of control. Progress billing does not automatically permit revenue recognition over time. IFRS is used here to explain distinctions, not to assume every Thai SME reports under full IFRS. See IFRS 15, paragraphs 35 and 105–108.

Delivery, billing rights and cash run on different clocks
One contract
Delivery pathWork beginsDeliver under agreed conditionsRecognise revenue when criteria are met
Billing pathContract conditions metUnconditional right to payment / receivableCustomer pays
These paths distinguish contract events. Some contracts qualify for revenue recognition over time as work progresses. Invoicing alone does not determine revenue or receivable recognition. Cash may precede or follow delivery.

The same work, two payment schedules

Assume the direct cash costs are THB 150,000, 250,000, 200,000, and 100,000 in months 1 through 4. Month 0 is before work begins. Schedule A collects 20% upfront and 80% in month 5. Schedule B collects 30% upfront, 30% in month 2, 30% in month 3, and 10% in month 5.

On a narrow screen, scroll the table sideways. The chart and paragraphs explain the main comparison.

Hypothetical project cash balances, THB. External funding and excluded costs are not included.
MonthDirect cash costsA receiptsA closing cashB receiptsB closing cash
00200,000200,000300,000300,000
1150,000050,0000150,000
2250,0000-200,000300,000200,000
3200,0000-400,000300,000300,000
4100,0000-500,0000200,000
50800,000300,000100,000300,000

These balances start with zero project cash, include customer receipts, and exclude external funding. A negative balance is the amount the company must cover from another source. Schedule A reaches a THB 500,000 month-end funding gap. Schedule B stays positive at month-end. Both end at THB 300,000 because total receipts and direct costs are identical.

Month-end figures hide the sequence within a month. Under B, month 2 starts with THB 150,000. If the THB 250,000 cost is paid before the THB 300,000 receipt, a temporary THB 100,000 gap appears. The bank account runs by payment date, not reporting date.

Cumulative net project cash at month-end
Unit: THB thousands
A Payments weighted to the endB Payments staged through the work
Month 0–5
Hypothetical example. Each point is a cumulative month-end balance, not revenue or profit. Excludes VAT, withholding tax, interest and costs outside the example. The intramonth cash low may be below the points shown.

Turn milestones into a collection process

Construction and software projects both pay people and suppliers before all customer money arrives. Construction may use measured quantities, progress certificates, and retention. Software needs equally clear evidence for design approval, data migration, user acceptance testing (UAT), and deployment. “The system is almost ready” is a weak billing trigger.

Before signing, connect each milestone to its deliverable, acceptance test, authorized approver, response period, required invoice documents, and payment date. Confirm whether the customer's purchasing team needs a purchase order number, signed acceptance record, vendor registration, or a specific billing window. Ask who resolves a rejected document and how quickly.

Separate a defect against the agreed scope from a request for new functionality. Record the change's price, schedule, acceptance criteria, and payment consequences before committing more work, or use a documented emergency approval limit. Do not put an unapproved change request in the base cash forecast as certain income.

For the accounting distinctions, see AASB 15, paragraphs 18–19 and B83–B86, which implements IFRS 15 in Australia. These are not model Thai contract terms.

Acceptance can affect both collection and accounting. Its significance depends on the contract and whether compliance can be objectively established. A deemed-acceptance clause needs appropriate legal review; it is not a magic cure for disputed delivery.

For retention, state the amount, release conditions, responsible approver, and expected receipt date. Negotiate whether a smaller holdback, partial releases, or an appropriate guarantee addresses the customer's risk. A guarantee can consume bank facilities or require collateral. None is free. Retention may be a contract asset or receivable depending on the remaining conditions.

Test delays, overruns, and several projects at once

If A's final receipt moves from month 5 to month 6, with no further cash costs, the peak gap remains THB 500,000. The company funds it for longer. If support, cloud bills, or payroll continue, both the gap and its duration can increase.

A 20% direct-cost overrun raises total costs to THB 840,000. If each month's costs rise proportionally, the spread falls to THB 160,000. A's month-end funding gap reaches THB 640,000. B remains nonnegative at month-end, but its month 2 costs can create a THB 180,000 temporary gap before collection. Better payment terms protect liquidity; they do not repair poor project economics.

Five overlapping A projects can require THB 2.5 million at their combined trough if their timing matches. This is a scenario, not a forecast. Staggered starts, shared staff, purchasing discounts, and collection delays change the result. Scale can spread fixed costs across more work, but hiring too early or overloading acceptance teams can consume the savings.

A subscription changes the timing, not the need for cash

Consider a separate hypothetical service: THB 120,000 paid annually or THB 10,000 monthly, THB 6,000 monthly direct service costs, and THB 30,000 customer acquisition cost at month 0.

With annual prepayment, cash after acquisition is THB 90,000. Paying THB 72,000 in service costs leaves THB 18,000 at year-end. The monthly plan begins at negative THB 30,000 and adds THB 4,000 per paid service month. Acquisition payback is 7.5 months on that simplified basis; the balance first turns positive at the end of month 8. It also ends year 1 at THB 18,000.

Annual SaaS cash arrives before the remaining service costs
Unit: THB thousands
Annual payment upfrontMonthly payments, all collected
Start 90 / −30Both end at 18
Month 0–12
A separate SaaS example from the project above: THB 120,000 paid annually or THB 10,000 monthly, less THB 30,000 acquisition cost at month 0 and THB 6,000 monthly direct service cost for 12 months. Assumes all monthly payments are collected, with no churn or refunds. Excludes product development, fixed costs and tax. Values are cumulative month-end cash balances, not profit. Monthly billing first turns positive at the end of month 8. Estimated CAC payback is 7.5 months; this does not guarantee intramonth liquidity.

This assumes all 12 monthly payments arrive and excludes R&D, fixed costs, taxes, refunds, and churn. Annual cash is partly money needed to deliver future service. It is not all available for expansion. Hosting costs also depend on actual usage and commitments. For example, AWS Savings Plans involve one- or three-year hourly spending commitments, including options without upfront payment; a contract that fixes the customer's price while leaving infrastructure cost open needs a usage limit or pricing mechanism.

Reusable software can lower the incremental cost of another customer, while implementation, support, and infrastructure can still rise. Test contribution after customer acquisition and service costs, then check whether the remaining amount covers fixed costs. Customer count alone does not establish economies of scale.

Who pays for the infrastructure?

A provider that resells managed cloud hosting may pay the infrastructure vendor by usage while giving its customer 30 or 60 days of credit. Growth can increase that gap even when each account has a positive spread. Forecast bandwidth, storage, backups, support, and currency exposure where relevant. Define who pays for excess usage and what happens if the customer pays late.

One possible arrangement is for the customer to contract and pay for cloud infrastructure directly while the provider charges a separate management fee. This reduces the provider's infrastructure funding requirement, but it changes account ownership, support responsibilities, access permissions, and purchasing convenience. It is an option to evaluate, not a universal winner.

Owning servers brings capital spending forward. Compare purchase, installation, power, connectivity, colocation, maintenance, backup, staffing, downtime risk, and eventual replacement against managed cloud costs. Low utilization spreads those costs over too few paying customers. Stable demand may justify ownership or a usage commitment; uncertain demand may justify paying more per unit for flexibility. An AWS “No Upfront” commitment still constrains future spending. Keep a replacement reserve in the cash plan, and test demand below forecast before committing capital.

Run a weekly 13-week cash meeting

I would give the finance lead one dated forecast shared with sales and delivery. A 13-week view is a practical management horizon, not an accounting requirement; BDC describes this short-term forecasting approach. Extend a monthly view through project completion so a distant retention release remains visible.

  1. Start with available bank cash. Identify restricted deposits separately and record committed facilities without treating them as cash already received.
  2. Place receipts on realistic collection dates. Link each amount to the milestone, approval evidence, invoice, and person following up. Keep disputed or uncertain receipts in a separate scenario.
  3. Enter payroll, suppliers, subcontractors, licenses, cloud charges, taxes, debt service, and expected capital spending by due date. Include costs still required to finish committed work.
  4. Find the lowest cash point, test late collections and overruns, then assign action before it arrives. Actions may include changing the billing schedule, phasing purchases, rescheduling work, or arranging funding.
  5. Every week replace estimates with actual payments, explain differences, roll forward one week, and name an owner and next date for each blocked receipt.

Alongside the forecast, review work awaiting billing eligibility, the age of pending acceptance, overdue receivables and their causes, retention due for release, and remaining costs to complete. Give each blocked amount an owner. A missing approval needs a different action from a customer's cash shortage.

Then combine all projects with company overhead and financing obligations. Count actual payroll once; do not add allocated project labor costs again on top of company payroll. Report the lowest available company cash balance, its date, and headroom under committed facilities. A project can look funded while the company runs short because several payroll or supplier payments fall together.

The forecast should reconcile opening cash plus receipts less payments to closing cash. Government guidance explains why forecasts help identify shortages and why actual results should be compared with estimates. See business.gov.au on cash forecasting.

Match funding to a gap you can explain

Use customer advances and achievable progress billing where commercially reasonable. A revolving facility may bridge a short, identifiable collection gap. Receivables finance depends on eligible, enforceable invoices, customer credit, disputes, fees, and recourse. Work awaiting acceptance may not qualify.

Longer-lived development or a structurally loss-making service needs a different funding decision. Repeated short borrowing cannot make negative contribution profitable. Compare financing cost, collateral, covenants, and the downside if collection slips. Preserve a buffer derived from realistic scenarios, rather than adopting an unexplained percentage.

Loan proceeds increase cash but are financing inflows, not operating cash flow. Repaying principal uses cash without being an operating expense; interest is separate. Collecting a receivable exchanges one asset for another and does not create the same revenue again or automatically reduce total assets.

The cash conversion cycle, usually inventory days plus receivable days less payable days, is useful for trading businesses. A project company also needs the days from work to billing eligibility, approval delays, retention aging, and peak funding. A low inventory balance can make the conventional cycle look reassuring while payroll funds months of unbilled work.

IAS 7 distinguishes operating, investing, and financing cash flows. If using free cash flow, define it consistently, for example operating cash flow less capital expenditure. Do not subtract working-capital movements again when they are already included in operating cash flow.

Questions to take into the next project review

Which payment schedule leaves more after direct costs?
Neither in the base example. Both leave THB 300,000 before excluded costs. B changes the funding profile.
Does B eliminate borrowing?
Not necessarily. It has a THB 100,000 intramonth gap if month 2 costs precede collection, before overhead or other projects.
Does a 30-day collection delay always increase peak funding?
No. Without additional cash costs it extends the gap's duration. Ongoing costs can increase the amount too.
Can the annual subscription's THB 90,000 fund another project immediately?
Only after allowing for future service obligations, other commitments, and a suitable cash buffer.
What should the owner ask before accepting the next contract?
“On which date does cash reach its lowest point, how much is needed, and what evidence supports the receipt that closes the gap?” An answer tied to named documents and owners is more useful than a sales target alone.

Share this article

FacebookX
# MBA
Why More Sales May Not Improve Cash or ROA
Connect strategy, pricing, costs, receivables, inventory, and capacity before raising sales targets