Docs
Open to Buy (OTB)

Open to Buy (OTB)

Plan purchasing budgets with a six-month Open to Buy view—using manual targets or live forecast and inventory data from your shop.

Open to Buy (OTB)

Open to Buy answers: “Given what I expect to sell, what I want on hand, and what I’ve already ordered, how much can I still spend on inventory?”
It’s a cash and buying budget view—not the same as line-level Suggested Restock, but it complements it when you plan purchases at the dollar level.

Where to find it: Dashboard → Open to Buy (/dashboard/open-to-buy). You must have a shop selected in the header.


What OTB is for

Use OTB when you want to…OTB is not…
See remaining buy budget after open POsA SKU-by-SKU reorder list (use Suggested Restock for that)
Model 6 months of planned sales vs. target stockA financial accounting system—figures are planning aids at cost
Align buying with growth % and weeks-of-stock targetsGuaranteed to match your ERP; validate numbers against your books

Data sources: Manual vs. forecast

You can run the planner in two modes (toggle in the UI). The page opens in forecast mode when a shop is selected.

Manual

You enter:

  • Average weekly sales (at cost) — your expected sell-through per week in dollars.
  • Planned growth (% per month) — compounds each month in the 6-month plan (e.g. 5 = +5% per month vs. the prior month’s planned sales).
  • Target weeks of stock — how many weeks of sales (at the planned weekly rate) you want represented as inventory value at month end.

Beginning inventory value in manual mode is approximated as:

average weekly sales × target weeks of stock

(so it stays consistent with your targets when you don’t load live stock).

Forecast data (from your shop)

In forecast mode (default), the app loads product-level rows from the same reorder / requirements pipeline used for replenishment (/api/reorder-requirements). It then aggregates:

  • Weekly demand at cost — sum over SKUs of (average daily demand × unit cost) × 7.
  • Current inventory value — sum of available × cost.
  • On order at cost — from per-SKU open PO quantity × cost where the API provides it.

Use this when you want OTB anchored to live velocity and stock, not static weekly estimates.


How the six-month plan is calculated

The planner builds six forward months from today.

  • Weeks per month uses 4.33 (average), not 4.
  • Each month applies your growth multiplier: (1 + growth%/100) ^ monthIndex on the base weekly sales rate.
  • Planned sales (month)weekly sales × 4.33 × growth multiplier for that month.
  • Target end-of-month inventory (EOM)weekly sales × growth multiplier × target weeks of stock (how much inventory value you want on hand at month end).

Traditional OTB-style purchase need:

Planned purchases = Planned sales + Planned EOM − Beginning inventory (BOM)

  • Month 1 uses your current beginning inventory (from manual assumption or loaded inventory value).
  • Later months set the next month’s BOM to the previous month’s planned EOM (simplified roll-forward).

Open to Buy for the month:

Open to Buy = Planned purchases − Scheduled receipts (on order) for that month

  • On order is open PO dollars assigned to the calendar month of each PO’s estimated arrival (relative to the plan start month). That models multi-period receipts: each month’s OTB is reduced by inbound inventory you already committed for that period.
  • POs with missing or invalid arrival dates are counted in month 1 (current plan month). Arrivals before the plan start month are also rolled into month 1.
  • Arrivals after the sixth plan month are rolled into month 6 so all open commitment stays visible in the horizon.
  • If the shop has no purchase order records but forecast mode is on, the reorder API total on order is applied to month 1 only (same as the old single-bucket behavior).
  • Open PO value uses orders whose status is treated as open (not cancelled/draft/delivered, etc.), and values remaining line quantity (pro-rated dollars) plus a share of cost lines (e.g. shipping) proportional to open lines—aligned with how open PO exposure is reasoned about elsewhere in the app.

Totals at the top of the page show 6-month sums for planned sales, planned purchases, and OTB, plus current month OTB for quick reference.


Tips

  • Reconcile with finance — OTB uses cost and your rules for open POs; your accounting system may classify commitments differently.
  • After big promotions — manual weekly sales may need a one-off adjustment; forecast mode follows recent demand.
  • Use with Suggested Restock — OTB tells you how much you can spend; Suggested Restock helps with what to buy per SKU.

Troubleshooting

“Please select a shop”

Choose a store from the shop selector. OTB is per shop.

On Order looks wrong

Confirm POs have status, line quantities, and estimated arrival set correctly; cancelled/delivered orders should not count as open. When purchase orders exist for the shop, OTB uses those POs and buckets value by estimated arrival month. If there are no PO records, forecast mode falls back to the reorder API aggregate in month 1; manual mode with no POs shows no on-order until you create POs.

Forecast toggle fails to load

Ensure reorder/requirements data is available for the shop (integration and permissions). Retry or switch back to manual inputs temporarily.