Should You Build a Custom Order Routing Rule on Plus?
Building a custom order routing rule wins for Plus merchants whose warehouses are ranked by data Shopify never sees: daily capacity, stock rotation age, or a priority score. Only stores on the Shopify Plus plan can use custom order routing location rules, and the build runs $25,000–$60,000 (Deploi estimate, illustrative). Buy Order Fulfillment Guru from $9.95/month (verified Sep 2026) when product, region, or vendor rules are enough.
Your profile — see how the verdict shifts
- Confidence
- High — Checked the App Store's 3PL, inventory and inventory-ERP categories and fetched the Order Fulfillment Guru and ShipBob listings directly on 2026-09-05. Order Fulfillment Guru (4.8★, 113 reviews) is the closest fit: rule-based routing of each order to a location or supplier, from $9.95/month with usage fees described up to 2,000 orders a month (verified Sep 2026). ShipBob routes inside its own warehouses, not yours. Shopify's developer docs state only that custom order routing location rules are Plus-only; the earlier by-request wording is no longer on the page.
- Reference scenario
- $20M–$100M revenue · Shopify Plus · three own distribution centers · agency dev bench
- As of
- September 2026
Decision at a Glance
| Your profile | Verdict | Why |
|---|---|---|
| One warehouse or one 3PL, any plan | WAIT | There is nothing to route. Shopify's default rules pick the single location, and a 3PL such as ShipBob routes inside its own network where Shopify sees one location. |
| 2–3 locations, rules by product, region or vendor | BUY | Order Fulfillment Guru's rules screen covers this from $9.95/month plus usage fees (verified Sep 2026). No code, live this week. |
| Several own DCs routed on capacity, rotation age or priority (Plus) | BUILD | The rule depends on data Shopify never holds. A Location Rule Function reads it from location metafields and decides before the fulfillment order exists. |
| An OMS or ERP already owns the routing decision (Plus) | CUSTOMIZE | Keep the OMS as the brain. A thin Function reads the OMS's chosen location from a metafield so Shopify agrees with the warehouse on the first pass instead of after a reassignment. |
What Order Routing Location Rule Function Actually Drives
| Outcome | Impact | How it works |
|---|---|---|
| Operational efficiency | High | Every order lands at the warehouse with the stock, the capacity and the oldest lot on the first pass, which removes the daily manual reassignment queue. |
| Revenue — indirect | Medium | Fewer split shipments and shorter final legs cut carrier spend per order, the margin line that pays for routing work. |
| Customer experience | Medium | One box on time from the nearest stocked location beats two boxes on two days. |
| Data & insight | Medium | Owning the routing decision and its inputs gives you a per-order record of why each warehouse was chosen, usable for capacity planning. |
Spend ceiling: Size the spend to the cost of mis-routed orders: split shipments, expedited transfers and manual reassignment hours. If that adds up to less than the build, buy the app or leave the default rules alone.
What buying enables (top apps)
- + Rules by product, destination, tag or vendor live this week with vendor-maintained compatibility
- + A free plan for receiving orders from other Shopify stores and exporting inventory (verified Sep 2026)
- + No dev bench time spent on routing plumbing
What building additionally unlocks
- + Routing on data Shopify never sees: remaining daily capacity, lot age, a priority score from your ERP
- + A decision made at routing time inside Shopify, before any connector pulls the fulfillment order
- + An owned audit trail of every routing decision for capacity planning
Find Your Verdict in 3 Questions
Is your store on Shopify Plus?
Yes: Go to question 2.
No: Your verdict: BUY — custom order routing location rules are Plus-only, so a rules app or your 3PL's own routing is the available path.
Do your routing rules depend on data Shopify doesn't hold, such as daily capacity, rotation age or a priority score?
Yes: Your verdict: BUILD — a Location Rule Function reading location metafields is the only path that decides at routing time on that data.
No: Go to question 3.
Does one 3PL own every warehouse the order could ship from?
Yes: Your verdict: WAIT — the 3PL routes inside its own network and Shopify sees a single location, so there is nothing to build or buy.
No: Your verdict: BUY — Order Fulfillment Guru's product, region and vendor rules cover the case from $9.95/month plus usage fees (verified Sep 2026).
The TCC Scorecard — 12 Dimensions
TCC — Total Cost of Capability: what it actually costs to have this capability over three years, whichever way you get it. Each dimension is scored 0–5 for both paths. How we score →
| Dimension | Buy | Build | Why |
|---|---|---|---|
| Cost | |||
| Acquisition & implementation | The app configures in a day; the Function is a 6–10 week build covering a custom app, a metafield sync and a test-store run (Deploi estimate, illustrative). | ||
| Recurring fees | Order Fulfillment Guru lists $9.95–$29.95/month plus usage fees per 200 orders (verified Sep 2026); the build carries upkeep and no subscription. | ||
| Maintenance & upgrades | Functions ride quarterly API versions and a compiled binary you own; the vendor absorbs that work on the app path. | ||
| Switching & exit | Rules are configuration on both paths. Leaving the app means re-keying rules; deleting the Function leaves your metafields and sync in place. | ||
| Risk | |||
| Vendor risk | A 113-review vendor carries the app path; the Function has no vendor beyond Shopify itself. | ||
| Security & compliance surface | The app reads every order and location through API scopes; the Function runs inside Shopify with no external call and no order data leaving the platform. | ||
| Platform-deprecation exposure | Functions are Shopify's sanctioned extensibility layer, but API versions cycle and an unattended Function eventually needs a rebuild; the vendor tracks that for app users. | ||
| Value | |||
| Fit to requirement | Product, region and vendor rules fit the app; capacity, rotation age and priority scores exist only in your data, which the Function reads from location metafields. | ||
| Time to market | Live this week versus roughly two months of build and testing. | ||
| Performance & scale | The Function decides at routing time inside Shopify; an app that reassigns fulfillment orders after creation races your 3PL connector at volume. | ||
| Data ownership & AI-readiness | The routing decision and the metafields behind it stay in your store and your warehouse data, ready for capacity planning and forecasting. | ||
| Focus & opportunity cost | A 6–10 week build is a real slice of a dev bench; spend it only when mis-routed orders cost more than the build. | ||
The App Landscape
| App | Status | Pricing | Best for |
|---|---|---|---|
| Order Fulfillment Guru | Live — 4.8★, 113 reviews; Built for Shopify. Routes and re-assigns orders that already exist across locations, partners and other Shopify stores, with advanced routing rules on the Professional plan. Acts after placement, so it corrects assignment rather than preventing an infeasible delivery promise at checkout. | Free plan (receive orders from other Shopify stores, export products and inventory); Starter $9.95/month; Essential $19.95/month (adds ShipStation); Professional $29.95/month (advanced order-routing rules, multi-store sending); 14-day free trial on paid plans (verified Sep 2026) | Rules by product, destination or vendor without writing code |
| ShipBob Fulfillment | Live — 4.3★, 276 reviews. The 3PL-decides alternative: ShipBob routes inside its own warehouse network, so the locations being chosen are ShipBob's, not yours. | Free to install; billed for orders shipped, storage, receiving and kitting projects; quote-based, full pricing on shipbob.com | Handing warehousing and the routing decision to one provider |
| Order Routing Location Rule Function (custom app) | Build lane — Plus-only. A Function that ranks your own locations for each fulfillment order using metafields your WMS or ERP writes: capacity left today, rotation age, priority score. Decides at routing time, before the fulfillment order exists. | $25,000–$60,000 one-time plus upkeep (Deploi estimate, illustrative) | Several own DCs where the right warehouse depends on your data |
The Build Path
- Location Rule Function on location metafields: The Function receives the candidate locations for a fulfillment order and ranks them by metafields such as remaining daily capacity, oldest-lot age or a priority score. Shopify applies the ranking before the fulfillment order is created.
- Metafield writer from your WMS or ERP: A scheduled job pushes capacity and rotation data into location metafields, because Functions read metafields rather than calling your systems; Shopify states that network access for Functions needs to be enabled by Shopify.
- Fallback and observability: When a metafield is stale the Function returns Shopify's default order so nothing stalls, and function run logs feed a daily report of where orders went and why.
- Effort band
- $25,000–$60,000 build (Deploi estimate, illustrative); lands in the $25–75K contact-form band
- Typical timeline
- 6–10 weeks (Deploi estimate, illustrative), including the metafield sync and a test-store run against real order history
- Maintenance, honestly
- ~15–20% of build cost per year, roughly $4,000–$12,000/yr (Deploi estimate, illustrative): quarterly API version bumps, the metafield sync, and rule changes as warehouses open or close. No subscription line.
- What you own — and what you take on
- You own: the routing logic, the capacity and rotation data model, and the audit trail of every decision. You take on: keeping the sync honest, since a stale metafield routes orders wrong at scale.
3-Year Total Cost of Capability
| Buy (app path) | Build (custom path) | |
|---|---|---|
| Year 0 (setup) | $500–$2,000 (setup and rule configuration) | $25,000–$60,000 |
| Years 1–3 (recurring) | $3,600–$12,000 | $12,000–$36,000 (maintenance) |
| 3-year total | ≈$4,100–$14,000 | ≈$37,000–$96,000 |
- † All figures illustrative samples for the reference scenario — not quotes, not verified pricing.
- † App path: Order Fulfillment Guru Professional at $29.95/month plus usage fees, held to roughly $100–$330/month as volume grows.
- † Build path: one Function, one sync job, three-year horizon with upkeep at 15–20% of build cost.
What the Sticker Price Hides
On the buy path
- — Usage fees per 200 orders stack on the base plan, and the listing describes them only up to 2,000 orders a month (verified Sep 2026)
- — An app that reassigns after order creation can fight your 3PL or ERP connector for the same fulfillment order
- — Capacity and rotation logic never fits a product-or-region rules screen, so the hard cases stay manual
On the build path
- — A stale capacity metafield routes orders wrong at scale until someone notices; the sync job is the real product
- — Quarterly API versions mean a Function left alone for two years needs a rebuild, not a patch
- — ~$4,000–$12,000/yr upkeep (Deploi estimate, illustrative)
What Merchants Say
Merchants running several warehouses describe the default routing splitting one order across locations or sending it to a warehouse that is out of capacity, then reassigning fulfillment orders by hand.
Rules apps that move a fulfillment order after creation collide with a 3PL connector that already accepted it, so the order ships from the wrong place or ships twice.
If You Change Your Mind Later
If you bought and outgrow it
Document your rule set before you leave, because the rules live in the app's configuration and not in Shopify. Orders already routed stay routed, nothing historical is lost, and Shopify's default routing resumes the day you uninstall.
If you built and want out
Delete the custom app and Shopify's default routing takes over immediately. The location metafields and the sync job survive and keep feeding reporting, which puts the exit cost close to zero and leaves the data as the asset you keep.
When This Answer Changes
We're watching for:
- ▸ Shopify adding capacity- or metafield-based conditions to native order routing rules (none as of September 2026)
- ▸ Network access for Functions becoming generally available, which would let a rule query your WMS at routing time
- ▸ Order Fulfillment Guru publishing pricing above 2,000 orders a month
Verdict change log:
No changes since first publication (September 2026).
Common Questions
Do you have to request access to custom order routing rules on Shopify Plus?
No. Shopify's developer documentation states only that custom order routing location rules are available to stores on the Shopify Plus plan, checked 2026-09-05. The earlier by-request wording no longer appears on the page. Your two requirements are the Plus plan and a custom app that carries the Function, built and deployed with Shopify CLI. Non-Plus stores cannot install custom apps that contain Shopify Function APIs.
Can an Order Routing Location Rule Function read live warehouse capacity?
Yes, through location metafields rather than a live call to your WMS. Shopify states that network access for Functions needs to be enabled by Shopify and is not available on development stores. The reliable pattern is a sync job writing capacity, rotation age or a priority score into location metafields every few minutes. Function input is capped at 128 kB, so keep the per-location payload to a handful of fields.
What does a routing app cost compared with building the Function?
Order Fulfillment Guru lists Starter at $9.95/month, Essential at $19.95/month and Professional at $29.95/month, each with 100 orders included and $10 to $30 per additional 200 orders up to 2,000 (verified Sep 2026). The custom Function runs $25,000–$60,000 one-time plus 15–20% a year in upkeep (Deploi estimate, illustrative). The app wins on price every year; the build wins only when the rule itself needs your data.
Your Next Steps
If you're going with BUILD(matches your selected profile)
- Pull 90 days of fulfillment orders and count how many were reassigned by hand or split across locations
- Write the ranking rule in plain language first: capacity, rotation age, priority, and the tie-breaker
- Define the location metafields and the sync cadence from your WMS or ERP, with a staleness flag
- Ship the Function to a staging store and replay logged orders against it before production
- Report daily on routing decisions and overrides; the override count is the ROI number
If you're going with BUY
- List every routing rule you need and check each against the app's product, region and vendor conditions
- Confirm pricing above 2,000 orders a month on the current listing before the trial ends
- Test the app against your 3PL or ERP connector on a staging store to catch double-assignment
- Diary a re-decision when you add a warehouse or start routing on capacity
Official Docs & Sources
- Build order routing apps — shopify.dev
- Shopify Functions overview — shopify.dev
- Shipping labels in Shopify (Shopify Shipping label buying) — Shopify Help Center
Official documentation linked for verification — our verdicts and estimates are our own.
Related Decisions
Build or Buy Delivery Customization Functions on Plus?
Hiding, renaming or sorting shipping options is a $3.99–$7.99/month app decision on any plan (verified Sep 2026); a custom delivery function needs Plus.
Should You Build or Buy Fulfillment Constraints on Shopify Plus?
Restricting which locations can fulfill a cart at checkout time needs the Plus-only Fulfillment Constraints Function; every app found routes orders after placement.
Should You Build Real-Time Pickup Eligibility on Plus?
Pickup eligibility beyond stock on hand needs the Plus-only Local Pickup Delivery Option Generator Function; the native toggle and pickup apps cover the rest.
Should You Build or Buy a Local-Pickup Handling Fee?
Charging a pickup-specific handling fee inside checkout needs the Plus-only Local Pickup Charges Function; surcharge apps price carts, not the pickup option.
Should You Build or Buy a Returns Portal on Shopify?
A returns portal splits by return economics: WAIT on native for simple flows, BUY exchange-first in the mid-market, BUILD at 3PL scale.
Ready to route orders on your own data?
A Location Rule Function is a bounded Plus build: one Function, one sync job, and every order lands where your warehouse data says it should.
Contact us todayVerdict scored for the reference scenario above. Estimates are not quotes; app pricing carries its verification date and gets re-verified quarterly. Full scoring anchors: see the TCC methodology.
Read how we score these decisions (the TCC Framework). No affiliate links, no paid placement — no app vendor pays to appear here.