Methodology
Open-to-buy Planner methodology
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
grossNeed = planned sales + markdowns + ending inventory โ beginning inventoryWhere
- plannedSales
- Planned sales (currency units/planning period on selected valuation basis)Source: User decision
- plannedMarkdowns
- Planned markdowns (currency units/planning period on selected valuation basis)Source: User decision
- plannedEndingInventory
- Planned ending inventory (currency units at planning-period end on selected valuation basis)Source: User decision
- beginningInventory
- Beginning inventory (currency units at planning-period start on selected valuation basis)Source: Business record
- grossNeed
- Gross inventory need (currency units, ex tax)Source: Calculated output
netOpenToBuy = gross need โ on-order commitments + cancellationsWhere
- onOrderCommitments
- On-order commitments (currency units committed for the planning period on selected valuation basis)Source: Business record
- cancellations
- Confirmed cancellations (currency units cancelled from planning-period commitments on selected valuation basis)Source: Business record
- grossNeed
- Gross inventory need (currency units, ex tax)Source: Calculated output
- netOpenToBuy
- Net open-to-buy (currency units, ex tax)Source: Calculated output
overcommittedAmount = maximum of zero and negative net open-to-buyWhere
- netOpenToBuy
- Net open-to-buy (currency units, ex tax)Source: Calculated output
- overcommittedAmount
- Overcommitted amount (currency units, ex tax)Source: Calculated output
- overcommitted
- Commitment status (commitment status)Source: Calculated output
overcommitted = net open-to-buy is below zeroWhere
- netOpenToBuy
- Net open-to-buy (currency units, ex tax)Source: Calculated output
- overcommitted
- Commitment status (commitment status)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 labelled rows below are formatted directly from the exact shared engine using the visible default inputs.
- Valuation basis
- 0 inventory valuation-basis selection
- Planned sales
- 100,000 currency units/planning period on selected valuation basis
- Planned markdowns
- 5,000 currency units/planning period on selected valuation basis
- Planned ending inventory
- 30,000 currency units at planning-period end on selected valuation basis
- Beginning inventory
- 25,000 currency units at planning-period start on selected valuation basis
- On-order commitments
- 10,000 currency units committed for the planning period on selected valuation basis
- Confirmed cancellations
- 0 currency units cancelled from planning-period commitments on selected valuation basis
Calculation and outputs
Gross inventory need
grossNeed = planned sales + markdowns + ending inventory โ beginning inventory- Planned sales
- 100,000 currency units/planning period on selected valuation basis
- Planned markdowns
- 5,000 currency units/planning period on selected valuation basis
- Planned ending inventory
- 30,000 currency units at planning-period end on selected valuation basis
- Beginning inventory
- 25,000 currency units at planning-period start on selected valuation basis
Engine result: 110,000 currency units, ex tax
Net open-to-buy
netOpenToBuy = gross need โ on-order commitments + cancellations- On-order commitments
- 10,000 currency units committed for the planning period on selected valuation basis
- Confirmed cancellations
- 0 currency units cancelled from planning-period commitments on selected valuation basis
- Gross inventory need
- 110,000 currency units, ex tax
Engine result: 100,000 currency units, ex tax
Overcommitted amount
overcommittedAmount = maximum of zero and negative net open-to-buy- Net open-to-buy
- 100,000 currency units, ex tax
Engine result: 0 currency units, ex tax
Commitment status
overcommitted = net open-to-buy is below zero- Net open-to-buy
- 100,000 currency units, ex tax
Engine result: No commitment status
Example
The labelled rows below are formatted directly from the exact shared engine using the visible default inputs.
- Gross inventory need
- 110,000 currency units
- Net open-to-buy
- 100,000 currency units
- Overcommitted amount
- 0 currency units
- Commitment status
- Open capacity remains
The net open-to-buy is 100,000 currency units.
Interpretation
A negative net open-to-buy means entered commitments exceed the merchandise need; it is not extra buying capacity.
3. Validation and boundary checks
- All inputs must be finite and remain inside the visible validation boundaries.
- Whole-unit and whole-day fields reject fractional values.
- Percentages remain inside the closed range from 0% to 100%.
- Invalid denominators return an explicit unavailable result or fail closed; NaN and Infinity are never displayed.
- All six plan values must use the declared retail or cost basis; the engine performs no basis conversion.
- Valuation basis minimum
basis โฅ 0 inventory valuation-basis selectionโ A lower value is rejected before calculation.- Valuation basis maximum
basis โค 1 inventory valuation-basis selectionโ A higher value is rejected before calculation.- Planned sales minimum
plannedSales โฅ 0 currency units/planning period on selected valuation basisโ A lower value is rejected before calculation.- Planned sales maximum
plannedSales โค 10,000,000 currency units/planning period on selected valuation basisโ A higher value is rejected before calculation.- Planned markdowns minimum
plannedMarkdowns โฅ 0 currency units/planning period on selected valuation basisโ A lower value is rejected before calculation.- Planned markdowns maximum
plannedMarkdowns โค 10,000,000 currency units/planning period on selected valuation basisโ A higher value is rejected before calculation.- Planned ending inventory minimum
plannedEndingInventory โฅ 0 currency units at planning-period end on selected valuation basisโ A lower value is rejected before calculation.- Planned ending inventory maximum
plannedEndingInventory โค 10,000,000 currency units at planning-period end on selected valuation basisโ A higher value is rejected before calculation.- Beginning inventory minimum
beginningInventory โฅ 0 currency units at planning-period start on selected valuation basisโ A lower value is rejected before calculation.- Beginning inventory maximum
beginningInventory โค 10,000,000 currency units at planning-period start on selected valuation basisโ A higher value is rejected before calculation.- On-order commitments minimum
onOrderCommitments โฅ 0 currency units committed for the planning period on selected valuation basisโ A lower value is rejected before calculation.- On-order commitments maximum
onOrderCommitments โค 10,000,000 currency units committed for the planning period on selected valuation basisโ A higher value is rejected before calculation.- Confirmed cancellations minimum
cancellations โฅ 0 currency units cancelled from planning-period commitments on selected valuation basisโ A lower value is rejected before calculation.- Confirmed cancellations maximum
cancellations โค 10,000,000 currency units cancelled from planning-period commitments on selected valuation basisโ A higher value is rejected before calculation.
4. Assumptions and source classification
- All inventory, sales, cost, target, capacity and cash values are supplied by the user.
- Money inputs use one consistent ex-tax currency basis and records refer to the same cohort or planning period.
- The engine retains raw precision; display formatting never feeds back into calculation.
- No jurisdiction, provider fee, industry benchmark or current policy value is embedded.
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
- The planner does not convert between cost and retail valuation bases.
- Planned sales, markdowns and ending inventory are user scenarios, not forecasts.
- A positive open-to-buy amount does not prove supplier availability, cash availability or storage capacity.
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
- : Initial public release of the Open-to-buy planner and methodology.
Related reading
Guides to interpret the decision and its assumptions.
- How to Plan Stock Purchases Before a Seasonal Campaign
Reconcile stock, demand assumptions, supplier dates, buying budget and downside cash before committing to a seasonal purchase.
Read guide - Why Inventory Growth Can Create a Cash Crisis
Map supplier payment, stock commitment, sell-through and customer receipt dates to expose the inventory funding gap.
Read guide