We currently run Shopify + NetSuite with two 3PL FCs, and split shipments are hovering around 18% of orders; target is under 8% before Q2. I’m looking for a practical resource — SOP, config guide, or tool — that helps set up reservation/ATP and wave rules to keep orders with a single FC without overstocking; bonus if it handles preorder buffers. If you’ve got a doc, playbook, or a vendor rec that scaled past 10k orders/day, I’d appreciate a pointer.
We cut splits from 18% to 7% on Shopify + NetSuite with two FCs by turning on Supply Allocation + Dated Commitments, reserving to a single “home” FC at order create, and only allowing cross-FC in a second wave — , default location priority was spraying lines. > tool — that helps set up reservation/ATP and wave rules to keep orders with a single FC without overstocking; bonus Agree — what moved the needle was ATP per FC with nightly rebalancing off inbound POs and a about 12% preorder buffer so NetSuite doesn’t promise the last units. If you can’t enable Supply Allocation, Extensiv (Skubana) routing rules were a decent stopgap to get under.
One thing that moved the needle for us on Shopify + NetSuite with two FCs was a short “aging queue” at order create: hold 10–15 minutes, score each order for a single-FC fill threshold (we used ≥90% lines/qty), auto-assign that FC, and only then allow multi-FC if nothing qualifies — got us under 8% before Q2. Caveat: it only works if your 3PL inventory feeds are near real-time; we enforced it with a NetSuite saved search + routing rules in Pipe17: https://support.pipe17.com/hc/en-us/articles/360060512033-Order-Routing-Rules.
Skip per-node ATP: sell from a single ‘network’ location in Shopify and do allocation in NetSuite at wave, biasing to one node unless a backorder threshold trips. Use safety stock by channel plus future PO dates as your preorder buffer so the router won’t crack orders to chase a few stray units. If you need a config starting point, Celigo’s Shopify–NetSuite bundle has a decent routing playbook you can adapt: https://www.celigo.com/solutions/shopify-netsuite-integration/ — just watch oversell risk if your sync cadence is slow.
Quick win that worked for us: tag a ‘primary warehouse’ at order create and hold about 12 minutes while a micro‑rebalancer checks if ≥98% can ship from that site — if not, it flips before release (like a short boarding hold). For preorders, we use a 4‑day ‘promise fence’ so ATP ignores near‑term inbound unless velocity‑based safety stock is met; building on @amelia_k88’s point, I can share the SOP and saved‑search configs if helpful?