Fulfillment

FBA, FBM, 3PL or Dropship? A Decision Framework for Order Routing

A practical framework for routing orders across FBA, FBM, 3PLs and dropship suppliers using cost-to-serve, delivery promise and a rules engine.

Once a brand sells on more than one channel and holds stock in more than one place, every order raises a question: where should this ship from? Answering it by habit (“Amazon orders go to FBA, everything else goes to the warehouse”) leaves money and delivery speed on the table.

This framework helps you decide routing deliberately and encode those decisions in rules your order management system can execute.

Know your fulfillment options

Each option has a distinct cost structure, level of control and set of constraints.

Option Who holds stock Strengths Constraints
FBA Amazon fulfillment centers Prime eligibility, Amazon handles customer service and returns for Amazon orders Storage and fulfillment fees, inbound prep rules, capacity limits, less control
FBM (merchant-fulfilled) Your warehouse Full control, flexible packaging, lower cost for some item profiles You own delivery performance metrics and carrier management
3PL Third-party warehouse Scalable labor and space, multiple regional nodes Per-order and storage fees, integration dependency, variable data latency
Dropship Supplier or manufacturer No inventory investment, wide assortment Less control over speed and packaging, supplier data quality risk
Amazon Multi-Channel Fulfillment (MCF) Amazon fulfillment centers Uses FBA inventory for Shopify, Walmart, eBay and website orders Separate fee schedule, marketplace policy considerations for packaging and carriers

Most brands use several of these at once. The routing question is about allocating each order to the best eligible option.

Build a cost-to-serve model

Routing decisions should be grounded in fully loaded cost per order, not just the shipping label. For each node and order profile, estimate:

  • Pick, pack and handling fees (per order and per unit)
  • Packaging materials
  • Postage or carrier cost by weight, dimensions and destination zone
  • Storage cost attributable to the unit, including long-term storage exposure
  • Inbound freight to get the unit to that node
  • Returns handling cost multiplied by the expected return rate for that product
  • Marketplace fee differences tied to fulfillment method
  • Supplier dropship fees where applicable

Dimensional weight and zone distance usually drive the biggest differences. A bulky item shipped from a single coastal warehouse to the opposite coast may cost far more than the same item shipped from a regional 3PL node.

Account for the cost of not routing there

Two indirect costs belong in the model:

  • Opportunity cost of stock position. Shipping a Shopify order from FBA stock via MCF may be cheap today but can cause an FBA stockout that costs Prime sales tomorrow.
  • Aging inventory. Routing orders toward a node with slow-moving stock can reduce storage fees and aged inventory surcharges.

Honor the delivery promise

Cost is only half the decision. Each channel shows the customer a delivery promise, and missing it has consequences: lower conversion, account health issues, or loss of badges such as Seller Fulfilled Prime or fast-shipping tags.

For each order, the router should know:

  1. The promised delivery date or ship-by date from the channel.
  2. Each node’s cutoff time and whether the order arrived before it.
  3. Transit time from each node to the destination by carrier service level.
  4. Node capacity for the day, since a warehouse at its limit cannot ship on time regardless of cost.

A clean rule: filter to nodes that can meet the promise, then choose the lowest cost among them. Only fall back to a node that misses the promise when no eligible node exists, and flag those orders.

Use Multi-Channel Fulfillment thoughtfully

MCF lets you fulfill non-Amazon orders from inventory you already hold in FBA. It works well when:

  • FBA holds deep stock and other nodes are low.
  • You do not operate a warehouse near the customer.
  • Order volumes on other channels are too small to justify stocking a separate node.

Guardrails to add:

  • Reserve an FBA floor so MCF orders never drain stock needed for Amazon sales.
  • Check marketplace policies. Some marketplaces restrict Amazon-branded packaging or specific carriers on their orders. MCF offers unbranded packaging options, but confirm current rules for each channel you route through it.
  • Map tracking correctly. Pass carrier and tracking data back to the originating channel promptly to protect valid-tracking and on-time metrics.

Handle split shipments

Multi-line orders often cannot ship complete from one node. Options include:

  • Ship complete from one node that holds everything, even if it costs more per unit.
  • Split across nodes to meet the delivery promise, accepting extra shipping cost.
  • Hold and consolidate when the promise allows a short wait for a transfer or receipt.
  • Split between owned stock and dropship when a supplier carries the missing item.

Compare the total cost of each option against the promise. Splits add label cost and can confuse customers, so set a policy (for example, split only when no single node can meet the promise, or when savings exceed a threshold) and communicate multiple tracking numbers clearly. Some channels also have specific rules on how partial shipments must be reported.

Design the rules engine

A maintainable router separates eligibility, scoring and overrides.

1. Eligibility filters

Remove nodes that cannot fulfill the order:

  • Insufficient available-to-promise quantity for the lines
  • Channel restrictions (for example, Amazon Prime orders on FBA offers must ship from FBA)
  • Product restrictions (hazmat, oversized, temperature control)
  • Destination restrictions (PO boxes, APO/FPO, international)
  • Node cutoffs and capacity already consumed

2. Scoring

Score each eligible node, or node combination for splits, on:

  • Estimated cost-to-serve
  • Probability of meeting the delivery promise
  • Inventory health impact (stock cover remaining, aging stock relief)

Use weighted scores you can explain to operations, not an opaque formula.

3. Overrides and priority rules

Let the business force outcomes when needed: VIP customers, promotional events, supplier outages, or a warehouse closure. Every override should have an owner and an expiry date.

4. Logging

Record the eligible nodes, scores and chosen route for each order. When a routing decision is questioned, the log answers why.

Keep rules in configuration, not code, so operations can adjust thresholds without a deployment. Test changes against a sample of recent orders before activating them.

Track the right KPIs

Measure routing outcomes by node, channel and SKU class:

  • Cost-to-serve per order and per unit, estimated versus actual
  • On-time ship rate and on-time delivery rate
  • Split shipment rate and average shipments per order
  • Fallback rate: orders routed to a node that could not meet the promise
  • Cancellation rate due to stock or node issues
  • Dropship supplier fill rate and acknowledgment time
  • Stock cover at each node after routing, especially FBA
  • Valid tracking rate by channel

Review these regularly and tune rules based on what changed, not on isolated complaints.

How Audaxim AI helps

Audaxim AI connects marketplaces, NetSuite, warehouses, 3PLs, FBA and dropship suppliers so orders can be routed by configurable rules for cost, promise and stock position. We implement eligibility filters, MCF guardrails, split logic and tracking sync, along with the reporting needed to measure routing performance.


  • FBA
  • FBM
  • 3PL
  • Dropshipping
  • Multi-Channel Fulfillment
  • Order Routing

Ready when you are

See your operations transformed in 30 minutes

Book a free, no-pressure walkthrough with an integration specialist. Bring your channels, your ERP and your biggest bottleneck.

Email our team
  • No credit card
  • No commitment
  • Reply within one business day