Warehouse Operations

How do I kit Shopify bundles in the warehouse without slowing pick-pack?

Assembling bundles on the warehouse floor without slowing down pick and pack.

Last updated September 16, 2026

Do not assemble gift sets on the pick path. A picker who builds the box at A-12 while holding a tote of singles has already lost the walk. Choose pre-kit, pick-to-kit, or on-the-fly, then publish buildable quantity, not a made-up kit on-hand.

Publish buildable quantity

Buildable is the MIN() of each component divided by the recipe, at the station that will assemble. If a set is one candle, one lid, and one box and you have 80 candles, 60 lids, and 90 boxes, you can sell 60 sets. That math is the constraint for every method. Publish it. If you publish a fake kit count of 80, you oversell 20 lids and the next export will not save you.

Pre-kit for high volume

Pre-kit when the same set will ship at volume. Last December this holiday box did 400 orders on one recipe. On-hand now: 500 candles, 400 lids, 450 boxes. Build 300 on a production order in October. Components leave the pick face once. The finished set lands in its own bin. Pick-pack is then a single SKU, which is why pre-kit protects rate. Leftover components: 200 candles, 100 lids, 150 boxes. Remaining MIN() is 100. Available-to-sell is 300 built plus 100 leftover, so 400. Over-build all 400 lids (400 kits) and you lock 400 candles. Singles still need 80 candles a week and you have 100 left: a week of singles, then the set bin is fat and the candle face is empty. Under-build and you are back on the floor at peak.

Pick-to-kit for jumpy mix

Pick-to-kit when the set is real but the mix is jumpy. Wholesale prepack of 12: batch those orders, walk components once from overstock to a kit station, assemble, then pack. Keep that walk out of the DTC single-line path. Pull kit components from overstock, not from the forward bins that feed everyday singles, or every case you build creates a replenishment storm on the face.

On-the-fly at pack time

On-the-fly is assemble-at-pack. No kit inventory. The packer consumes live components at ship time. Slowest pack, cleanest stock. Use it for low volume, custom, or the storefront bundle merchandising changes every Tuesday. Do not put on-the-fly kits in the same batch as singles. The cart stops at the pack bench while a single-line order waits behind a glue gun.

Hybrid is normal. Pre-kit the known holiday set in October. Pick-to-kit wholesale cases. On-the-fly the weekly Shopify bundle. Two locations: New Jersey can hold the 300 pre-kits while California still has only components. Publish 300 from New Jersey and California's leftover MIN(), not a pooled fantasy that one dock can ship the other's parts.

Do not also value a ship-time kit as finished goods or you double-count. Returns should land components (or a QC hold), not a zero-cost finished set that pretends the recipe never existed.

Run this with AI

Connect Claude or ChatGPT to your Fulfil data with the Fulfil MCP, then run this prompt on your own numbers.

You are a warehouse lead for a Shopify brand that sells bundles.
Here is: kit_sku, component_sku, qty_per_kit, location, component_on_hand, component_bin_type (pick/overstock), kit_on_hand, last_30d_kit_orders, last_30d_component_as_single, assembled_at (prekit / pick_to_kit / on_the_fly).
[paste]

Produce:
1. Buildable qty per kit per location as MIN() of components. Flag Shopify qty above that, and a pooled MIN() that assumes two buildings can make one kit.
2. Which method to use per kit, with a one-line why (volume, mix, singles conflict).
3. Kits that are draining forward pick bins and should pull from overstock.
4. Pre-kit builds that would strand components needed for singles.
Do not assemble on the pick path. Do not publish a made-up kit on-hand.

See it run on
your data.

Fulfil runs inventory, fulfillment, purchasing, and accounting for scaling DTC brands in one system.