How to create a draft order with Simple Bundles in Shopify
Draft orders in Shopify work the same as placing an order through the online store when it comes to Simple Bundles. The Cart Transform API runs as expected, breaking the bundle down into its child SKUs and removing the parent bundle from the final order.
How bundle breakdown works in draft orders
Simple Bundles 2.0 uses Shopify’s Cart Transform API to process bundle orders. When a draft order is created with a bundle product, the Cart Transform API fires the same way it does during a storefront checkout:
- The parent bundle product is replaced by its child SKUs as individual line items.
- The parent bundle itself is removed from the order; only the child components remain.
- Each child SKU carries its own allocated price based on the bundle total.
- This behavior is identical whether the order comes from the Online Store or POS.
How to place a draft order for a bundle
- In your Shopify Admin, go to Orders and click Create order.
- Search for and add the bundle product to the order.
- Add the customer’s details in the Customer section.
- Apply any discounts or custom shipping rates if needed.
- Click Mark as paid (if payment is already collected) or Send invoice (to collect payment via email).
- Once the order is saved, the Cart Transform API processes the bundle, the parent bundle is replaced by the child SKUs in the final order.
Adding a bundle to an existing order
If a bundle is added to an order that has already been created, the Cart Transform API will no longer apply. Instead, Simple Bundles processes the breakdown using the order editing method.
Here’s how it differs from a new draft order:
| Scenario | Bundle breakdown method |
| New draft order | Cart Transform API. The parent bundle is removed; child SKUs replace it. |
| Bundle added to an existing order via order editing | Order editing method. The parent bundle remains in the order, and child SKUs are added at $0 beneath it. |
When the order editing method is used, the final order will include:
- The parent bundle as a line item carrying the full bundle price.
- The child SKUs listed beneath it at $0.
- This is expected behavior and does not indicate a setup issue.