Skip to main content

Multi-origin shipping: preventing doubled charges on split orders

Why orders shipping from more than one location can be charged shipping twice - and how PDQ prevents it

When a cart's items ship from more than one place - multiple warehouses, a 3PL/app-fulfilled item, or a subscription item shipping separately from one-time items - Shopify treats each as a separate shipment, asks PDQ for a rate for each, and adds them together. The shopper can end up charged shipping two (or more) times (e.g. $7 → $14). This is standard Shopify multi-location behaviour, not a PDQ error.

The fix - the Multi-origin setting

In Settings → Checkout, the setting "Prevent multiplying shipping costs for carts identified as multi-origin" (also called Multi origin) tells PDQ to recognize split carts and apportion your single rate across the legs instead of charging it per leg — so the total stays close to your intended rate.

When to turn it on vs. off

  • Turn it on if you fulfil from multiple locations, use 3PL/app fulfilment, or split subscription + one-time items — and you're seeing doubled shipping.

  • Leave it off if you ship everything from one location with no split fulfilment - you don't need the apportioning logic, and rates are simpler and more predictable without it.

Trade-offs when it's on

  • Rounding: the rate is divided across legs and each leg is rounded to whole cents, so some values add a penny (e.g. $5.00 on a 3-way split → $5.01). Use rates that divide cleanly, like $4.98 / $19.98.

  • Free items dilute the split: the rate is apportioned across all items in the cart, including free ones (e.g. a free subscription item), so paid items may not carry the full rate.

  • Advanced: to price split carts precisely, create a method with the rule Origin location · is · Multi origin - it applies only when an order splits, so you can give split orders penny-clean or full rates.

⚠️ Important: this reduces, but doesn't fully eliminate, duplicate charges

The setting only works when PDQ can correctly identify a cart as multi-origin at the moment rates are calculated - and it won't catch every case. The biggest gap is express wallets (Apple Pay, Google Pay, Shop Pay):

  • Express wallets send only a partial address at rate time (ZIP, city, state, country - no street or name); the full address arrives only after payment. With incomplete data, PDQ may not recognize a split cart, so the anti-multiplying logic may not apply.

  • PDQ's short-lived rate cache can also mismatch express-wallet requests, returning a per-leg or stale rate.

So even with the setting on, a split cart paid via an express wallet can still show a doubled or incorrect shipping charge. This is a Shopify / Apple / Google platform limitation (confirmed with Shopify Support), not a PDQ bug, and no setting fully removes it. If it persists on wallet orders, your PDQ contact can tune the rate-cache behaviour to reduce mismatches. See "Apple Pay & Shop Pay: why shipping rates can look different."

📌 Because the right setup depends on your fulfilment model and rates, review this with your PDQ contact before enabling it.

Related articles

Did this answer your question?