Your EPR declaration is only as accurate as your packaging data. If you don't know exactly what materials and weights go into each product's packaging, you're guessing. And guessing is how you end up either overpaying EPR fees or underdeclaring and facing a fine.
Both outcomes cost you money. The difference is that overpaying is quiet and underdeclaring triggers an audit. Neither is a position you want to be in when a PRO asks you to substantiate your numbers.
The fix is straightforward: build a proper packaging Bill of Materials for every product you sell. This article covers exactly how to do that — from weighing your first component to managing BOMs across a 500-SKU catalog.
What is a packaging BOM?
A Bill of Materials is a concept borrowed from manufacturing. In manufacturing, a BOM lists every part needed to build a product. A packaging BOM does the same thing, but for the packaging around a product rather than the product itself.
A packaging BOM lists every packaging component for a single product (or SKU). For each component, it records:
- Component name — a human-readable label like "outer mailer box" or "bubble wrap sleeve"
- Material type — cardboard, LDPE plastic, glass, aluminum, etc.
- Weight in grams — the net weight of that component alone, empty
- Packaging level — primary, secondary, or shipping (more on this below)
- Quantity per unit sold — usually 1, but sometimes 2 (e.g., two strips of tape per box)
Here's what a real packaging BOM looks like for a skincare product sold D2C:
| Component | Material | Level | Weight (g) | Qty |
|---|---|---|---|---|
| Glass jar | Glass | Primary | 180 | 1 |
| Pump cap | Plastic (PP) | Primary | 12 | 1 |
| Product label | Paper | Primary | 3 | 1 |
| Product box | Cardboard | Secondary | 45 | 1 |
| Tissue paper wrap | Paper | Secondary | 8 | 1 |
| Corrugated mailer | Cardboard | Shipping | 120 | 1 |
| Void fill (crinkle paper) | Paper | Shipping | 15 | 1 |
Seven components. Approximately 383 grams of total packaging per unit sold. That's what you'll report to the PRO in each country where a customer bought this product.
Why BOMs matter for compliance
The math behind an EPR declaration is simple: for each sale, multiply the quantity sold by the packaging weight for each component, then aggregate the totals by country and material type. If you sold 1,200 units of that skincare product to France, your CITEO declaration includes 216 kg of glass (1,200 x 180g), 14.4 kg of PP plastic (1,200 x 12g), and so on.
Without accurate BOMs, the entire declaration chain falls apart.
An auditor will not ask for your declaration spreadsheet. They already have your submitted numbers. What they ask for is how you derived those numbers. They want to see the source data: what packaging each product uses, how you determined the weights, and why your declaration totals match your sales volume. BOMs are that proof.
Think of your BOM as the receipt behind the receipt. Your declaration is what you tell the PRO. Your BOM is how you prove you told the truth.
Beyond audits, BOMs protect you from internal drift. Packaging changes over time — a supplier switches box sizes, you move from plastic bubble wrap to paper honeycomb, your 3PL starts using a different tape. Without documented BOMs, these changes silently corrupt your declarations.
How to weigh your packaging
This is the hands-on part. You need actual weights, not supplier estimates.
Get a precision scale
You need a scale with at least 0.1g accuracy. Jewelry scales and kitchen scales with 0.1g resolution are available for about 20–30 euros on Amazon. If your packaging includes heavy components (glass bottles, large corrugated boxes), also get a larger scale with 1g accuracy that handles up to 5–10 kg. Total investment: under 50 euros.
Weigh each component separately
Do not weigh the assembled package. Remove the product, then weigh each packaging piece individually: the bottle by itself, the cap by itself, the label by itself, the box by itself. Assembled weighing introduces error because you can't distinguish material contributions.
Average multiple samples
Manufacturing tolerances exist. Your cardboard box might weigh 118g in one sample and 124g in another. Weigh 3 to 5 samples of each component and use the average. This smooths out variation and gives you a defensible number if an auditor questions your data.
Record net weight, not gross weight
The most common mistake: weighing a filled bottle instead of an empty one. You want the weight of the packaging material only, not the product inside it. For bottles and jars, empty them completely, rinse if necessary (residue can add grams), and let them dry before weighing.
Document your measurements
Record the date, the number of samples averaged, and the resulting weight. If you photographed the scale reading, save the photos. This documentation is your audit trail. Five years from now, if a PRO questions your 2026 declaration, you want to be able to point to exactly how you arrived at each weight.
Material classification
Every PRO requires you to classify your packaging materials into standard categories. The categories are largely consistent across countries, though some PROs use slightly different naming. Here are the main groups:
- Paper — labels, tissue paper, paper tape, paper-based void fill
- Cardboard — corrugated boxes, folding cartons, cardboard inserts (some PROs group paper and cardboard together as "paper/cardboard")
- Plastic — with subtypes that matter:
- PET (water bottles, clear clamshells)
- HDPE (milk jugs, detergent bottles)
- LDPE (poly bags, shrink wrap, bubble wrap)
- PP (caps, hinged containers, yogurt cups)
- PS (polystyrene foam, rigid cups)
- Other (PVC, nylon, multi-layer films)
- Glass — bottles, jars (clear, green, amber are sometimes distinguished)
- Metal — steel/tinplate (cans, closures), aluminum (foil, cans, tubes)
- Wood — pallets, crates, wood wool
- Textile — fabric bags, cotton pouches
- Other/composite — multi-material packaging that can't be separated (paper-plastic pouches, foil-lined cartons)
For plastics, check the resin identification code — the number inside the triangular arrows stamped on most plastic packaging. 1 = PET, 2 = HDPE, 3 = PVC, 4 = LDPE, 5 = PP, 6 = PS, 7 = other. If there is no code, ask your supplier for the material specification sheet.
Multi-material components are trickier. A stand-up pouch made from laminated PET/PE/aluminum foil is technically three materials bonded together. Most PROs classify this under "other/composite" or under the dominant material by weight. Check your specific PRO's guidelines — CITEO, ECOEMBES, and Grner Punkt each have slightly different rules for composites.
Packaging levels explained
The PPWR defines packaging levels, and your BOM needs to classify each component into one of them. This matters because some PROs charge different rates by level, and some countries only require you to report certain levels.
Primary packaging
Touches the product directly. The bottle that holds the shampoo. The bag inside the cereal box. The blister pack around the pills. If you removed the primary packaging, the product would be exposed or would spill.
Secondary packaging
Groups or protects primary packages. The cardboard box around the shampoo bottle. The shrink wrap bundling six cans together. The display box on a retail shelf. You can remove secondary packaging without affecting the product itself.
Tertiary / transport packaging
Used for logistics: pallets, stretch wrap, bulk shipping cartons. This is packaging that moves goods between warehouses or from manufacturer to retailer. In traditional retail, tertiary packaging never reaches the consumer.
Shipping packaging in e-commerce
Here is where it gets important for online sellers. The box you ship to the end customer — the mailer, the void fill, the packing tape — is a special case.
In traditional logistics, transport packaging is tertiary. But in B2C e-commerce, the shipping box reaches the consumer's household. Most PROs therefore classify e-commerce shipping packaging as secondary packaging, not tertiary. This distinction matters because secondary packaging is typically reported and charged, while tertiary packaging obligations sometimes fall on different actors in the supply chain.
The practical rule: if the packaging ends up in a consumer's recycling bin, it's your responsibility as the brand, and it's almost certainly classified as primary or secondary.
BOM versioning
Products change packaging. You know this. Maybe you switched from a plastic cap to an aluminum cap in March. Maybe your supplier changed the corrugated box dimensions in July, which changed its weight from 120g to 135g. Maybe you redesigned your product box entirely in October.
Your EPR declaration needs to use the right BOM for each sale based on when the sale happened, not today's packaging. A customer who bought in February received the plastic cap. A customer who bought in April received the aluminum cap. If you apply today's BOM retroactively to the entire year, your declaration is wrong.
This is called temporal versioning. Each BOM version has:
- An "effective from" date — when this version of the packaging started being used
- An optional "effective until" date — when it was replaced by the next version (or blank if it's the current version)
- A version number or label — v1, v2, or descriptive like "2026-Q1"
When calculating your declaration for a given period, the system looks up which BOM version was active on the order date and uses that version's weights. This sounds complex, but it's essential for accuracy. Most brands change packaging at least once or twice per year. Brands with 100+ SKUs might have dozens of BOM version changes annually.
Honestly, most brands skip versioning entirely and just use whatever BOM they have today for all historical declarations. They get away with it until an auditor notices that their declared glass weight dropped 20% in Q3 with no corresponding change in the BOM on record. Then it becomes a problem.
Common BOM mistakes
After working with hundreds of product BOMs, the same mistakes come up repeatedly. Avoid these and you'll be ahead of most brands.
1. Forgetting shipping packaging
The most common omission. Brands meticulously document the product box and the bottle inside it, then completely forget the mailer box, the void fill, the poly bag, and the packing tape that go around everything when it ships. For most e-commerce products, shipping packaging represents 30–50% of total packaging weight. Missing it means underdeclaring by a third or more.
2. Using supplier specs instead of actual weights
Your corrugated box supplier says the box weighs 115g. You put 115g in your BOM. But the actual boxes sitting in your warehouse weigh 122g on average. Supplier specifications are nominal — they represent the design target, not the production reality. Always weigh actual samples.
3. Not updating BOMs when packaging changes
You switched to a lighter mailer box six months ago but never updated the BOM. Now you're overdeclaring cardboard weight and overpaying fees. Or worse: you switched to a heavier box and you're underdeclaring. Either way, your data doesn't match reality.
4. One "average" BOM for all products
Some brands create a single generic BOM — "average product: 200g cardboard, 30g plastic" — and apply it to every SKU. This might approximate the right total across your catalog, but it falls apart under scrutiny. An auditor wants per-SKU data. They want to see that product A uses 150g of cardboard and product B uses 280g, not that "all products average 200g."
5. Unit confusion
Recording weight in kilograms when the system expects grams, or vice versa. A 120g box entered as 120 kg inflates your declaration by 1,000x. A 0.120 kg box entered as 0.120g makes your packaging almost vanish. Pick one unit (grams is standard for component-level weights) and stick with it everywhere.
6. Ignoring ancillary components
Tape, stickers, desiccant sachets, instruction leaflets, thank-you cards, branded tissue paper, elastic bands. Each of these is packaging (or in some cases, part of the product). They might weigh only 2–5 grams each, but across 50,000 units per year, 5g of tape becomes 250 kg of plastic. That's real weight that belongs in your declaration.
Scaling BOMs for large catalogs
If you sell 20 products, creating 20 individual BOMs is manageable. If you sell 500 products, it's painful. If you sell 5,000, it's impossible without a strategy.
The solution is BOM families.
Look at your catalog and identify products that share identical packaging. Not similar packaging — identical. All your lipsticks ship in the same tube, the same box, and the same mailer. All your t-shirts ship in the same poly bag inside the same corrugated box. Group these products into families, create one BOM per family, and assign that BOM to every matching SKU.
The typical ratio: 500 SKUs might need only 30–50 unique BOMs.
How to identify BOM families efficiently:
- Sort by product category — all items in the same category often share packaging
- Sort by size/weight class — products of similar dimensions ship in the same box
- Check your shipping box inventory — how many different box sizes does your warehouse actually stock? That number is often your approximate BOM family count for shipping packaging
- Ask your fulfillment team — they know which products get packed identically
Once you have your BOM families defined, the workflow becomes: create a new product, assign it to an existing family, done. You only create a new BOM when you introduce genuinely new packaging.
Building your first BOM: a step-by-step walkthrough
Let's say you sell scented candles. You have one product: a 250ml soy candle in a glass jar, shipped D2C. Here is exactly how to build its BOM.
Step 1: Unpack a finished order.
Take one completed, ready-to-ship order and open it. Lay out every piece of packaging separately. For the candle, you might have: the glass jar, the metal lid, the paper label on the jar, a cardboard product box, a tissue paper wrap, a corrugated mailer box, crinkle-cut paper void fill, and two strips of branded tape.
Step 2: List every component.
Write them down. Do not skip anything, no matter how small. That paper label weighs 2g, but it's still a component. The tape weighs 4g per strip. List it.
Step 3: Classify each component.
For each item, note the material (glass, paper, cardboard, PP plastic, steel, etc.) and the packaging level (primary, secondary, or shipping).
Step 4: Weigh each component.
Use your precision scale. Weigh 3–5 samples of each and average. Record the average weight in grams.
Step 5: Record quantities.
Most components have a quantity of 1 per unit sold. But if you use two strips of tape, record qty = 2. If each order includes a sample sachet, that's an additional component with qty = 1.
Step 6: Calculate total weight.
Multiply each component weight by its quantity, then sum everything. This is your total packaging weight per unit. For the candle, it might come to 390g. That means each unit you sell adds 390g to your EPR declaration, split across glass, paper, cardboard, and plastic.
Step 7: Enter the BOM into your system.
Whether that's a spreadsheet, an ERP, or compliance software, get it recorded in a structured, versioned format. Date it. This is BOM version 1, effective from today.
BOMs and multi-channel selling
If you sell through multiple channels — your own Shopify store, Amazon FBA, wholesale to retailers — the packaging might differ by channel. Your D2C orders ship in your branded mailer with tissue paper and a thank-you card. Amazon FBA orders ship in Amazon's brown box with their void fill. Wholesale orders ship in bulk cartons on pallets.
Each channel may need a different BOM, even for the same product. The product-level packaging (primary) stays the same, but the shipping packaging changes entirely.
For Amazon FBA specifically, be aware that Amazon adds its own packaging (the brown box, the air pillows). In some countries, Amazon declares this packaging themselves under their own EPR registration. In others, the obligation may still fall on you. Check Amazon's current EPR policy for each marketplace — it varies.
When your BOM is "good enough"
Perfection is the enemy of compliance. A BOM that's 95% accurate and submitted on time is infinitely better than a perfect BOM that you're still working on when the declaration deadline passes.
Aim for:
- Every component listed (no omissions)
- Weights within 10% of actual (use measured weights, not guesses)
- Correct material classification (don't call LDPE "plastic" without the subtype if your PRO requires it)
- Correct packaging level assignment
- Dated version history
You can refine weights and classifications over time. The critical thing is to have a documented BOM that connects each SKU to its packaging components. Without that link, you cannot generate a defensible declaration.
Tools and templates
For a small catalog (under 30 SKUs), a spreadsheet works fine. Create columns for SKU, component name, material, level, weight (g), quantity, effective date. One row per component. Filter by SKU to see each product's full BOM.
At scale, spreadsheets become a liability. They don't enforce data integrity, they don't version automatically, and they definitely don't link to your live sales data. Purpose-built compliance software like Pack Declare manages BOM versioning, maintains a shared component library (so "corrugated mailer box, 120g" is defined once and reused across every product that ships in it), and supports bulk BOM assignment for large catalogs. When your packaging changes, you update one component and every affected product's BOM updates automatically.
The bottom line
Your packaging BOM is the foundation of your entire EPR compliance workflow. Every declaration, every fee calculation, every audit response traces back to it. A sloppy BOM means sloppy declarations. A missing BOM means no declarations at all.
The good news: building BOMs is a one-time effort per product. Once it's done, maintaining it is just a matter of updating when packaging changes. The initial setup might take a day for a small catalog or a week for a large one. But that investment protects you for every declaration cycle going forward.
Start with your top 10 products by volume. Those represent the bulk of your packaging weight and your EPR fees. Get their BOMs right, and you've covered 80% of your obligation. Then work outward to the long tail.
For more on the broader regulation, see our guide to what the PPWR requires. If you're selling through Shopify, the Shopify EPR compliance guide covers how to connect your store data to your packaging BOMs. For a deeper look at packaging levels and how they affect your reporting, see our packaging levels breakdown. To reduce fees through packaging design, eco-modulation optimization explains what packaging properties drive lower rates. And recyclability grades under PPWR explains how each material tier is assessed.