> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/how-tos/operations-and-unit-economics/build-an-inventory-timing-model.md).

# Build an Inventory Timing Model

{% hint style="info" %}
Before you start

* A Cost of Goods model that links units to direct costs.
* A sense of how far in advance you purchase inventory relative to sales.
* An understanding of Assets, COGS and payment delays in Model Reef.

If needed, read:

* **Build a Cost of Goods Model**
* **Build a Working Capital Model**
  {% endhint %}

## Build an Inventory Timing Model

Model Reef does not implement formal inventory accounting with stock ledgers and cost layering, but you can approximate inventory-like behaviour using timing rules, COGS, and asset variables. This guide explains how to represent key inventory dynamics such as buying ahead of sales and tying up working capital.

### What you will build

* A timing structure that captures:
  * When you purchase inventory.
  * When you sell goods and recognise COGS.
  * When you pay suppliers.
* Optional asset variables that represent stock or prepaid balances at a high level.

{% stepper %}
{% step %}

### Map your operational inventory cycle

Clarify your cycle in plain language, for example:

* Purchase inventory one month before sale.
* Pay suppliers 30 days after receiving goods.
* Aim to hold 60 days of inventory on hand.

These time gaps drive the working capital and cash effects you want to capture.
{% endstep %}

{% step %}

### Approximate inventory purchases using timing

You can treat cost flows in two ways:

Option A: Simple delay on COGS

* Set COGS accrual timing to match sales (as usual).
* Apply a delay to represent payment terms only.
* This captures only payables timing, not pre-purchasing of inventory.

Option B: Use an Asset variable for pre-purchased inventory

* Create an Asset variable called `Inventory Balance` or similar.
* Set it up so that:
  * It increases when you purchase inventory (for example based on expected sales in future periods).
  * It decreases when inventory is consumed and transferred to COGS.
* Implement this with drivers that describe:
  * Target inventory days or months.
  * The relationship between future COGS and current purchases.

This is a higher level representation, not a detailed stock ledger, but it captures the main balance sheet and cash timing effects.
{% endstep %}

{% step %}

### Link inventory purchases to cash and payables

Whether you model pre-purchasing explicitly or not, define when suppliers are paid:

* For any Asset or COGS variables representing purchases, apply payment delays that match supplier terms.
* This will create:
  * Accounts Payable when purchases are accrued but not paid.
  * Cash outflows when payments occur.

Combined with the inventory Asset variable, this approximates the classic inventory and payables pattern.
{% endstep %}

{% step %}

### Monitor approximate inventory levels

To ensure inventory representation is reasonable:

* Create charts or custom series showing the `Inventory Balance` Asset over time.
* Compare it to COGS:
  * Inventory days on hand can be approximated from Inventory divided by COGS.
* Look for:
  * Inventory building when growth is high.
  * Inventory reducing if you intentionally run down stock.

Adjust drivers as needed to keep the pattern realistic.
{% endstep %}

{% step %}

### Understand working capital impact

Inventory ties up cash and affects working capital.

* Open the **Cash Waterfall** and look at:
  * Change in Net Working Capital.
  * COGS cash outflows.
* When you buy inventory earlier than sales, you should see:
  * Earlier cash outflows.
  * A larger working capital drag versus a pure services or just-in-time model.

This helps quantify the cost of carrying inventory.
{% endstep %}

{% step %}

### Test alternative inventory strategies with model copies

To explore different inventory policies, create separate models, for example:

* `Model - Inventory - High Stock`
* `Model - Inventory - Lean Stock`

In each model:

* Adjust drivers that control how many days or months of inventory you target.
* Change payment terms and purchasing schedules.

Compare cash, working capital and valuation to understand trade-offs between service levels and capital efficiency.
{% endstep %}
{% endstepper %}

### Check your work

* Inventory Asset balances are in a realistic range relative to COGS.
* Payables and cashflows reflect purchase timing and payment terms.
* Working capital and cash burden from inventory feels plausible.
* The approach is documented as an approximation, not full inventory accounting.

<details>

<summary>Troubleshooting</summary>

**Inventory appears to grow without bound**\
Check your purchase logic and ensure there is a link to consumption or clear target levels.

**Cash impact is much larger than expected**\
Review both the amount and timing of purchases and payments. Small timing errors can have large cash effects in growth phases.

**Too complex for the decision at hand**\
Simplify by using delays on COGS only and avoid explicit inventory Assets if a high level approximation is sufficient.

</details>

### Related guides

* [Inventory Purchases & Reorders](/use-cases/ecommerce-and-d2c-brands/inventory-purchases-and-reorders.md)
* [Timing Engine Overview](/help/drivers-variables-and-timing/timing-engine-overview.md)
* [Delay Rules](/help/drivers-variables-and-timing/delay-rules.md)
* [Timing Modal](/syntax/understanding-the-interface/timing-modal.md)
