Here is the conclusion up front: routing orders across three pick tiers comes down to one rule — split every order line by its pick unit (full pallet, case, or each) and release each piece to its own pick zone. The rule does not live on paper; it lives in your WMS release logic. Every SKU gets exactly one primary pick face, and the moment an order line is created, the system knows which tier owns it. Get the routing right and pickers never cross zones. Get it wrong and peak season turns into a disaster.

If you do not route, the each-pick zone dies first

Late 2023, a 3PL in Guangdong exporting small appliances: 8,000+ SKUs, 6,000 orders a day in peak. The owner insisted on one combined pick area — "pickers can grab everything in one pass with a cart." I pushed back three times before go-live and lost. In the first month, the each-pick faces drowned in case orders: one each-picker was opening cases 200+ times a day, and we measured an extra 25 seconds per case opened (measured in that project, for reference only). That is 83 minutes a day. Per-person UPH dropped 30% against our measured baseline.

The fix was routing. Two weeks to rebuild the pick-face layout: full-pallet orders pulled straight from pallet positions, case orders into the case-pick zone, and only true each-lines left in the each zone. One full week after the change, each-zone UPH was back to baseline and audit error rates had halved. I have seen this exact failure three times, same script in three warehouses: "let us keep it simple, no routing," and the first peak month blows up.

May 2024, a maternal-and-baby e-commerce DC in Suzhou (4,000 orders a day, 3,000 SKUs) went live with three-tier picking from day one. Side-by-side measurements against its old non-routed area (measured in that project, for reference only):

| Metric | Non-routed area | Three-tier routed area | | Each-zone UPH | 85 lines/hour | 132 lines/hour | | Picker daily walking | 9.2 km | 6.1 km | | Avg pick time, case orders | 4.5 min/order | 1.8 min/order |

Put numbers like these in front of an owner and the "should we route" debate usually ends.

Routing orders across three pick tiers starts with a decision table

Step one is not system configuration — it is data. Export three months of order lines (covering at least one peak), convert each line quantity into pallets / cases / eaches, and plot the distribution. There is no universal threshold, but the routing logic is fixed:

  1. Line quantity ≥ 1 full pallet → pallet tier. Forklift pulls the full pallet; the pallet position is the pick face.
  2. X cases ≤ line quantity < 1 pallet → case tier. Case picking, no case-breaking (X is typically 4–6 cases — a sample value; measure it against your own case-opening cost).
  3. Line quantity < X cases → each tier.

Case picking in a warehouse: a picker pulling sealed cases from flow racks

Step two: cross your ABC analysis with pick units. For A SKUs, full-pallet and case orders usually exceed 70% of lines (sample value from one project) — an each-pick face for those SKUs is decoration. For C SKUs, over 90% of lines are each-picks; giving them case positions wastes rack space. The three-tier routing decision table looks like this:

| SKU profile × order pattern | Route to | | Class A, mostly full-pallet orders | Pallet tier primary, case tier secondary, no each face | | Class B, mostly case orders | Case tier primary, each face for odd quantities only | | Class C, long-tail eaches | Each tier only — no case or pallet faces at all | | New / promo SKUs | Each tier first; re-tier after one month of data |

Note the last row: new and promotional SKUs never go straight into the pallet or case tier. I have watched too many warehouses stuff promo SKUs into the case zone, then spend weeks moving empty cartons around after the promo ends.

Four steps to configure the routing in your WMS

Step 1: add three fields to the item master — primary pick tier (P / C / E), the case-break threshold per SKU, and a downgrade flag (whether the system may automatically drop one tier when the primary face is empty).

Step 2: make release logic split lines by unit. If one order line spans units (say, 1 pallet plus 3 cases), the WMS must split it into two task lines — "1 pallet to the pallet tier, 3 cases to the case tier." A WMS that cannot split lines has no business doing three-tier picking. Ask this question to death during selection.

Step 3: one SKU, one primary pick face. The case-zone face and the each-zone face are two physical locations, but only one may be flagged primary in the system; the other is an overflow face used only when the primary is empty. Flag both as primary and release logic will not know which one to listen to.

Step 4: configure replenishment together with routing. Each zone gets forward replenishment sized at half a day of demand plus safety stock; the case tier gets full-pallet replenishment. Routing without replenishment is half a job — the real payoff of three-tier picking is not faster picking, it is decoupling picking from replenishment. An each zone running dry is what actually kills you in peak.

Go-live night checklist, copy it directly:

  1. Sample 100 SKUs and verify each primary pick face matches its physical location.
  2. Run 50 historical orders through release and compare the routing result against manual judgment line by line — below 95% agreement, no go-live.
  3. Every each-zone face stocked for at least the next morning's demand.
  4. Test the downgrade path end to end: pallet face empty, does the order fall through to the case tier automatically?
  5. Print the routing table and tape it to the wall — if the system goes down, people can still work from the table.

Three mistakes I have seen three times

Mistake one: two primary pick faces for one SKU. A client flagged the same SKU as primary in both the case zone and the each zone, with hardcoded either-or logic in release. Half the orders never got picked and rotted in the exception pool. One SKU, one primary pick face. No exceptions.

Mistake two: replenishment did not follow the routing. The each zone carried half a day of stock, ran dry at 2 PM in peak, and the whole building's pickers stood around waiting for the replenishment forklift. Routing configured, replenishment forgotten — that is a wasted project.

Mistake three: nobody re-tiered after the big promo. The order mix shifted (case orders from 20% to 45%, sample value from one project) while the thresholds stayed put — the case zone overflowed and the each zone sat idle. My rule: re-run the order-structure analysis in the first week after every major promo, and review thresholds quarterly.

One counterintuitive call to close: people assume SKUs with the fewest units belong in the each tier. Wrong. The each tier is for SKUs with many order lines in small quantities. The awkward middle child of the three tiers is the case tier — any swing in order mix either floods it or leaves it idle. My recommendation: pallet and each tiers are mandatory; the case tier is optional. If your warehouse runs fewer than 300 case lines a day (sample threshold), cut the case tier and halve your complexity.

Something you can do tonight: export three months of order lines and plot the full-pallet / case / each split. If any tier is under 10%, it is probably decoration — cut it. Routing rules are allowed to be simple. What they cannot be is pretend-precise.

By Lin Xiao, WMS Implementation Consultant