DOCS/3PL FULFILLMENT

How orders reach your 3PL.

Your fulfillment provider needs zero special handling. Orders contain component SKUs as ordinary line items the moment the order is created, not rewritten afterwards, not hidden inside a bundle line.

Checkout with a bundle expanded into component line items with real SKUs
01 / CHECKOUT EXPANSION

What the order looks like

A customer buys "Hair Care Set" (2× shampoo + 1× conditioner, bundle price $45):

LINE ITEMSKUQTYPRICEATTRIBUTES
ShampooSHAMPOO-2502$12.50_bundle_parent: HAIR-SET
ConditionerCOND-2501$20.00_bundle_parent: HAIR-SET

The fulfillment order (what your 3PL's Shopify integration imports) lists the same component lines. Inventory decrements on the components, never on a phantom bundle SKU.

Why this matters: the failure mode we designed against

Most bundle apps work at the presentation layer: the order contains one "Bundle" line, and either your 3PL can't map it to pickable items, or the app edits the order after creation to swap in components. Post-order editing races your 3PL's import: if they pull the order before the rewrite lands, they ship the wrong thing. Peak-season order volume makes the race worse exactly when mistakes are most expensive.

Solid Bundles uses Shopify's Cart Transform API: the expansion happens inside checkout, so there is no moment where the order exists without component SKUs. There is nothing to race.

Provider notes

Verify it yourself

App → Verification runs real test carts and shows resulting totals per market. For a full dry run: place a test order (Bogus Gateway on a dev store, or a 100% discount code) and inspect what your 3PL portal imports.

YOUR 3PL WILL THANK YOUFLAT $29 // 14-DAY TRIAL

Forward one test order to your 3PL before going live. If their portal shows real component SKUs, the integration is done. Questions about your setup? Email solidbundles@crescano.com.

View on the App Store