Multi-Channel Order Routing in NetSuite

When you're selling on Shopify, Amazon, Walmart Marketplace, and wholesale simultaneously, every order that comes in needs to go somewhere. The question isn't whether to fulfill the order—it's which...

13 min read

Disclosure: NetSuiteForge may earn a commission through affiliate links in this article. We only recommend solutions we've personally implemented for ecommerce clients. Our editorial process is independent, and our recommendations are based on hands-on experience.

Multi-Channel Order Routing in NetSuite

When you're selling on Shopify, Amazon, Walmart Marketplace, and wholesale simultaneously, every order that comes in needs to go somewhere. The question isn't whether to fulfill the order—it's which warehouse, which 3PL, or which drop-ship vendor should handle it. Get this routing decision wrong, and you're either shipping from the wrong coast (adding 3 days and $8 in shipping costs) or splitting orders unnecessarily (doubling your packaging and fulfillment costs).

After implementing multi-channel order routing for ecommerce brands ranging from $5M to $100M in revenue, I can tell you that this is the single operational decision that has the biggest impact on your shipping costs and delivery speed. A $30M brand I worked with reduced their average shipping cost by 22% just by implementing proximity-based routing in NetSuite—no changes to carrier contracts, no warehouse moves, just smarter routing logic.

This guide covers how to configure rules-based order routing in NetSuite for multi-channel ecommerce operations, including proximity-based routing, inventory availability routing, and cost optimization strategies.

Key Takeaways

  • Order routing determines which fulfillment location handles each order, directly impacting shipping cost, delivery speed, and customer satisfaction
  • Proximity-based routing reduces shipping costs by 15-25% by fulfilling from the warehouse closest to the customer
  • Inventory availability routing prevents overselling by checking real-time stock before assigning fulfillment locations
  • NetSuite's allocation rules engine supports multi-criteria routing combining proximity, inventory, cost, and channel-specific rules
  • Drop-ship routing adds complexity but enables unlimited catalog expansion without inventory investment

What Is Multi-Channel Order Routing and Why Does It Matter?

Order routing is the process of assigning incoming orders to the optimal fulfillment location. For single-warehouse operations, there's no routing decision—everything ships from one place. But the moment you add a second warehouse, a 3PL partner, or drop-ship vendors, routing becomes critical.

The Multi-Channel Complexity

Each sales channel has its own routing considerations:

Shopify DTC orders: Ship from your own warehouse or 3PL. You control the experience.

Amazon FBA orders: Amazon fulfills from their network. No routing needed for FBA, but FBM (Fulfilled by Merchant) orders need routing like any other channel.

Walmart Marketplace: Strict delivery time requirements. Routing must prioritize speed to meet Walmart's 2-day delivery expectations.

Wholesale/B2B: Larger order sizes, specific carrier requirements, dock delivery schedules. Often route to a different warehouse than DTC.

International orders: Customs, duties, and carrier limitations. May require routing to a specific location with international shipping capabilities.

The Cost of Bad Routing

Poor order routing costs ecommerce brands in multiple ways:

Routing ProblemCost Impact
Shipping from wrong coast+$5-12 per order in additional shipping
Unnecessary order splits+$3-7 per order in extra packaging/handling
Routing to out-of-stock location+2-3 day delay + customer service escalation
Not using drop-ship when availableCarrying inventory you don't need to
Ignoring carrier zone pricingMissing 10-20% savings from zone optimization

For a brand shipping 5,000 orders/month, even $3/order in routing waste adds up to $180,000/year.

How Does Rules-Based Order Allocation Work in NetSuite?

NetSuite's order allocation system assigns fulfillment locations based on configurable rules. The system evaluates each order against your routing criteria and determines the optimal fulfillment path.

Setting Up Allocation Rules

Navigate to Setup → Accounting → Accounting Preferences → Order Management and configure:

  1. Location assignment method: Manual, automatic by rule, or first-available
  2. Default allocation strategy: Single location preferred vs. split fulfillment allowed
  3. Backorder handling: Create backorder, route to alternate location, or hold entire order

Allocation Rule Priority

NetSuite evaluates allocation rules in priority order. A typical ecommerce configuration:

Priority 1: Channel-specific override

  • Amazon FBM orders → Amazon FBM warehouse
  • Wholesale orders → Wholesale distribution center
  • International orders → International fulfillment location

Priority 2: Inventory availability

  • Check if the requested items are in stock at any eligible location
  • If only one location has stock, route there regardless of other criteria
  • If no location has stock, create a backorder or route to the location with the soonest incoming PO

Priority 3: Proximity-based routing

  • Determine the customer's shipping zone
  • Route to the nearest location with available inventory
  • Use zip code ranges or state groupings for zone mapping

Priority 4: Cost optimization

  • If multiple locations qualify after the above rules, route to the lowest-cost option
  • Factor in fulfillment labor cost (varies by location), shipping cost, and packaging cost

Implementing the Rules in NetSuite

NetSuite's native allocation capabilities handle basic routing. For advanced multi-criteria routing, you'll need one of these approaches:

Approach 1: SuiteScript custom allocation Write a SuiteScript 2.0 User Event script that fires on sales order creation:

// Simplified routing logic
function determineLocation(order) {
  // Priority 1: Channel override
  if (order.channel === 'Amazon FBM') return 'AMZ_WAREHOUSE';
  
  // Priority 2: Inventory check
  const locations = getLocationsWithStock(order.items);
  if (locations.length === 1) return locations[0];
  
  // Priority 3: Proximity
  const customerZone = getShippingZone(order.shipZip);
  return getNearestLocation(locations, customerZone);
}

Approach 2: Third-party OMS For complex routing, consider an Order Management System like Fabric (formerly CommonSense Robotics), Kibo, or Deposco that handles routing and pushes allocation decisions to NetSuite.

Approach 3: Middleware routing Use Celigo or a custom middleware layer that intercepts orders, applies routing logic, and sets the location before the order lands in NetSuite.

How Does Proximity-Based Routing Work?

Proximity routing assigns orders to the fulfillment location that's geographically closest to the customer. This minimizes shipping zones (and therefore cost) and reduces transit time.

Setting Up Zip Code Zone Mapping

Create a custom record in NetSuite called "Shipping Zone Map" with fields:

  • Zip code range start
  • Zip code range end
  • Primary fulfillment location
  • Secondary fulfillment location (fallback)
  • Shipping zone number

Example mapping for a brand with East Coast and West Coast warehouses:

Zip Code RangeRegionPrimary LocationSecondary
01000-19999NortheastEast Warehouse (NJ)West Warehouse (NV)
20000-39999SoutheastEast Warehouse (NJ)West Warehouse (NV)
40000-59999MidwestEast Warehouse (NJ)West Warehouse (NV)
60000-69999CentralWest Warehouse (NV)East Warehouse (NJ)
70000-79999South CentralWest Warehouse (NV)East Warehouse (NJ)
80000-99999WestWest Warehouse (NV)East Warehouse (NJ)

The Math Behind Proximity Routing

Carrier pricing is zone-based. A package shipping from New Jersey (Zone 1) to New York (Zone 2) costs significantly less than the same package shipping from Nevada (Zone 8) to New York.

Real example with UPS Ground pricing for a 2lb package:

Origin → DestinationZoneCostTransit Days
NJ → NYZone 2$8.501 day
NV → NYZone 8$16.205 days
Savings from proximity routing$7.70 (47%)4 days faster

Multiply that $7.70 savings across 2,000 East Coast orders per month, and proximity routing saves $185,000/year on shipping alone.

Handling the Midwest Gap

Most two-warehouse setups have a gap in the middle of the country where neither location is clearly optimal. Common strategies:

  1. Split at the Mississippi: Everything east goes to the East warehouse, west goes to West. Simple but not always optimal.
  2. Zone-based calculation: For each zip code, calculate the zone from each warehouse and route to whichever has the lower zone.
  3. Add a third location: A Midwest 3PL (Dallas, Memphis, or Chicago area) to handle central orders. Adds complexity but often pays for itself above 10,000 orders/month.

How Do You Route Orders Based on Inventory Availability?

Proximity routing falls apart when the nearest location is out of stock. Inventory-aware routing checks real-time availability before assigning a location.

Real-Time Inventory Checks

Configure NetSuite to check these inventory fields before routing:

  • Quantity Available: On-hand minus committed (on open sales orders but not yet fulfilled)
  • Quantity on Order: Incoming from purchase orders (useful for routing to locations expecting stock soon)
  • Safety Stock Level: The minimum quantity you want to maintain at each location

Routing logic:

IF nearest_location.quantity_available >= order_quantity
  THEN route to nearest_location
ELSE IF next_nearest_location.quantity_available >= order_quantity
  THEN route to next_nearest_location  
ELSE IF nearest_location.quantity_on_order AND arrival_date <= customer_need_date
  THEN create backorder at nearest_location
ELSE
  split order across locations with partial availability

Preventing Overselling with Allocation Buffers

At high velocity, multiple orders can try to allocate the same inventory simultaneously. Protect against this with:

  1. Reserved inventory buffers: Hold back 5-10% of inventory from available-to-promise calculations
  2. Channel-specific reserves: Reserve a portion of inventory for each channel (e.g., 60% for Shopify DTC, 30% for Amazon FBM, 10% for wholesale)
  3. Real-time inventory commits: When an order is created, immediately reduce available quantity before the fulfillment is created

Split Fulfillment Decisions

Sometimes no single location has all the items in an order. You have two choices:

Option A: Ship from multiple locations (split fulfillment)

  • Pros: Fastest delivery, no waiting for transfers
  • Cons: Multiple shipping charges, multiple packages (worse customer experience)

Option B: Transfer inventory and ship from one location

  • Pros: Single shipment, better customer experience
  • Cons: Adds 1-3 days for the transfer

Decision framework: Split fulfillment makes sense when:

  • The order value is high enough that extra shipping is a small percentage
  • The customer chose expedited shipping
  • The items are in different product categories (customer expects multiple packages anyway)

Consolidate when:

  • Shipping costs would exceed 15% of order value if split
  • The customer chose standard shipping (extra transit time from transfer is acceptable)
  • The items are related (part of the same outfit, system, etc.)

How Do Drop-Ship Vendors Fit Into Order Routing?

Drop-shipping lets you expand your catalog without holding inventory. When an order includes a drop-ship item, NetSuite creates a purchase order to the vendor who ships directly to your customer.

Configuring Drop-Ship Items

  1. On the item record, enable Drop Ship and set the preferred vendor
  2. Configure the vendor's shipping capabilities (carriers, locations they can ship from)
  3. Set the vendor's processing time (critical for setting customer delivery expectations)
  4. Map the vendor's item identifiers (their SKU ≠ your SKU)

Routing Logic for Drop-Ship Items

When a multi-item order contains both stocked and drop-shipped items:

Scenario 1: All items drop-shipped

  • Create PO(s) to vendor(s)
  • Each vendor ships directly to customer
  • Customer may receive multiple packages from different vendors

Scenario 2: Mix of stocked and drop-shipped items

  • Route stocked items to your warehouse per normal routing rules
  • Create PO for drop-shipped items to the vendor
  • Customer receives packages from your warehouse AND the vendor(s)

Scenario 3: Item available both in stock and via drop-ship

  • Check your inventory first
  • If in stock at a proximate location, fulfill from stock (better control, faster)
  • If out of stock, fall back to drop-ship vendor
  • Configure this preference per-item in NetSuite

Drop-Ship Challenges for Ecommerce

Drop-shipping introduces complications:

  • Branded experience: Your vendor's packing slip, not yours. Some vendors support custom packing slips; most don't.
  • Tracking visibility: You depend on the vendor to provide tracking numbers back to you. Some vendors are reliable; many aren't.
  • Return handling: Customer returns a drop-shipped item to you, then you need to return it to the vendor or handle it yourself.
  • Inventory accuracy: Vendor may be out of stock when you route an order to them. Real-time inventory feeds from drop-ship vendors help but are rarely perfect.

How Do You Optimize Routing for Cost?

Beyond proximity and availability, advanced routing considers total fulfillment cost.

Total Cost of Fulfillment Calculation

For each potential routing decision, calculate:

Total Cost = Shipping Cost + Fulfillment Labor + Packaging + Location Overhead
Cost ComponentEast WarehouseWest 3PLDrop-Ship Vendor
Shipping (Zone 3)$9.50$11.20Included in product cost
Fulfillment labor$2.50$4.00 (3PL premium)$0
Packaging$1.20$1.50$0
Overhead allocation$0.80$0$0
Total$14.00$16.70Vendor cost only

Even though the 3PL is closer (lower shipping zone), the higher fulfillment cost makes the East warehouse cheaper overall.

Carrier Selection as Part of Routing

Order routing should include carrier selection:

  • Orders under 1 lb: USPS First Class (cheapest)
  • Orders 1-5 lbs: UPS Ground or USPS Priority (zone-dependent)
  • Orders over 5 lbs: UPS Ground or FedEx Ground
  • Expedited orders: UPS 2-Day or FedEx Express

Configure this in NetSuite's shipping items or integrate with a multi-carrier rate shopping platform (ShipStation, EasyPost, Shippo).

Routing for Profitability

Not all orders deserve the same routing optimization. Consider order profitability:

  • High-value orders ($200+): Optimize for speed and experience. Free shipping absorbs the routing cost.
  • Mid-value orders ($50-200): Balance cost and speed. Standard routing rules apply.
  • Low-value orders ($0-50): Optimize for cost. Route to cheapest fulfillment option even if slower.

Frequently Asked Questions

How many fulfillment locations can NetSuite support?

NetSuite has no practical limit on locations. I've seen implementations with 50+ locations (combination of warehouses, 3PLs, retail stores, and drop-ship vendors). The constraint is routing rule complexity—more locations mean more rules and more edge cases.

Can I route orders differently by sales channel?

Yes, and you should. Amazon FBM orders have strict delivery time requirements that may override cost optimization. Wholesale orders often require specific carriers or delivery windows. DTC orders give you the most routing flexibility. Configure channel-specific routing rules in your allocation logic.

What happens when all locations are out of stock?

Configure your backorder workflow: hold the sales order as "Pending Fulfillment," create a notification for your purchasing team, and optionally email the customer with an updated delivery estimate. For drop-ship items, check if an alternate vendor can supply the item.

How do I handle routing for pre-orders?

Pre-orders should be excluded from standard routing until the inventory arrives. Create a "Pre-Order" status that holds the order until the associated purchase order is received, then route normally based on where the inventory landed.

Should I use NetSuite's native routing or a third-party OMS?

Use NetSuite's native capabilities if you have 1-3 fulfillment locations with straightforward routing rules. Consider a third-party OMS if you have 4+ locations, complex split-fulfillment logic, or need real-time inventory visibility across distributed locations. OMS platforms cost $2,000-10,000/month depending on order volume.

How do I measure routing effectiveness?

Track these KPIs in NetSuite saved searches: average shipping cost per order by location, average transit time by routing decision, split fulfillment rate (lower is better), backorder rate by location, and routing override rate (manual changes to automated routing).

Ready to Optimize Your Order Routing?

Multi-channel order routing is one of the highest-ROI improvements you can make to your ecommerce operations. The right routing logic reduces shipping costs, speeds up delivery, and prevents the inventory misallocation that leads to stockouts and disappointed customers.

But routing is only as good as your inventory data. If your real-time inventory in NetSuite isn't accurate, no routing algorithm will save you. Start with inventory accuracy, then layer on sophisticated routing rules.

Take our free NetSuite readiness assessment → to evaluate your current order routing process and identify where smarter allocation can save you money and delight your customers.

Related Articles