Skip to main content
Inventory rules automatically prioritize locations based on how much stock they have. Locations with more available inventory for the ordered products are ranked higher, helping reduce split shipments and balance stock across your network.
This is a “set it and forget it” rule. Once enabled, it automatically ranks locations by available stock—no configuration needed.

How inventory rules work

When a customer places an order, Charlie checks the sellable inventory at each location for the ordered products. Locations with more stock get higher priority.

What is sellable inventory?

Sellable inventory is the stock actually available for sale, calculated as:
Sellable = Available inventory - Safety stock
This ensures safety stock reserves are respected when ranking locations.
Configure safety stock rules to protect minimum inventory levels at each location.

Why use inventory rules

Reduce split shipments

By preferring locations with more stock, orders are more likely to be fulfilled from a single location.

Balance inventory

Naturally draws down high-stock locations first, helping balance inventory across your network.

Improve fulfillment speed

Locations with more stock can typically fulfill faster without waiting for replenishment.

No maintenance required

Rankings update automatically as inventory levels change—no manual configuration needed.

Enable inventory rules

1

Access order routing settings

Go to Charlie → Settings → Order routing or Shopify → Settings → Shipping and delivery → Order routing.
2

Add the Inventory Rules rule

Find Charlie’s Inventory Rules and add it to your routing strategy.
3

Enable the rule

Toggle the rule to Enabled. That’s it—no additional configuration needed.
Status toggle to enable the inventory rule
Inventory rules require Charlie’s inventory sync to be active. Make sure you’ve configured inventory settings in the Charlie app.

How ranking works

Single product orders

For orders with one product, locations are ranked by their sellable quantity for that specific variant:
LocationSellable inventoryRank
Warehouse A150 units1 (highest)
Warehouse B80 units2
Store Paris25 units3
Store Lyon10 units4 (lowest)

Multi-product orders

For orders with multiple products, Charlie calculates the total sellable inventory across all ordered items at each location: Example order: 2x Product A + 1x Product B
LocationProduct AProduct BTotalRank
Warehouse A100501501
Warehouse B60401002
Store Paris2010303

Tie-breaking

When multiple locations have the same total inventory, they receive the same rank. Shopify then uses its default logic to choose between them.

Combining with other rules

Inventory rules work best when combined with other routing rules:

With Ranked Location Groups

Use Ranked Groups as a primary filter, then Inventory Rules to optimize within groups:
  1. Ranked Location Groups: Warehouses (Group 1) → Stores (Group 2)
  2. Inventory Rules: Among warehouses, prefer those with most stock
Result: Orders go to warehouses first, and among warehouses, the one with most stock is preferred.

With Customer Rules

Route customer segments to specific location types, then optimize by inventory:
  1. Customer Rules: B2B customers → Prefer warehouses
  2. Inventory Rules: Among preferred locations, use the one with most stock
Result: B2B orders go to the warehouse with the most available inventory.

With Capacity Rules

Balance inventory optimization with operational capacity:
  1. Inventory Rules: Prefer locations with most stock
  2. Capacity Rules: Deprioritize locations at capacity
Result: Orders prefer high-stock locations, but avoid overloading busy ones.

Example scenarios

Reduce split shipments

Problem: Orders frequently ship from multiple locations, increasing shipping costs. Solution: Enable Inventory Rules to prefer locations that can fulfill the complete order. How it helps: A location with 50 units of Product A and 30 units of Product B ranks higher than one with 100 units of A but 0 units of B—making complete fulfillment more likely.

Balance warehouse stock

Problem: One warehouse always runs low while another accumulates excess inventory. Solution: Enable Inventory Rules to naturally draw down high-stock locations first. How it helps: The warehouse with 500 units gets orders until it drops below the other warehouse’s 300 units. Stock levels naturally balance over time.

Optimize for fulfillment speed

Problem: Some locations frequently go out of stock mid-fulfillment, causing delays. Solution: Enable Inventory Rules to prefer locations with comfortable stock levels. How it helps: Locations with more inventory can fulfill without risk of stockouts during the fulfillment process.

Best practices

Combine with location groups

Use Ranked Groups to define location preferences, then Inventory Rules to optimize within those groups.

Configure safety stock

Set up safety stock rules to ensure the sellable inventory calculation respects your minimum reserves.

Keep inventory synced

Ensure Charlie’s inventory sync is running to maintain accurate stock data for ranking.

Monitor balance over time

Check if inventory is balancing as expected across locations after enabling the rule.

Troubleshooting

Check:
  1. Is the rule enabled?
  2. Is Charlie’s inventory sync active and up to date?
  3. Are there other routing rules with higher priority overriding inventory rankings?
  4. Are there constraint rules blocking the high-stock location?
  5. Is safety stock reducing the sellable quantity below other locations?
Check:
  1. Go to Charlie → Settings → Inventory and verify sync status
  2. Check when the last sync occurred
  3. Trigger a manual sync if needed
Inventory Rules prefer locations with more stock, but can’t guarantee single-location fulfillment if:
  • No single location has all products in stock
  • Other rules override inventory-based ranking
  • Constraint rules limit eligible locations
Consider adding Fulfillment Constraints to enforce single-location fulfillment for specific scenarios.