How to avoid double shipping charges on mixed cart orders

When customers purchase both preorder and in-stock items in the same cart, they may be charged shipping twice. This isn’t a bug - it’s how Shopify calculates shipping.

This guide explains why it happens and how to prevent it.


Overview


Double shipping occurs when Shopify splits an order into multiple fulfillment groups and applies shipping to each group separately.

For example, if your shipping rate is $5 and two fulfillment groups are created, the customer may be charged $10.



STOQ provides settings to help ensure customers are only charged once.


Prerequisites


Before making changes, ensure:


  • You have an active preorder offer in STOQ
  • You know which delivery type your preorder uses: As soon as possible, Specific date, After a specific number of days, Not sure
  • You have access to Shopify Admin > Settings > Shipping and delivery


Why Double Shipping Happens


Shopify calculates shipping per fulfillment group, not per order.


A mixed cart (preorder + in-stock) can create:


  1. In-stock group: Ships immediately and Status: Unfulfilled
  2. Preorder group: Ships later and status would be Scheduled or On hold so each group gets its own shipping charge.


When this usually happens


  • Specific date
  • After specific number of days


These create a Scheduled fulfillment, separate from in-stock items.


Double shipping only happens for mixed carts. Orders with only preorder or only in-stock items are unaffected.


How to Prevent Double Shipping


Choose the option that best fits your workflow:


Option 1: Use "As soon as possible"


All items stay in one fulfillment group, so shipping is charged once.

Steps:


  1. Go to STOQ → Preorders
  2. Open your offer
  3. Go to "Shipping"
  4. Select "Same shipping timeline for all products"
  5. Set fulfillment status as "Unfulfilled"
  6. Save


Trade-off: You must manually control when preorder items are fulfilled.



Option 2: Enable Split Fulfillments


Customers are charged once at checkout, but orders are split after checkout.

Steps:


  1. Go to STOQ → Preorders
  2. Open your offer
  3. Go to "Shipping"
  4. Set fulfillment status as "Unfulfilled"
  5. Under Fulfillment options, enable "Split fulfillments" for preorders
  6. Save



Notes: Works only with "Unfulfilled" fulfillment setup and keeps operations separate without affecting checkout



Option 3: Use "Hold all fulfillments"


All items go into a single On hold group → one shipping charge.

Steps:


  1. Go to STOQ → Preorders
  2. Open your offer
  3. Go to Shipping
  4. Set fulfillment status as "Unfulfilled"
  5. Under Fulfillment options, enable "**Hold all fulfillments" for preorders. **This setup ensures the customer pays a single shipping charge at checkout, and the entire order would be on hold (in-stock and Preorder) so it can be fulfilled together when the preorder inventory arrives.
  6. Save



Trade-off: In-stock items won’t ship immediately—you must manually release them.



Option 4: Check Shopify Shipping Profiles


Different shipping profiles = separate charges (always).

Steps:


  1. Go to Shopify Admin → Settings → Shipping and delivery
  2. Ensure preorder and in-stock products are in the same profile



How to Verify the Fix


After making changes:


  1. Add one preorder item and one in-stock item to the cart
  2. Proceed to checkout
  3. Review the shipping step
  4. Confirm only one shipping charge appears
  5. (Optional) Place a test order to confirm. Please refer to this document on how you can place a test order - Test your preorder



Quick Comparison


Option

Separate Fulfillment Handling

In-stock Ships Immediately

One Shipping Fee

As soon as possible

No

Yes

Yes

Split fulfillments

Yes (after checkout)

Yes

Yes

Hold all fulfillments

Yes (all held)

No

Yes

Same shipping profile

Depends

Depends

Yes




Known Limitations


  • Scheduled delivery types always create separate fulfillment groups
  • Split fulfillments only works with As soon as possible
  • Hold all fulfillments delays in-stock shipping
  • Shipping profiles override STOQ settings
  • Past double charges must be refunded manually



Troubleshooting


Issue

Cause

Fix

Still seeing double shipping

Changes not saved

Save and retest checkout

Only certain products affected

Different shipping profiles

Move to same profile

Split option missing

Wrong delivery type

Switch to "As soon as possible"

Two shipping lines in order

Post-checkout split

Second line is $0 (no extra charge)

In-stock items not shipping

Hold enabled

Release manually in Shopify

Still double shipping

Scheduled delivery type

Switch to ASAP or use split

Can't enable both options

Conflict

Choose one



FAQs


Q: Is double shipping a bug in STOQ?

A: No. Double shipping is caused by how Shopify calculates shipping for orders with multiple fulfillment groups. When preorder and in-stock items are in different fulfillment groups, Shopify charges shipping for each group separately. STOQ provides options to work around this behavior.


Q: Which delivery type avoids double shipping by default?

A: As soon as possible avoids double shipping because all items go into the same "Unfulfilled" fulfillment group. The Specific date and After a specific number of days delivery types create a "Scheduled" fulfillment group, which Shopify treats as separate from in-stock items.


Q: Will customers get a refund if they were already charged double shipping?

A: You will need to manually refund the extra shipping charge through Shopify admin. Go to the order, click Refund, and refund the duplicate shipping amount. STOQ does not handle shipping refunds automatically.


Q: Does this affect orders with only preorder items?

A: No. Double shipping only occurs on mixed cart orders where both preorder and in-stock items are present. Orders containing only preorder items or only in-stock items have a single fulfillment group and only one shipping charge.


Q: Can I use "Hold all fulfillments" to prevent double shipping?

A: Yes. Hold all fulfillments places all items (including in-stock items) into a single "On hold" fulfillment group, which means Shopify charges shipping once. However, this also prevents in-stock items from shipping immediately, so you will need to manually release them.


Q: Can I use split fulfillments with a scheduled delivery type?

A: No. Split fulfillments is only available with the As soon as possible delivery type. If you are using a scheduled delivery type, consider switching to "As soon as possible" and enabling split fulfillments instead.


Updated on: 27/04/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!