> For the complete documentation index, see [llms.txt](https://crushsuite.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://crushsuite.gitbook.io/docs/clubs/managing-releases/inventory-and-allocation.md).

# Inventory & Allocation

CrushSuite reserves inventory for a release ahead of billing so stock isn't oversold in the gap between allocation and shipping.

#### When inventory is reserved and released

Inventory is reserved in two passes. As members customize, whatever they select above the default box — optional products, extra quantity — is reserved the moment they confirm. Then, on the release's **Inventory Allocation Date**, CrushSuite reserves the default products for every remaining member. Because the **Customization Deadline** always falls before the **Inventory Allocation Date**, the customization reserves land first.

Both passes use your club's chosen inventory location: the **Inventory Location** you set in the club's **Advanced** section — **Clubs** → \[Club Name] → **Settings**. If you never picked one, CrushSuite falls back to your primary fulfillment location, which may not be the one you actually ship this club from. Worth checking before your first release.

Members who join between the allocation date and the **Signup Cutoff Date** are topped up automatically. After bulk order creation, CrushSuite reserves default boxes for the new members only.

Reserved inventory is released back to available stock just before billing starts on the **Release Date**, so Shopify's own stock counts reflect what's actually shipping.

{% hint style="warning" %}
Skipping a release never affects that member's reserved inventory. A member who skips before the **Inventory Allocation Date** still has a full default box reserved on their behalf, and a member who skips afterward keeps theirs held. Reserved stock only returns to available when billing runs, for the release as a whole.
{% endhint %}

***

#### When there isn't enough stock

CrushSuite reserves whatever's available and records the shortfall as a deficit. Nothing fails, nothing is flagged, and billing still runs — a deficit is a number, not an error, and nothing will warn you at billing time.

Check the **Inventory & allocation** card on the release. Each wine has an **Est. needed**, an **On hand**, and a **Projected** column reading **Covered** or **Short**. If a wine is short, restock it in Shopify or edit the release before the **Release Date** — that column is the only place a shortfall surfaces.

***

#### If you edit products after inventory is reserved

CrushSuite clears the release's reservation records and reserves again for the new product set. The quantities already moved to reserved in Shopify stay reserved — permanently. Billing can't return them, because the records that tracked them no longer exist.

If you have to change products after the **Inventory Allocation Date**, correct the affected quantities yourself in **Shopify Admin** → Products.

***

#### Billing Inventory Policy

Each club has a **Billing Inventory Policy**, set in the same **Advanced** section:

| Option                                     | Behavior                                                                                                                        |
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
| **Respect inventory policy — recommended** | Billing follows each variant's own inventory policy in Shopify — an out-of-stock variant with tracking on can block that order. |
| **Allow overselling**                      | Billing proceeds regardless of stock on hand.                                                                                   |

If the pre-billing release of reserved inventory itself fails, CrushSuite falls back to **Allow overselling** for that release automatically, so a failed release step doesn't block billing — and flags the failure to you as an inventory error.

***

#### Inventory Error

When that happens, the club's current release card shows a critical banner headed **Inventory Error** with the underlying message and a **Mark as Resolved** button. You'll find it on the club **Overview**.

The release's own page shows the same error message as a red banner at the top, and the **Inventory & allocation** card badges **Error**. **Mark as Resolved** lives on the club's current release card only.

{% hint style="warning" %}
**Mark as Resolved** clears the alert so it stops appearing across your dashboards. It does not re-count your stock — if the quantities matter for this release, verify them in **Shopify Admin** → Products before you continue.
{% endhint %}

{% hint style="info" %}
If a release shows deficits, an inventory error, or stock that doesn't match what you expect, see [Inventory Errors](https://crushsuite.gitbook.io/docs/clubs/troubleshooting/inventory-errors).
{% endhint %}
