Kit and bundle SKU
A kit or bundle SKU is a single salable part number that ships as a set of separate items rather than one manufactured piece, unlike an assembly, whose parts are consumed into one unit. A kit is picked from stocked components at order time; a bundle is a merchandising grouping of finished goods. Either way the set carries its own GTIN and MPN, and its attributes have to be derived from its components rather than typed in.
Kit vs bundle vs assembly
Sales teams use the three words interchangeably. Your data model cannot. Each one has a different relationship to its components, and that relationship decides which attributes are true at the parent level.
| Type | What the customer receives | Component identity after packing | When it is created |
|---|---|---|---|
| Kit | Several loose components in one carton, bag, or bin box | Components keep their own MPNs and remain stockable and salable on their own | Order time, or as a pre-packed stock item |
| Bundle | Two or more finished goods sold together under one price | Every item is independently salable, priced, and usually already on your site | Merchandising, promotion, or contract pricing |
| Assembly | One physical unit built from parts | Components are consumed and no longer exist as separate items | Production, against a bill of materials |
Concrete versions of each: a 100-piece assortment of 3/8-16 Grade 8 hex bolts with matching nuts and flat washers, packed in a bin box, is a kit. That same assortment offered at a promotional price together with a separately listed crimp tool — both items already carrying their own PDPs and prices — is a bundle. A UL listed 600V wire connector crimped onto a 12 AWG pigtail before it hits the shelf is an assembly.
Two tests, in order. First, assembly or not: were the pieces consumed when the thing was built? If a customer cannot ever buy them from you as line items again, it is an assembly. Second, kit or bundle: is each piece independently priced and merchandised on your site today, or is it stock picked into one carton and sold only as the set? Independently priced means bundle. Picked into a carton means kit.
Attributes do not roll up the same way
The failure mode is almost always the same. Someone copies the attributes of the most important component onto the kit and ships it. Now the kit claims things that are true of one bolt and false of the box.
Each attribute needs its own rollup rule. These are the ones that matter for a fastener kit:
| Attribute | Rollup rule | Result on a bolt-and-nut kit |
|---|---|---|
| Thread size | Publish only if every component shares it | All pieces are 3/8-16, so publish 3/8-16 |
| Material grade | Never inherit from one part | Grade 8 bolts with Grade 5 nuts is not a Grade 8 kit |
| Finish | Publish only if identical | Zinc bolts with plain washers means suppress the facet |
| Weight | Sum components, add packaging | Sum of pieces plus the bin box |
| Country of origin | List every distinct value | Taiwan bolts, US washers |
| Certification (UL, RoHS) | Weakest link governs | One uncertified piece means the kit is not certified |
| GTIN | Kit gets its own | Never reuse a component's GTIN on the kit |
| HS code | Re-derive for the kit; do not copy a component's code | Depends on whether the assortment qualifies as a set |
| Price | The kit's own price | Not the arithmetic sum of components |
Write these rules down per attribute in your schema. Rollup is not a global setting.
Where kits break feeds and faceted search
Kits tend to arrive in the catalog in one of two broken states, and each breaks a different downstream system.
- Empty kits. No attributes at all, because nobody knew which values were safe. The kit never matches a filter, so a buyer narrowing to 3/8-16 never sees the 100-piece assortment full of them.
- Over-claimed kits. Attributes copied wholesale from the headline component. The kit appears under Grade 8 and UL listed filters it does not deserve. Buyers open the PDP, see mixed contents, and bounce.
- Variant confusion. Kits pushed through a parent-child structure make components look like purchasable sizes of the kit. Pricing and inventory follow the wrong node.
- Silent drift. A component gets substituted in the warehouse. The kit's weight, origin, and certification are now wrong, and nothing recomputes them.
It is worth separating what a feed rejects from what it accepts and quietly gets wrong, because only one of those two shows up in a dashboard. An Amazon flat file or a Google Shopping submission rejects on things a validator can see without knowing your catalog: a missing identifier, a is_bundle or multipack flag left blank on a category that requires it, a unit of measure that does not parse, a weight the carrier rules reject. Those errors come back with a row number, and someone fixes them the same week.
The mis-merges are the ones that cost money. A kit published under a component's borrowed GTIN validates cleanly and then gets matched onto the component's existing listing, where your 100-piece assortment inherits that single bolt's title, images, and reviews, and the buy box quantity is off by two orders of magnitude. A kit flagged as a single item rather than a multipack passes validation and then loses every price comparison, because the shopping engine reads the set price as the price of one bolt. Nothing in either case is technically invalid. Nobody owns the derived values, so the drift is invisible until a customer or a customs broker finds it.
What a kit relationship has to store
A kit relationship needs three things a variant model does not give you: a component reference, a quantity on each link, and a rollup rule per attribute. Once those exist, the kit's attributes are computed rather than typed.
- The component list with quantities lives as structured data, not as a bullet in the description.
- The kit carries its own GTIN and its own MPN. Component identifiers stay on the components.
- Rollups run on a schedule rather than once at setup, so substitutions propagate.
- Only attributes that survive their rollup rule get published. The full contents table sits on the PDP, for buyers and for answer engines.
- Conflicts route to a person. A mixed-grade assortment is a decision about what to claim, not a defect to auto-correct.
Your PIM stores the kit relationship and the computed values. Something still has to read the component spec sheets, work out which component caps the kit's claims, and re-derive the HS code when purchasing swaps a supplier. That derivation is the work Anglera does, alongside Akeneo, Salsify, Syndigo, inriver, or Pimberly: derive the kit's attributes from its components, flag the conflicts, and keep them current as contents change.
Frequently asked questions
What is the difference between a kit SKU and a bundle SKU?
A kit is built from components a distributor stocks and picks at order time — a 100-piece 3/8-16 Grade 8 fastener assortment in a bin box, sold only as the set. A bundle groups items that are each independently salable at their own price, like that assortment offered with a separately listed crimp tool. A bundle's facets should come from the item the buyer filters on; the other items belong in the contents table on the PDP.
Does a kit need its own GTIN?
Yes. A kit is a distinct trade item, so it gets its own GTIN under GS1 rules. Reusing a component's GTIN on the kit is a common shortcut that causes marketplace listing merges, wrong pack quantities, and duplicate PDPs. The components keep their own GTINs for the times they are sold loose. Changing a kit's contents can trigger a new GTIN under the GS1 GTIN Management Standard; check the triggers rather than assuming the old number still applies.
How do you handle attributes when kit components disagree?
Treat the disagreement as a decision, not a data error. A rollup engine can detect that two components carry different grades, but it cannot decide what to claim — that belongs to whoever owns the category, and the ruling should be recorded against the attribute so it survives the next substitution. Meanwhile the component-level detail goes in a contents table on the PDP, where buyers and answer engines can read it, rather than into the faceted attributes.
Should kits be modeled as parent-child variants?
No. Parent-child variants describe one product that differs along an axis like length or color. A kit is a different structure: one salable item that references several unrelated components, each with its own quantity. Forcing kits into a variant hierarchy makes the components look like purchasable sizes of the kit, which breaks pricing, inventory, and marketplace listings. Model kits as a separate relationship type with quantity on the link.
Why do kits break faceted search?
Kits weaken faceted search in two ways. A kit published with no attributes never appears under any filter, so a buyer narrowing to 3/8-16 never sees the assortment that contains it — a recall problem. A kit published with attributes copied from one component appears under filters that describe only one piece of it, so the buyer opens a PDP that does not match what they filtered for — a precision problem.