EPR reporting turned packaging data into a filing requirement
For most of the last decade, packaging data lived wherever it happened to land. A weight in a supplier quote. A material call-out on a drawing. A recycled content percentage in an email from 2022. It was good enough, because nobody outside the plant ever asked.
That ended this year. Seven states took packaging producer reports on May 31. California’s labeling rule starts biting in October. The EU regulation came into force in August. Different agencies, different forms, one underlying question: for every package you put on the market, what is it made of, how much does each part weigh, and where does it end up.
That is a specification question. Which means the reporting problem is really a data model problem, and it shows up long before the form is due.

The report wants components, not products
This is the part that catches teams out. Producer reporting is assessed on the material that goes into the market, broken out by material type. A finished good is a carton plus a liner plus a label plus tape plus a stretch wrap on the pallet, and each of those is a separate line with its own weight and its own material class.
If your spec data stops at the finished good and carries one total packaging weight, you cannot produce that breakout. You will end up doing what a lot of teams did in the spring: pulling drawings, calling suppliers, and rebuilding the component list in a spreadsheet under deadline.
The fix is not complicated, but it is structural. Every component gets its own record, with a material class, a net weight in a single unit, and a link to the packages it appears in. Then the report is a rollup instead of a research project.
Weight has to be a number, in one unit
Nearly every spec library we open has weights stored three ways at once. Grams on some records, pounds on others, and a text field where somebody typed “approx 14.25 in / 32.5 lb gross” because there was nowhere better to put it.
Text fields do not add up. Pick one base unit, store the number there, and put the conversion in a calculated field if people need to read it the other way. Where a supplier only quotes in their unit, convert on the way in, not on the way out.
Recycled content is a field, not a note
Post-consumer recycled content now has its own reporting deadlines in several states, separate from the main producer report, and the percentages are audited against what suppliers certified. If PCR content lives in an attachment or a comment, you have no way to roll it up and no way to prove where the number came from.
Give it a numeric field on the component, a source field for which supplier document it came from, and a date. The date matters more than people expect, because the certification behind a percentage expires.
You report the year, not today
Here is the one that quietly breaks reports. A producer report covers a past calendar year. Your spec library shows current state. If you lightweighted a carton in August, the version sitting in front of you is not the version you sold in March.
Versioning with active dates solves it, and it is worth configuring before you need it. Every spec version carries an effective date and a superseded date, so a report can ask what was live during the reporting window rather than what is live now. Without that, you are reconstructing history from change logs and purchase orders.
Region is not optional anymore
Producer obligations are per state, and the EU rules are per member state on top of that. A spec that is sold into four states and two countries has four or six different sets of obligations attached to the same physical package.
That means region has to be a real field on the record, ideally multi-select, and it has to be maintained. Teams that skip this end up reporting their whole portfolio into every jurisdiction, which is both wrong and expensive, or manually carving the list up each spring.
What good looks like before next May
If you want to walk into the next reporting cycle without a fire drill, these are the things worth having in place:
- Component-level records with material class and a weight in one unit
- PCR percentage as a numeric field with a source document and a date
- Version history with effective and superseded dates on every spec
- A region or market field maintained on the finished good
- A saved report that produces the breakout, run monthly rather than annually, so gaps surface while there is time to fix them
That last one does most of the work. A report that only runs once a year is a report nobody trusts. Running it every month turns compliance into a data quality routine, and the routine is what keeps the numbers defensible.
We do this work inside Specright for food, beverage, personal care, produce and industrial manufacturers. The Specright practice page covers what we build and how the engagements are structured, or send us a sample of your spec export and we will tell you what the report would and would not be able to answer today.


