Traceability
Bundles and assembled packs
How to define a bundle in Crown, assemble packs from finished-good lots, and keep gift sets and sampler packs inside your traceability chain.
A bundle is something you pack from finished goods you have already made: a three-bottle gift set, a mixed sampler, a retail multipack. It's the one thing in Crown that isn't produced by a batch, and that's exactly why it needs its own handling. A bundle has no recipe and nothing to cook — it's assembled from lots of your existing products, and it carries its own lot code, expiry, and carton label.
Bundles live on their own tab: open Products from the main menu and select Bundles.
Defining a bundle
A bundle is defined once, then assembled as often as you need. Defining it records what the bundle is made of; it doesn't create any stock.
- Create the bundle
On Products, open the Bundles tab and select Add bundle. Crown opens a New bundle page.
- Name it
Fill in Bundle name the way you'd list it on an order — for example, "Bitters Sampler (4 x 30mL)". Add a Bundle code as an internal identifier if you use one, and set the Status.
- Add its components
Under Components, add a row for each SKU that goes into one pack, and how many of it. A four-bottle sampler with one of each variety is four rows of one; a case of twelve of a single bottle is one row of twelve.
- Set its lot-code format
Under Lot code, either inherit your company's format or override it for this bundle. A pack needs a code that isn't borrowed from a product, because a bundle doesn't have one.
- Save
Select Save. The bundle now exists as a definition, ready to assemble against.
Optionally record a UPC / EAN, a Carton barcode (GTIN-14), and an HS tariff code on the bundle, the same way you would on a product SKU. These print on the pack's carton label and travel with it to a distributor.

Assembling packs
Assembling is the step that creates real stock. It consumes the component lots you choose and produces a lot of the bundle.
- Open the bundle and start an assembly
Open the bundle and select Assemble packs.
- Say how many packs
Enter Packs. Crown works out how much of each component SKU that needs — the composition multiplied by the pack count.
- Choose the lots you're packing from
For each component SKU, enter how much comes from which finished-good lot. The running total has to match what the pack count requires before Crown will let you assemble, so you can't accidentally build a pack from material you don't have.
- Check the lot code and expiry
Leave Lot code blank to generate one from the bundle's format, or type one in. Crown shows the pack expiry it will inherit — the earliest date among the lots you picked.
- Assemble
Select Assemble. The component lots are consumed, and a new lot of the bundle appears under Assembled packs with its code, pack count, expiry, and status.
Printing a carton label
A carton label prints from a pack, not from the bundle definition — so you need to record an assembly before you can print one. In the Assembled packs list, select Carton label beside the pack you're labelling.
The label uses your company-level carton label settings, the same as any product label. See Setting up carton labels.
Costing a bundle
Crown costs a bundle from what it's packed from. As you add components, it rolls up the cost of each component SKU from that product's own cost data, and adds any packaging cost you record on the bundle itself — the gift box, the insert, the shrink wrap.
That gives you a cost per pack you can price against, without having to maintain a separate figure that drifts every time an ingredient price moves.
Voiding a mis-recorded pack
If you recorded an assembly that never happened, or recorded it twice, void the pack rather than leaving a phantom lot in inventory.
Select Void beside the pack, and give a reason. Its component lots return to stock and the pack leaves inventory.
How bundles reach your traceability chain
Assembled packs are full participants in trace and recall, in both directions.
Backward, from a pack. Trace a pack's lot code and Crown shows a Packed from card listing every component lot inside it, each linked to the batch that produced it. This is the hop a recall on a pack has to make to reach real production records.
Forward, from a component. Trace a finished-good lot and Crown shows a Packed into card: every pack that lot shipped inside, with how much of it was used and how much of that pack remains. This is what you need when a single ingredient lot goes bad and you have to work out which gift sets it ended up in.
Voided packs are left out of both directions, so a corrected record doesn't pollute a recall.
Bundles also appear elsewhere you'd expect:
- Inventory lists assembled packs alongside batch-produced lots on the Finished Goods tab. A pack shows no batch and no product, because it has neither.
- Complaints can name a bundle. The product picker lists bundles with a "(bundle)" suffix, and selecting one loads that bundle's pack lots instead of product lots.
- The Bundles list shows how many components each bundle has, its units per pack, and how many packs are on hand and shippable. It exports that summary to CSV.
- Your whole-company data export includes what actually went into each assembled pack, not just what a pack is supposed to contain — the record an auditor follows from a recalled component to the packs it shipped inside.
What's next
For the whole picture of how lots connect, see How lot traceability works.
Frequently asked questions
What is the difference between a bundle and a product in Crown?
A product is something you make in a batch, from a recipe. A bundle is something you pack from finished goods you already made — a gift set, a sampler, a multipack. A bundle has no recipe and no batch, which is why it lives on its own tab rather than inside the products list.
Does a bundle pack get its own lot code?
Yes. Each assembly creates a stocked lot of the bundle with its own lot code, generated from the bundle's lot-code format or typed in by hand. It is a real lot: it appears in inventory, prints a carton label, and can be traced and recalled.
What best-before date does a bundle pack carry?
The earliest expiry among the component lots you packed it from. Crown shows you that date in the assemble drawer before you commit, and prints it on the pack's carton label.
I recorded an assembly that never happened. Can I undo it?
Void the pack. Its component lots return to stock and the pack leaves inventory, with your reason kept on the record. Voiding corrects the record; it does not physically unpack anything.