Skip to main content
Before configuring anything in Charlie, it’s worth thinking through your routing strategy on paper. The decisions you make here will shape how you set up locations, capacity, safety stock, and routing rules.

1. Which location fulfills first?

When multiple locations have stock for the same order, one has to win. This is the core of your routing strategy. Questions to answer:
  • Do you want to always ship from your distribution center when it has stock, using stores only as fallback?
  • Or do you want to route to the closest location to the customer to minimize shipping time and cost?
  • Should the location with the most stock win, to balance inventory levels across the network?
  • Do different order types need different logic, for example, high value orders from VIP customers always to flagship ?

2. What are your hard limits?

Some requirements aren’t preferences — they’re rules that must always apply. Questions to answer:
  • Are there products that can never ship from certain locations? (fragile items, oversized products, age-restricted goods)
  • Are there customer segments that must always route a specific way?
  • Are there locations that should never fulfill online orders at all?
These become fulfillment constraints in Charlie — hard blocks that remove a location from consideration entirely. Use them sparingly: a constraint that blocks the wrong location can prevent checkout for your customers.
If you’re unsure whether something should be a hard constraint or just a preference, start with a preference. You can always tighten it later.

3. How much can each location handle?

Every location has a practical limit on how many orders it can fulfill per day — whether that’s a staffing constraint, an operational SLA, or a 3PL contract limit. Questions to answer:
  • How many ship-from-store orders can each store process per day without affecting the in-store experience?
  • Does that number vary by day of the week (e.g., fewer on weekends)?
  • What should happen when a location hits its limit — should overflow go elsewhere, or should the location stop receiving orders entirely?
Setting realistic capacity limits per location prevents your busiest stores from getting overwhelmed and helps distribute order volume across your network.

4. How much inventory do you need to protect?

Stores hold inventory for multiple purposes — online orders, walk-in customers, floor displays… Without a safety stock strategy, online orders can drain store shelves faster than they can be replenished. Questions to answer:
  • How many units should each store keep on hand for walk-in customers?
  • Are there products that need a higher buffer (bestsellers, floor display items)?
  • Do warehouses and stores need different reserve levels?
  • Should the buffer be a fixed number of units, or a percentage of available stock?
  • When a location reaches its safety stock threshold, should it stop receiving online orders entirely, or just be deprioritized in favor of other locations?
When set to block orders, Charlie excludes the location from fulfillment once the threshold is reached, ensuring your reserves are never touched by online orders.
Setting safety stock to block orders affects more than just order routing. This can impact other tools and surfaces that rely on native available Shopify inventory — including email flows, search results, and product listing page merchandising.

5. What happens when things don’t go to plan?

Even well-configured routing breaks down in the real world. A store runs out of stock after an order is assigned, a location closes unexpectedly, or a fulfillment deadline is missed. Your strategy needs to account for these cases before they happen. Questions to answer:
  • If a location accepts an order but fails to fulfill it, where should it be rerouted?
  • How quickly do you want rerouting to kick in — immediately on cancellation, or after a defined window?
  • Should rerouted orders follow the same routing rules as new orders, or go to a specific fallback location?
  • Are there order types that should never be rerouted (e.g., same-day delivery with a hard cutoff)?
Charlie can automatically reassign unfulfilled orders based on your existing routing rules. Defining a clear rerouting policy means your team doesn’t have to make judgment calls under pressure.

6. How will you attribute revenue across your network?

When a store fulfills an online order, who gets the credit — the store, the warehouse, or the channel? Without a clear attribution model, routing decisions and location performance become impossible to evaluate fairly. Questions to answer:
  • Should a store that fulfills an online order receive revenue credit for it?
  • How do you handle split shipments — if two locations fulfill the same order, how is revenue divided?
  • Do you want to distinguish between orders initiated online but fulfilled from a physical store versus orders fulfilled from a central warehouse?
  • Will store managers be evaluated on fulfilled online orders, and if so, does your attribution model reflect that?
Defining revenue attribution before you configure routing prevents misaligned incentives — stores that feel penalized for fulfilling online orders will find ways to avoid it.

Your routing strategy at a glance

Use this as a checklist before you start configuring Charlie.
DecisionQuestion to answer
Fulfillment priorityWhen multiple locations have stock, which wins?
Hard constraintsWhich products, customers, carts or locations have non-negotiable rules?
Capacity per locationHow many orders per day can each location handle?
Safety stockHow much inventory should each location keep in reserve?
Product eligibilityAre any products excluded from certain locations?
ReroutingWhat happens when a location fails to fulfill an assigned order?
Revenue attributionHow is credit allocated when a store or warehouse fulfills an online order?
Once you have answers to these questions, you’re ready to configure your routing rules in Charlie.

Order Routing Overview

How routing rules and constraints work together

Capacity

Set daily order limits per location

Safety Stock

Protect inventory across your network

Fulfillment Constraints

Block locations from fulfilling specific orders
Last modified on May 19, 2026