Turnaround cash forecasting: keep commitment, accrual and payment apart
For Operator CFO and turnaround controller
TL;DR — what you’ll learn
- During a major refinery or offshore turnaround, project cost reports and treasury cash-flow forecasts frequently diverge by tens of millions of rupees because teams conflate three distinct financial states: **Commercial Commitment** (Purchase Order issuance), **Accounting Accrual** (physical work performed / Ind AS 16 recognition), and **Treasury Cash Outflow** (net bank disbursement).
- A contractor invoice or Service Entry Sheet (`SES`) for `INR 100,000,000` of completed turnaround work never triggers an immediate `INR 100,000,000` cash wire; mobilisation advance recovery (`10%`), performance retention holdbacks (`10%`), statutory tax deductions (`TDS`), and net payment terms (`Net 30/45`) shift actual cash outflow across multiple months.
- A rigorous turnaround cash-forecasting engine maintains three parallel time-phased curves (`Commitment Curve`, `Accrual/Earned Value Curve`, and `Net Cash Disbursement Curve`) while isolating **disputed contractor invoices** in a separate uncertainty band.
- The Plant/Asset Controller approves cash-timing assumptions (retention release dates, advance amortisation, and statutory holdbacks), Procurement and Service Owners update physical milestone dates, and contested claims remain visibly segregated until resolved.

Topics: oil and gas cash flow forecasting, turnaround cash flow, maintenance commitments forecast, project operating cash planning
Why turnaround cost trackers mislead corporate treasury
In capital-intensive refinery turnarounds, petrochemical cracker revamps, and offshore platform shutdowns, leadership monitors two critical financial questions simultaneously:
- "What is our total incurred cost against the Approved Turnaround Budget (
AFE)?" (An accounting and project-control question governed by Ind AS 16 Property, Plant and Equipment and earned-value accruals). - "How much cash will actually leave our bank accounts each week over the next 120 days?" (A corporate treasury and working-capital liquidity question governed by SAP S/4HANA Cash and Liquidity Management and public-sector contract payment terms such as the Oil India Procurement Manuals).
Disaster strikes when turnaround project controls teams hand their monthly Commitment or Accrual S-Curve to corporate treasury as a "Cash Forecast":
- Confusing PO Commitment with Cash: Issuing
INR 600,000,000in Purchase Orders (ME21N) 90 days before shutdown locks in contractual commitment, but aside from an initial10%mobilisation advance against a Bank Guarantee (INR 60,000,000), zero cash leaves the bank at PO award. - Confusing Physical Work Accrual with Immediate Cash Payment: During the 30-day mechanical execution window (
Month T), contractors physically execute75%of the turnaround scope (INR 450,000,000accrued into CWIP/OPEX). However, because Joint Measurement Sheets (JMS) take 10 days to certify into SAP Service Entry Sheets (SES), tax invoices carryNet 30-daypayment terms from receipt,10%mobilisation advances are recovered pro-rata from each running bill, and10%performance retention money is withheld until the 6-month Defect Liability Period (DLP) expires, actual bank cash outflow duringMonth Tis a fraction of the accrued work. - Treating Disputed Claims as Scheduled Payments: When a contractor submits a contested
INR 35,000,000extra-scope invoice, including it in the baseline 30-day AP payment run overstates near-term cash needs, whereas hiding it completely leaves treasury unprepared if a commercial settlement is reached at turnaround closeout.
Takeaway: Never hand an earned-value accrual curve to Treasury; convert accrued work into cash outflow by applying SES certification lag, net payment terms, advance recovery deductions, and retention release schedules.
The mathematical translation from Turnaround Accrual to Net Cash Outflow
For any turnaround contract package k with baseline contract value V_k, mobilisation advance ratio alpha_adv (paid at T - 30 days), pro-rata advance recovery rate alpha_rec = alpha_adv on each running bill, performance retention holdback ratio rho_ret (released at Defect Liability Period expiry T + 180 days), JMS-to-SES certification lag L_cert, and invoice payment terms L_pay, the net cash outflow generated by a running progress bill B(k,t) certified in period t is:
Gross_Certified_Progress_Bill (B) = Verified_Physical_Work_Increment
Less_Advance_Amortisation_Recovery = - (alpha_adv * B)
Less_Performance_Retention_Holdback = - (rho_ret * B)
Net_Payable_Cash_On_Running_Bill = B * (1 - alpha_adv - rho_ret)
Scheduled_Cash_Disbursement_Date = Physical_Completion_Date + L_cert + L_pay
Notice the structural cash impact: when alpha_adv = 10% and rho_ret = 10%, each INR 100,000,000 of certified turnaround work during the shutdown generates only INR 80,000,000 of cash outflow, and that INR 80,000,000 leaves the bank L_cert + L_pay (10 + 30 = 40 days) after the physical work was accrued! The remaining 10% (INR 10,000,000) already left the bank 30 days before the turnaround as the mobilisation advance, and the final 10% (INR 10,000,000) will not leave the bank until 6 months after turnaround mechanical completion (unless substituted by a Performance Bank Guarantee).
Illustrative example (hypothetical scenario): INR 200,000,000 Reactor & Piping Package
Illustrative scenario notice: All site volumes, defect counts, error rates, engineering hours, and INR (
₹) figures below are hypothetical scenario assumptions constructed to demonstrate the control math and workflow gating. Any time or cost reductions represent modeled process/capacity estimates under these assumptions, not achieved client benchmark savings or guaranteed cash realization.
Consider a major turnaround contract (PO-4500091200, Approved Baseline Value = INR 200,000,000) plus INR 18,000,000 of disputed extra-work claims submitted during execution, tracked across six lifecycle periods:
- Contract Terms:
10%Mobilisation Advance (INR 20,000,000) paid in Month M1 (Pre-TA) against an Advance Bank Guarantee, recovered at10%from every running progress bill.10%Performance Retention (INR 20,000,000cumulative) withheld from every running bill and released in Month M6 (DLP Closeout, 4 months post-TA).- Certification + Payment Lag: Running bills certified in Month
mare paid in Monthm + 1(Net 30 days).
Let us compare the three ledgers across Months M1 through M6:
- Month M1 (Pre-Turnaround Award & Mobilisation):
- Commitment:
INR 200,000,000(100%of baseline PO committed). - Accrual (Work Done):
INR 0(no physical overhaul executed yet; advance posts to Balance SheetVendor Advance GL 142100, not CWIP/OPEX). - Net Cash Outflow:
INR 20,000,000(10%mobilisation advance wire).
- Commitment:
- Month M2 (Turnaround Execution Part 1 —
60%Physical Completion):- Commitment:
INR 0new commitment (Cumulative = INR 200,000,000). - Accrual (Work Done):
INR 120,000,000(60%ofINR 200,000,000verified via JMS and accrued into Ind AS 16 CWIP / OPEX). - Net Cash Outflow in M2:
INR 0(M2 progress bill is certified at end of M2 and matures for payment underNet 30terms in Month M3).
- Commitment:
- Month M3 (Turnaround Completion Part 2 — Final
40%Physical Completion + Disputed Claim):- Commitment:
INR 0baseline change (+ INR 18,000,000unapproved contractor claim logged inUNCERTAIN_DISPUTED_BAND). - Accrual (Work Done):
INR 80,000,000(40%remaining baseline work completed;Cumulative Verified Accrual = INR 200,000,000). - Net Cash Outflow in M3 (Paying M2 Certified Bill of
INR 120,000,000):- Gross Bill M2:
INR 120,000,000 - Less
10%Advance Recovery:- INR 12,000,000 - Less
10%Retention Holdback:- INR 12,000,000 - Firm Cash Outflow in M3:
INR 96,000,000.
- Gross Bill M2:
- Commitment:
- Month M4 (Post-Turnaround Invoice Settlement of M3 Bill):
- Accrual (Work Done):
INR 0(turnaround physically complete in M3). - Net Cash Outflow in M4 (Paying M3 Certified Bill of
INR 80,000,000):- Gross Bill M3:
INR 80,000,000 - Less
10%Advance Recovery:- INR 8,000,000(Advance ofINR 20.0Mnow100%recovered:12.0M + 8.0M = 20.0M). - Less
10%Retention Holdback:- INR 8,000,000(Cumulative Retention held =12.0M + 8.0M = INR 20.0M). - Firm Cash Outflow in M4:
INR 64,000,000(plus a separate Uncertain Disputed Cash Band ofINR 0 to INR 18,000,000held pending commercial adjudication).
- Gross Bill M3:
- Accrual (Work Done):
- Month M5 (Defect Liability Period Observation):
- Commitment / Accrual / Firm Cash:
INR 0.
- Commitment / Accrual / Firm Cash:
- Month M6 (DLP Expiry & Performance Retention Release):
- Accrual (Work Done):
INR 0(cost was already accrued in M2 and M3). - Net Cash Outflow in M6:
INR 20,000,000(release of10%retention liabilityGL 214800upon signed Final Acceptance Certificate).
- Accrual (Work Done):
- Full-Lifecycle Reconciliation Check (
Months M1 to M6):Total Baseline Commitment=INR 200,000,000(M1)Total Baseline Accrual=120,000,000 (M2) + 80,000,000 (M3)=INR 200,000,000Total Firm Cash Outflow=20,000,000 (M1 Adv) + 0 (M2) + 96,000,000 (M3) + 64,000,000 (M4) + 0 (M5) + 20,000,000 (M6 Ret)=INR 200,000,000(Variance = INR 0, while monthly timing differs by up toINR 120,000,000in a single month!).
Takeaway: In Month M2, accrual is INR 120.0M while firm cash outflow is INR 0.0M; in Month M4, accrual is INR 0.0M while firm cash outflow is INR 64.0M. Keeping the three ledgers distinct prevents liquidity surprises.
Technical implementation: turnaround contract cash-forecasting record
{
"cash_forecast_pack_id": "TA-CASH-O060-2026Q4-012",
"turnaround_id": "TA-REFINERY-CDU2-2026",
"purchase_order_id": "4500091200",
"contract_terms": {
"baseline_po_value_inr": 200000000.0,
"mobilisation_advance_pct": 10.0,
"advance_amortisation_pct": 10.0,
"performance_retention_pct": 10.0,
"ses_certification_lag_days": 10,
"invoice_payment_terms_days": 30,
"dlp_retention_release_months_post_ta": 3
},
"period_schedule_inr": [
{"period": "M1", "commitment": 200000000.0, "accrual_work_done": 0.0, "firm_cash_outflow": 20000000.0, "disputed_cash_band_max": 0.0},
{"period": "M2", "commitment": 0.0, "accrual_work_done": 120000000.0, "firm_cash_outflow": 0.0, "disputed_cash_band_max": 0.0},
{"period": "M3", "commitment": 0.0, "accrual_work_done": 80000000.0, "firm_cash_outflow": 96000000.0, "disputed_cash_band_max": 0.0},
{"period": "M4", "commitment": 0.0, "accrual_work_done": 0.0, "firm_cash_outflow": 64000000.0, "disputed_cash_band_max": 18000000.0},
{"period": "M5", "commitment": 0.0, "accrual_work_done": 0.0, "firm_cash_outflow": 0.0, "disputed_cash_band_max": 0.0},
{"period": "M6", "commitment": 0.0, "accrual_work_done": 0.0, "firm_cash_outflow": 20000000.0, "disputed_cash_band_max": 0.0}
],
"governance_signoff": {
"milestone_owner_id": "TA-PLAN-LEAD-03",
"controller_approver_id": "FIN-CTRL-TA-01",
"approved_at_utc": "2026-10-20T10:15:00Z"
}
}
Acceptance tests and operational readiness thresholds
Scroll horizontally to see all columns.
| Test ID | Validation Dimension | Verification Method | Pass / Fail Threshold |
|---|---|---|---|
ACT-O060-01 |
Three-ledger structural separation | Inspect turnaround financial reporting views across Commitment, Accrual, and Cash Outflow |
0 reports substitute PO commitment or unadjusted JMS accrual directly as a treasury cash-outflow date |
ACT-O060-02 |
Advance & retention deduction accuracy | Reconcile forecasted running-bill cash outflows against contract mobilisation_advance_pct and performance_retention_pct |
100% of running-bill cash projections deduct pro-rata advance amortisation and retention holdbacks |
ACT-O060-03 |
Lifecycle conservation of value | Verify SUM(Commitment) == SUM(Accrual) == SUM(Firm_Cash_Outflow) across the complete PO + DLP horizon |
0.00% cumulative lifecycle variance on undisputed contract scope (INR 200.0M == INR 200.0M) |
ACT-O060-04 |
Disputed invoice uncertainty isolation | Inject parked/blocked contractor invoices (MRBR / Claim Register) into the forecast |
100% displayed in disputed_cash_band_max and excluded from baseline firm_cash_outflow |
Summary and next actions
- Publish three separate turnaround curves (
Commitment,Accrual,Net Cash): Stop using earned-value accrual curves as treasury liquidity forecasts; report PO commitments, Ind AS 16 work accruals, and net bank disbursements as distinct schedules. - Parameterize contract advance recovery and retention holdbacks per PO: Configure the cash translation engine with each major contract's mobilisation advance percentage, pro-rata recovery rate, retention withholding percentage, and DLP release date.
- Shift cash dates by actual SES certification plus AP payment terms: Anchor forecasted bank wire dates to
Physical Milestone Date + JMS/SES Certification Lag + Net Payment Terms. - Segregate disputed contractor claims into an explicit uncertainty band: Keep contested extra-work claims and blocked invoices visible to Treasury as a separate contingency band without polluting firm weekly AP disbursement runs.
Assess your oil and gas cash flow forecasting controls
Map the record states, evidence links, exception routing and review owners for oil and gas cash flow forecasting. Technical and regulatory sign-off stays with the site authority.
Prepare a focused assessmentReferences
Sources checked 15 October 2026. Vendor examples retain their stated release scope. Catalogue entries do not replace the full applicable standards.
- Ministry of Corporate Affairs (MCA) — Indian Accounting Standard (Ind AS) 16: Property, Plant and Equipment
- SAP S/4HANA Documentation — Cash and Liquidity Management, Commitment Management, and Down Payment Clearing
- Oil India Limited — Procurement Manuals (Mobilisation Advance, Retention Money, and Payment Terms)

