> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://stoqapp.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Why customers are charged double shipping on preorders (and how to fix it)

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 **fulfillment status** your preorder uses: Unfulfilled, Scheduled, on hold
* 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 "Unfulfilled"

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.

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_8hp9oy.png)

### 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

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_8etqcx.png)

| 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

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_ii7de2.png)

**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**

![](https://storage.crisp.chat/users/helpdesk/website/-/f/6/9/b/f69b1402a211d800/image_1t1du2i.png)

### 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](https://help.stoqapp.com/en/article/test-your-preorder-offer-x5bvtn/)


### Quick Comparison

| Option | Separate Fulfillment Handling | In-stock Ships Immediately | One Shipping Fee |
| ---- |
| Unfulfilled | 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 fulfillment status always create separate fulfillment groups
* Split fulfillments only works with **Unfulfilled fulfillment status**
* 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 fulfilment status type | Switch to "Unfulfilled" |
| 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 fulfilment status type | Switch to Unfulfilled 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 fulfilment status type avoids double shipping by default?**
**A:** **Unfulfilled** avoids double shipping because all items go into the same "Unfulfilled" fulfillment group. The **Scheduled fulfillment status** 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 fulfilment status?**
**A:** No. Split fulfillments is only available with the **u**nfulfilled. If you are using a scheduled fulfilment status, consider switching to "Unfulfilled" and enabling split fulfillments instead.
