Skip to main content

Methodology

Progress Billing Cash Planner methodology

Align earned work, billed value, receipts, retention and project cost outflows across two ordered project stages against the entered contract value and opening cash.

Educational only: Business decision support, not accounting, tax or legal advice.

Privacy: Calculations run locally; Margin101 does not receive your commercial inputs.

Update policy: Reviewed when formulas or official dependencies change.

Scope: Market-neutral small-business planning using your own assumptions.

1. Formulas and units

Total earned work
earnedExTax = stage 1 earned work + stage 2 earned work

Where

stageOneEarnedExTax
Stage 1 earned work (currency units/stage 1, ex tax)Source: Business record
stageTwoEarnedExTax
Stage 2 earned work (currency units/stage 2, ex tax)Source: Business record
earnedExTax
Total earned work (currency units, ex tax)Source: Calculated output
Total billed value
billedExTax = stage 1 billed value + stage 2 billed value

Where

stageOneBilledExTax
Stage 1 billed value (currency units/stage 1, ex tax)Source: Business record
stageTwoBilledExTax
Stage 2 billed value (currency units/stage 2, ex tax)Source: Business record
billedExTax
Total billed value (currency units, ex tax)Source: Calculated output
Total cash received
cashReceivedExTax = stage 1 cash received + stage 2 cash received

Where

stageOneCashReceivedExTax
Stage 1 cash received (currency units/stage 1 event, ex tax)Source: Business record
stageTwoCashReceivedExTax
Stage 2 cash received (currency units/stage 2 event, ex tax)Source: Business record
cashReceivedExTax
Total cash received (currency units, ex tax)Source: Calculated output
Retention held
retentionHeldExTax = sum of each stage billed value ร— its retention rate

Where

stageOneBilledExTax
Stage 1 billed value (currency units/stage 1, ex tax)Source: Business record
stageOneRetentionRate
Stage 1 retention rate (decimal fraction of stage 1 billed value withheld)Source: User assumption
stageTwoBilledExTax
Stage 2 billed value (currency units/stage 2, ex tax)Source: Business record
stageTwoRetentionRate
Stage 2 retention rate (decimal fraction of stage 2 billed value withheld)Source: User assumption
billedExTax
Total billed value (currency units, ex tax)Source: Calculated output
retentionHeldExTax
Retention held (currency units, ex tax)Source: Calculated output
Net collectible billed value
netCollectibleBilledExTax = total billed value โˆ’ retention held

Where

billedExTax
Total billed value (currency units, ex tax)Source: Calculated output
retentionHeldExTax
Retention held (currency units, ex tax)Source: Calculated output
netCollectibleBilledExTax
Net collectible billed value (currency units, ex tax)Source: Calculated output
Unbilled earned work
unbilledEarnedExTax = total earned work โˆ’ total billed value

Where

earnedExTax
Total earned work (currency units, ex tax)Source: Calculated output
billedExTax
Total billed value (currency units, ex tax)Source: Calculated output
unbilledEarnedExTax
Unbilled earned work (currency units, ex tax)Source: Calculated output
Collectible receivable
receivableExTax = net collectible billed value โˆ’ cash received

Where

billedExTax
Total billed value (currency units, ex tax)Source: Calculated output
cashReceivedExTax
Total cash received (currency units, ex tax)Source: Calculated output
netCollectibleBilledExTax
Net collectible billed value (currency units, ex tax)Source: Calculated output
receivableExTax
Collectible receivable (currency units, ex tax)Source: Calculated output
Remaining contract value
remainingContractValueExTax = contract value โˆ’ total earned work

Where

contractValueExTax
Contract value (currency units/contract, ex tax)Source: Business record
earnedExTax
Total earned work (currency units, ex tax)Source: Calculated output
remainingContractValueExTax
Remaining contract value (currency units, ex tax)Source: Calculated output
Retention released
retentionReleasedExTax = sum of retention released across both ordered stages

Where

retentionReleasedExTax
Retention released (currency units, ex tax)Source: Calculated output
Project cost outflow
projectCostOutflowExTax = sum of project cost outflows across both ordered stages

Where

projectCostOutflowExTax
Project cost outflow (currency units, ex tax)Source: Calculated output
Closing cash after stage 1
stageOneClosingCashExTax = opening cash + stage 1 receipts + releases โˆ’ stage 1 cost outflow

Where

openingCashExTax
Opening project cash (currency units/contract before stage 1, ex tax)Source: Business record
stageOneClosingCashExTax
Closing cash after stage 1 (currency units, ex tax)Source: Calculated output
closingCashExTax
Closing project cash (currency units, ex tax)Source: Calculated output
Closing cash after stage 2
stageTwoClosingCashExTax = stage 1 closing cash + stage 2 receipts + releases โˆ’ stage 2 cost outflow

Where

stageTwoClosingCashExTax
Closing cash after stage 2 (currency units, ex tax)Source: Calculated output
closingCashExTax
Closing project cash (currency units, ex tax)Source: Calculated output
Closing project cash
closingCashExTax = opening cash + receipts + retention releases โˆ’ project cost outflows

Where

openingCashExTax
Opening project cash (currency units/contract before stage 1, ex tax)Source: Business record
closingCashExTax
Closing project cash (currency units, ex tax)Source: Calculated output
First cash shortfall date
firstShortfallDateCode = first chronological stage with closing cash below zero

Where

stageOneDateCode
Stage 1 date (YYYYMMDD date code)Source: Business record
stageTwoDateCode
Stage 2 date (YYYYMMDD date code)Source: Business record
closingCashExTax
Closing project cash (currency units, ex tax)Source: Calculated output
firstShortfallDateCode
First cash shortfall date (ISO calendar date)Source: Calculated output
Peak funding gap
peakFundingGapExTax = largest cash shortfall after either ordered stage

Where

peakFundingGapExTax
Peak funding gap (currency units, ex tax)Source: Calculated output

Money inputs and outputs use the currency selected in the scenario without changing the canonical methodology. Rates, margins, utilisation and buffers are entered as percentages and converted to decimal values for calculation.

2. Worked example

Input assumptions

The rows below come directly from the exact engine using the visible default fixture.

Contract value
100,000 currency units/contract, ex tax
Opening project cash
5,000 currency units/contract before stage 1, ex tax
Stage 1 date
20,260,131 YYYYMMDD date code
Stage 1 earned work
40,000 currency units/stage 1, ex tax
Stage 1 billed value
35,000 currency units/stage 1, ex tax
Stage 1 cash received
30,000 currency units/stage 1 event, ex tax
Stage 1 retention rate
0.1 decimal fraction of stage 1 billed value withheld
Stage 1 retention released
0 currency units/stage 1 event, ex tax
Stage 1 project cost outflow
32,000 currency units/stage 1 event, ex tax
Stage 2 date
20,260,228 YYYYMMDD date code
Stage 2 earned work
20,000 currency units/stage 2, ex tax
Stage 2 billed value
20,000 currency units/stage 2, ex tax
Stage 2 cash received
10,000 currency units/stage 2 event, ex tax
Stage 2 retention rate
0.1 decimal fraction of stage 2 billed value withheld
Stage 2 retention released
0 currency units/stage 2 event, ex tax
Stage 2 project cost outflow
16,000 currency units/stage 2 event, ex tax

Calculation and outputs

  1. Total earned work

    earnedExTax = stage 1 earned work + stage 2 earned work
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Unbilled earned work
    5,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax

    Engine result: 60,000 currency units, ex tax

  2. Total billed value

    billedExTax = stage 1 billed value + stage 2 billed value
    Contract value
    100,000 currency units/contract, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Net collectible billed value
    49,500 currency units, ex tax
    Remaining contract value
    40,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax

    Engine result: 55,000 currency units, ex tax

  3. Total cash received

    cashReceivedExTax = stage 1 cash received + stage 2 cash received
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax
    Closing project cash
    -3,000 currency units, ex tax
    First cash shortfall date
    20,260,228 ISO calendar date

    Engine result: 40,000 currency units, ex tax

  4. Retention held

    retentionHeldExTax = sum of each stage billed value ร— its retention rate
    Contract value
    100,000 currency units/contract, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Total billed value
    55,000 currency units, ex tax
    Net collectible billed value
    49,500 currency units, ex tax
    Remaining contract value
    40,000 currency units, ex tax
    Retention released
    0 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax

    Engine result: 5,500 currency units, ex tax

  5. Net collectible billed value

    netCollectibleBilledExTax = total billed value โˆ’ retention held
    Contract value
    100,000 currency units/contract, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Total billed value
    55,000 currency units, ex tax
    Retention held
    5,500 currency units, ex tax
    Remaining contract value
    40,000 currency units, ex tax
    Retention released
    0 currency units, ex tax

    Engine result: 49,500 currency units, ex tax

  6. Unbilled earned work

    unbilledEarnedExTax = total earned work โˆ’ total billed value
    Contract value
    100,000 currency units/contract, ex tax
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Total earned work
    60,000 currency units, ex tax
    Total billed value
    55,000 currency units, ex tax
    Net collectible billed value
    49,500 currency units, ex tax
    Remaining contract value
    40,000 currency units, ex tax

    Engine result: 5,000 currency units, ex tax

  7. Collectible receivable

    receivableExTax = net collectible billed value โˆ’ cash received
    Contract value
    100,000 currency units/contract, ex tax
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Total billed value
    55,000 currency units, ex tax
    Total cash received
    40,000 currency units, ex tax
    Net collectible billed value
    49,500 currency units, ex tax
    Remaining contract value
    40,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax
    Closing project cash
    -3,000 currency units, ex tax
    First cash shortfall date
    20,260,228 ISO calendar date

    Engine result: 9,500 currency units, ex tax

  8. Remaining contract value

    remainingContractValueExTax = contract value โˆ’ total earned work
    Contract value
    100,000 currency units/contract, ex tax
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Total earned work
    60,000 currency units, ex tax
    Total billed value
    55,000 currency units, ex tax
    Net collectible billed value
    49,500 currency units, ex tax
    Unbilled earned work
    5,000 currency units, ex tax

    Engine result: 40,000 currency units, ex tax

  9. Retention released

    retentionReleasedExTax = sum of retention released across both ordered stages
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Retention held
    5,500 currency units, ex tax

    Engine result: 0 currency units, ex tax

  10. Project cost outflow

    projectCostOutflowExTax = sum of project cost outflows across both ordered stages
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Closing project cash
    -3,000 currency units, ex tax

    Engine result: 48,000 currency units, ex tax

  11. Closing cash after stage 1

    stageOneClosingCashExTax = opening cash + stage 1 receipts + releases โˆ’ stage 1 cost outflow
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Total cash received
    40,000 currency units, ex tax
    Project cost outflow
    48,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax
    Closing project cash
    -3,000 currency units, ex tax
    First cash shortfall date
    20,260,228 ISO calendar date

    Engine result: 3,000 currency units, ex tax

  12. Closing cash after stage 2

    stageTwoClosingCashExTax = stage 1 closing cash + stage 2 receipts + releases โˆ’ stage 2 cost outflow
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Total cash received
    40,000 currency units, ex tax
    Project cost outflow
    48,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing project cash
    -3,000 currency units, ex tax
    First cash shortfall date
    20,260,228 ISO calendar date

    Engine result: -3,000 currency units, ex tax

  13. Closing project cash

    closingCashExTax = opening cash + receipts + retention releases โˆ’ project cost outflows
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Total cash received
    40,000 currency units, ex tax
    Retention held
    5,500 currency units, ex tax
    Retention released
    0 currency units, ex tax
    Project cost outflow
    48,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax
    First cash shortfall date
    20,260,228 ISO calendar date

    Engine result: -3,000 currency units, ex tax

  14. First cash shortfall date

    firstShortfallDateCode = first chronological stage with closing cash below zero
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Total cash received
    40,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax
    Closing project cash
    -3,000 currency units, ex tax

    Engine result: 20,260,228 ISO calendar date

  15. Peak funding gap

    peakFundingGapExTax = largest cash shortfall after either ordered stage
    Opening project cash
    5,000 currency units/contract before stage 1, ex tax
    Stage 1 date
    20,260,131 YYYYMMDD date code
    Stage 1 earned work
    40,000 currency units/stage 1, ex tax
    Stage 1 billed value
    35,000 currency units/stage 1, ex tax
    Stage 1 cash received
    30,000 currency units/stage 1 event, ex tax
    Stage 1 retention rate
    0.1 decimal fraction of stage 1 billed value withheld
    Stage 1 retention released
    0 currency units/stage 1 event, ex tax
    Stage 1 project cost outflow
    32,000 currency units/stage 1 event, ex tax
    Stage 2 date
    20,260,228 YYYYMMDD date code
    Stage 2 earned work
    20,000 currency units/stage 2, ex tax
    Stage 2 billed value
    20,000 currency units/stage 2, ex tax
    Stage 2 cash received
    10,000 currency units/stage 2 event, ex tax
    Stage 2 retention rate
    0.1 decimal fraction of stage 2 billed value withheld
    Stage 2 retention released
    0 currency units/stage 2 event, ex tax
    Stage 2 project cost outflow
    16,000 currency units/stage 2 event, ex tax
    Total cash received
    40,000 currency units, ex tax
    Closing cash after stage 1
    3,000 currency units, ex tax
    Closing cash after stage 2
    -3,000 currency units, ex tax
    Closing project cash
    -3,000 currency units, ex tax
    First cash shortfall date
    20,260,228 ISO calendar date

    Engine result: 3,000 currency units, ex tax

Example

The rows below come directly from the exact engine using the visible default fixture.

Total earned work
60,000.00
Total billed value
55,000.00
Total cash received
40,000.00
Retention held
5,500.00
Net collectible billed value
49,500.00
Unbilled earned work
5,000.00
Collectible receivable
9,500.00
Remaining contract value
40,000.00
Retention released
0.00
Project cost outflow
48,000.00
Closing cash after stage 1
3,000.00
Closing cash after stage 2
-3,000.00
Closing project cash
-3,000.00
First cash shortfall date
2026-02-28
Peak funding gap
3,000.00

The exact engine-derived outputs are shown in the labelled rows below.

Interpretation

Milestone value and collection timing are different; use the dated cash position to expose the gap.

3. Validation and boundary checks

  • All values must be finite and remain inside the visible input boundaries.
  • All money values use one consistent ex-tax basis and period.
  • Rates must remain inside their engine-owned boundaries.
  • Each billed amount cannot exceed earned work, and cash cannot exceed billed value after retention.
  • Cumulative earned and billed values cannot exceed the entered contract value.
  • The two visible stage dates must be valid, unique and chronological; retention cannot be released before it has been withheld.
Contract value minimum
contractValueExTax โ‰ฅ 0 currency units/contract, ex tax โ€” A lower value is rejected before calculation.
Contract value maximum
contractValueExTax โ‰ค 10,000,000 currency units/contract, ex tax โ€” A higher value is rejected before calculation.
Opening project cash minimum
openingCashExTax โ‰ฅ -100,000,000 currency units/contract before stage 1, ex tax โ€” A lower value is rejected before calculation.
Opening project cash maximum
openingCashExTax โ‰ค 100,000,000 currency units/contract before stage 1, ex tax โ€” A higher value is rejected before calculation.
Stage 1 date minimum
stageOneDateCode โ‰ฅ 10,000,101 YYYYMMDD date code โ€” A lower value is rejected before calculation.
Stage 1 date maximum
stageOneDateCode โ‰ค 99,991,231 YYYYMMDD date code โ€” A higher value is rejected before calculation.
Stage 1 earned work minimum
stageOneEarnedExTax โ‰ฅ 0 currency units/stage 1, ex tax โ€” A lower value is rejected before calculation.
Stage 1 earned work maximum
stageOneEarnedExTax โ‰ค 10,000,000 currency units/stage 1, ex tax โ€” A higher value is rejected before calculation.
Stage 1 billed value minimum
stageOneBilledExTax โ‰ฅ 0 currency units/stage 1, ex tax โ€” A lower value is rejected before calculation.
Stage 1 billed value maximum
stageOneBilledExTax โ‰ค 10,000,000 currency units/stage 1, ex tax โ€” A higher value is rejected before calculation.
Stage 1 cash received minimum
stageOneCashReceivedExTax โ‰ฅ 0 currency units/stage 1 event, ex tax โ€” A lower value is rejected before calculation.
Stage 1 cash received maximum
stageOneCashReceivedExTax โ‰ค 10,000,000 currency units/stage 1 event, ex tax โ€” A higher value is rejected before calculation.
Stage 1 retention rate minimum
stageOneRetentionRate โ‰ฅ 0 decimal fraction of stage 1 billed value withheld โ€” A lower value is rejected before calculation.
Stage 1 retention rate maximum
stageOneRetentionRate โ‰ค 1 decimal fraction of stage 1 billed value withheld โ€” A higher value is rejected before calculation.
Stage 1 retention released minimum
stageOneRetentionReleasedExTax โ‰ฅ 0 currency units/stage 1 event, ex tax โ€” A lower value is rejected before calculation.
Stage 1 retention released maximum
stageOneRetentionReleasedExTax โ‰ค 10,000,000 currency units/stage 1 event, ex tax โ€” A higher value is rejected before calculation.
Stage 1 project cost outflow minimum
stageOneProjectCostOutflowExTax โ‰ฅ 0 currency units/stage 1 event, ex tax โ€” A lower value is rejected before calculation.
Stage 1 project cost outflow maximum
stageOneProjectCostOutflowExTax โ‰ค 10,000,000 currency units/stage 1 event, ex tax โ€” A higher value is rejected before calculation.
Stage 2 date minimum
stageTwoDateCode โ‰ฅ 10,000,101 YYYYMMDD date code โ€” A lower value is rejected before calculation.
Stage 2 date maximum
stageTwoDateCode โ‰ค 99,991,231 YYYYMMDD date code โ€” A higher value is rejected before calculation.
Stage 2 earned work minimum
stageTwoEarnedExTax โ‰ฅ 0 currency units/stage 2, ex tax โ€” A lower value is rejected before calculation.
Stage 2 earned work maximum
stageTwoEarnedExTax โ‰ค 10,000,000 currency units/stage 2, ex tax โ€” A higher value is rejected before calculation.
Stage 2 billed value minimum
stageTwoBilledExTax โ‰ฅ 0 currency units/stage 2, ex tax โ€” A lower value is rejected before calculation.
Stage 2 billed value maximum
stageTwoBilledExTax โ‰ค 10,000,000 currency units/stage 2, ex tax โ€” A higher value is rejected before calculation.
Stage 2 cash received minimum
stageTwoCashReceivedExTax โ‰ฅ 0 currency units/stage 2 event, ex tax โ€” A lower value is rejected before calculation.
Stage 2 cash received maximum
stageTwoCashReceivedExTax โ‰ค 10,000,000 currency units/stage 2 event, ex tax โ€” A higher value is rejected before calculation.
Stage 2 retention rate minimum
stageTwoRetentionRate โ‰ฅ 0 decimal fraction of stage 2 billed value withheld โ€” A lower value is rejected before calculation.
Stage 2 retention rate maximum
stageTwoRetentionRate โ‰ค 1 decimal fraction of stage 2 billed value withheld โ€” A higher value is rejected before calculation.
Stage 2 retention released minimum
stageTwoRetentionReleasedExTax โ‰ฅ 0 currency units/stage 2 event, ex tax โ€” A lower value is rejected before calculation.
Stage 2 retention released maximum
stageTwoRetentionReleasedExTax โ‰ค 10,000,000 currency units/stage 2 event, ex tax โ€” A higher value is rejected before calculation.
Stage 2 project cost outflow minimum
stageTwoProjectCostOutflowExTax โ‰ฅ 0 currency units/stage 2 event, ex tax โ€” A lower value is rejected before calculation.
Stage 2 project cost outflow maximum
stageTwoProjectCostOutflowExTax โ‰ค 10,000,000 currency units/stage 2 event, ex tax โ€” A higher value is rejected before calculation.

4. Assumptions and source classification

  • All hours, utilisation, costs, rates and recovery targets are supplied by the user.
  • Money values use one consistent ex-tax basis.
  • No provider fee, jurisdiction, benchmark or demand forecast is embedded.
  • Raw engine precision is retained until display.

This planner has no current policy-data dependency. Its commercial assumptions are user supplied. Registered family-level regression suites exercise the shared business-logic engine and worked-result reconciliation.

5. Limitations

  • Results depend on the completeness and classification of the entered business records.
  • The planner does not forecast demand, utilisation, supplier terms or project outcomes.
  • This is educational business decision support rather than accounting, tax, legal or financial advice.
  • The two-stage worksheet reconciles entered ordered timing points; it does not forecast certification or collection dates.
  • The planner does not determine statutory payment timing, security-of-payment rights, retention limits or contractual entitlement in any jurisdiction.

This is educational decision support, not tax, accounting, legal or financial advice. Check the treatment of your actual transactions under the rules that apply to your business and seek qualified advice where appropriate.

6. Update and evidence policy

Registered family-level suites test formula invariants and example reconciliation; the release ledger records that coverage without claiming a separate oracle for every line of public copy. There is no official threshold or benchmark to refresh for this planner. Commercial inputs remain user-supplied because they vary by business and contract.

Change history

  1. : Initial public release of the Progress Billing Cash planner and methodology.

Guides to interpret the decision and its assumptions.

Return to the planner