Problems & solutions · Custom Software

EPR Packaging Compliance Software Problems: The 5 That Cost Real Money, and How to Avoid Them

EPR Packaging Compliance Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure in extended producer responsibility software is storing one scheme's material categories as your master data. It is the fastest route to a working first report and it makes every additional jurisdiction a rebuild, because schemes define composites, dominant materials and beverage cartons differently and revise those definitions between cycles. Worse, once your product records carry a scheme's vocabulary you can no longer reproduce a prior year submission under the rules that applied then, so a fee audit becomes weeks of reconstruction rather than a retrieval. Fees are charged on real tonnages of real materials, so the error is not paperwork. It is a recurring overpayment or an underpayment that surfaces later with interest attached.

Why does the packaging data model get built on the SKU?

Because that is where packaging already lives in your systems: a note on a product record, a field on an item master, a line in a specification. So a developer models packaging as attributes of a finished good, and the first report comes out. Then somebody changes a bottle weight and the correction has to be applied in forty places.

Compliance is calculated on components, not on products. One finished good carries a primary container, a closure, a liner, a label, sometimes a sleeve, an inner carton, a shipping case, an interleave and stretch wrap. Each has its own material, weight, recycled content and, under several regimes, its own recyclability assessment. Many are shared across dozens of items, which is exactly why the SKU level model fails: a shared component correction should ripple through the portfolio and instead gets fixed in one row.

The model that works is a packaging component master as first class data, with a bill of packaging per SKU referencing components and quantities. Every weight carries a source, a date, a link to the evidence document it came from, and a verified flag that only a laboratory weighing or a signed supplier specification can set. The first benefit is not the report. It is that you finally know which of your weights are measured and which are somebody's estimate from four years ago, and in our experience that split surprises everyone in the room.

What goes wrong when you migrate component weights and prior submissions?

The spreadsheet migrates cleanly and that is the trap. What you inherit is a set of numbers with no provenance: nobody can say which weight came from a supplier specification, which was measured, and which was typed by a coordinator who has since left. Importing that as though it were verified data gives four year old guesses the authority of a system of record, and every downstream fee calculation carries the error forward silently.

Treat migration as a triage rather than a copy. Load the existing figures as unverified by default, then run a physical weighing programme against your highest volume components while the build proceeds. That programme is operations work rather than software work, it is the single largest determinant of how long the project takes, and it belongs on your plan rather than the developer's.

Prior submissions are the second layer and they should not be recomputed. A report filed two years ago was correct under the mappings, categories and volume rules in force then. Store it as an immutable snapshot capturing the component weights, the mapping version, the attribution rules and the volume data exactly as they stood at filing, and never let it be regenerated from today's data. If the historical detail is not recoverable, archive what you filed as a document alongside a note explaining the gap, which is a far better answer to a scheme query than a number that no longer reproduces.

Why do enterprise system and supplier document feeds break after launch?

The enterprise system feed breaks on meaning rather than mechanics. SAP, Oracle and Microsoft Dynamics all hold sales and item data differently, and the fields your attribution logic depends on are the ones most likely to be repurposed: a plant code reused after a site closes, a customer group redefined during a reorganisation, a new sales channel added without a corresponding rule. Nothing errors. Volume simply stops being attributed, or gets attributed to the wrong obligated entity, and you find out at the next reporting cycle.

Guard it by making the unattributed remainder visible rather than dropping it. Every reporting run should report how much volume could not be confidently placed, and that figure should be watched between cycles rather than discovered during one. On first runs it is normal to find several percent of volume nobody can place, and resolving it is usually worth more than every efficiency gain in the workflow.

Supplier document extraction breaks differently. Specification sheets arrive in every layout imaginable and suppliers change their templates without telling you, so an extraction that read a component weight reliably last quarter starts pulling a gross case weight instead. Never let a model write a value directly. Extract with a confidence score, flag where a new specification differs from the version you previously accepted, and route the difference for human review. A weight that quietly dropped from 24 grams to 21 grams matters in both directions, and catching the change is more valuable than the extraction itself.

What happens when volume attribution across group entities is not covered?

Most proposals in this category concentrate on material data because it demonstrates well, and skip attribution because it is unglamorous. That is backwards. The obligation attaches to the entity that first places packaging on a market, and that is often not the entity your sales report shows. Group companies sell to each other. An importing subsidiary may be obligated in one country while the brand owner is obligated in another. Private label changes who owes. Exports come out. Marketplace sales can shift obligation depending on the regime.

Returns and write offs are the quiet one. A credit note should reduce declared volume and almost never does, because nobody wired the finance event back to the packaging calculation. Over a year that is a permanent overpayment on goods you did not sell.

What works is an explicit attribution engine: rules that assign each movement to an obligated entity and a market, written so your regulatory lead can read and change them without a developer, with the unattributed remainder surfaced. Alongside it, hold your internal material taxonomy as the master and map to each scheme's categories per reporting year, versioned. That mapping layer is the difference between adding a jurisdiction as configuration and adding it as a project, and it is also what lets you produce a modelled fee delta when a technologist asks what a label change would cost across every market.

Should you build custom or configure what you already own?

If you sell in one or two markets with a few hundred SKUs and stable packaging, stay with a compliance scheme provider. Ecoveritas, Landbell Group and similar firms know the regimes, file on your behalf, and cost a fraction of a development budget. A build at that scale is a poor use of capital and you will not report better than they do.

Before commissioning software, exhaust what you already have. Source Intelligence and comparable platforms handle supplier document collection, which is a real part of the problem, and many enterprise systems can hold a component structure if somebody configures one rather than using a free text packaging note. The honest boundary of the provider model is scope rather than competence: they compute from the data you hand them, so unverified weights and unresolved attribution stay yours, and nobody owns the fix. Test whether your complaint sits inside or outside that boundary before you spend anything.

Build when two or more hold. You report into more than three jurisdictions. Your group has several obligated entities with intercompany flows. Packaging design changes often enough that eco modulation is a live commercial question rather than an annual one. You have been queried on a submission and could not reproduce the number quickly. Or your annual fee bill is large enough that a one percent data error costs more than the build.

How do hidden costs get into the quote?

Jurisdiction count is the first and it is routinely underpriced. Each regime brings its own categories, calendar, obligation rules and marking requirements, and none of it is a settings change. Get the markets named in scope with their reporting years, and add a maintenance line, because categories are revised and the revision is not a bug fix.

Enterprise integration is the second. A quote saying integration with your enterprise system usually covers reading a sales extract. What costs the weeks is the attribution logic sitting on top of it: intercompany flows, private label, exports, marketplace channels and credit notes. Price that as its own workstream.

Data readiness is the third and it lands on you rather than the developer. If half your component weights are estimates, the weighing programme is real cost in operations time and it gates the value of everything else. Fourth is group consolidation across obligated entities, which is genuinely intricate and is not a reporting filter. Fifth is the eco modulation engine, if you want scenario modelling rather than reporting, since it needs the fee rules held as data rather than as report logic. Sixth is the extraction review workflow, because somebody has to look at the flagged differences, and a build with no reviewer is a build with no controls.

What separates a build that works from one that fails here?

The ones that work take two markets and the top two hundred SKUs by volume for the first release, and finish them. That usually covers the large majority of fee exposure and surfaces every structural problem you have. The ones that fail attempt every jurisdiction, every SKU and supplier document capture at once, and spend a year producing a system that reports the same unverified numbers faster.

Ask a developer to draw the data model before you sign. The correct sketch has a packaging component separate from a SKU, a bill of packaging joining them, a canonical material taxonomy, and a scheme mapping table versioned by reporting year. If they propose putting a scheme's categories on the product record, every new jurisdiction will be a rebuild and you will pay for it twice.

Ask how they handle restatement. Someone who has built regulated reporting describes immutable snapshots and reason coded corrections without prompting. Someone who says the report is generated live has not been through an audit.

Keep the category decision with a human. Extraction is the right job for a model, category assignment is not, because it is a legal interpretation with money attached and it belongs in a mapping table your regulatory lead can point an auditor at.

Settle ownership in writing before kickoff: the repository, the cloud accounts and any extraction models trained on your supplier documents. At Digital Heroes the client owns all of it from the first commit. In a compliance system a dependency on your developer is a regulatory risk, not only a commercial one.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. A 0.1-second improvement in mobile site speed increased retail conversions by 8.4% and average order value by 9.2%; travel conversions rose 10.1%. Source: Deloitte & Google (2020) →
  2. Median SaaS spend reached $9,455 per employee, and organizations leave an average of 36% of their SaaS licenses unused. Source: Zylo (2026) →
  3. Criteo's Global Commerce Review found retail apps convert at 18% versus 4% on mobile web (roughly 4.5x), and travel apps convert at 20% versus 6% on mobile web (about 3.3x). Source: Criteo (2017) →
  4. Total US training expenditure rose 4.9% to $102.8 billion; learning management systems were used at 89% of organizations (90% of large, 97% of midsize, 84% of small companies), with average training at 40 hours per employee and $874 spent per learner. Source: Training Magazine (2025) →
Ishaan C. · Shopify Plus Tech Lead · Delhi

Ishaan is the technical lead on Shopify Plus builds at Digital Heroes, working on checkout extensions, custom apps, integrations with ERP and the parts of a store that outgrow standard themes. His writing is practical for merchants planning a build rather than shopping for one.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we know which of our component weights are actually reliable?
You almost certainly do not today, which is the point of loading the existing figures as unverified by default. Give every weight a source, a date, a link to the document it came from, and a verified flag that only a laboratory weighing or a signed supplier specification can set. Run the first report and look at the proportion of your fee exposure that rests on unverified numbers. That percentage is the business case, and it is usually higher than anyone in the room expects.
Can we add a new jurisdiction without a development project?
Only if the mapping layer was built for it. Hold one internal taxonomy describing physical reality, then a mapping table per scheme per reporting year that translates your canonical materials into that scheme's categories. Adding a market then means adding mapping rows and an attribution rule rather than changing the data model. If a scheme's categories were stored on the product record instead, every new jurisdiction is a rebuild, and that is the most common architectural mistake in this category.
What should we do about prior year submissions we cannot reproduce?
Do not recompute them under today's rules, because the number you get will be indefensible and you will have to explain the difference. Archive the filed report as a document, note what could not be reconstructed and why, and start immutable snapshots from the next cycle so the problem stops growing. Going forward each submission should capture the component weights, mapping version, attribution rules and volume data exactly as they stood at filing.
Why does volume attribution matter more than the material data?
Because the obligation attaches to whichever entity first places packaging on a market, and that is frequently not the entity your sales report shows. Intercompany sales, importing subsidiaries, private label, exports and marketplace channels all move who owes, and credit notes should reduce declared volume but rarely do. First runs commonly expose several percent of volume nobody can confidently place, and that remainder is worth more to resolve than any workflow improvement.
Should we let a model assign scheme categories from supplier documents?
No. Extraction is a strong use of a model: reading component weights, material declarations and recycled content statements from inconsistent layouts, returning a confidence score, and flagging where a new specification differs from the version you previously accepted. Category assignment is a legal interpretation with money attached and belongs in a versioned mapping table your regulatory lead controls and can defend to an auditor, not in a probabilistic output.
Our compliance scheme provider files for us. What would a build add?
Provenance and attribution, which are the two things that stay yours no matter who files. A provider computes from the data you hand them, so if your component weights are unverified estimates assembled each cycle and your volume attribution across group entities is a spreadsheet judgement, their output inherits both. Test the boundary honestly: if your fee exposure is stable, your markets are few and your data is clean, keep the provider and spend the money elsewhere.
How much SKU coverage do we need in the first release?
Your top two hundred by volume in two or three markets. That normally accounts for the large majority of fee exposure and it surfaces every structural problem you have, including shared components, missing weights and unattributable volume. Full portfolio coverage in release one adds months without changing what you learn, and it delays the weighing programme that actually determines whether the numbers improve.
What does eco modulation change about how the system should be built?
It moves the fee rules out of the report and into an engine you can run scenarios against. A packaging technologist should be able to ask what happens if a full body sleeve becomes a smaller wraparound label and get a modelled fee delta per market against current volumes in minutes. That requires the same engine to produce both the scenario and the submission, so the answer is consistent, and it is usually what persuades a finance director rather than reporting efficiency.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
What is the biggest mistake first-time software buyers make?
Choosing the lowest quote without asking why it is the lowest. A bid 40% under the field usually gets there by skipping tests, documentation, and code review, which are invisible in a demo and brutal to pay for later; every stalled project Digital Heroes has been asked to rescue tells some version of that story. The second mistake is signing without a written scope, which reliably turns the winning cheap quote into 1.5x to 2x the price by launch.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
Should we build an MVP first or go straight to the full system?
MVP first, for almost everyone: ship the single workflow that carries the business value in 10 to 16 weeks, learn from real users, then fund phase two from evidence instead of guesses. The caveat is that an MVP is a small version of a well-built system, not a badly built version of a big one; the data model must already support what comes next. An agency that cannot tell you what they deliberately left out of your MVP has not designed one.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
What happens if I stop paying for maintenance after launch?
Nothing breaks on day one, which is what makes it dangerous. Within 6 to 18 months, unpatched dependencies accumulate known vulnerabilities, an integrated API like Stripe ships a breaking change, and the first fix requires a developer to relearn a stale codebase at full price. Budget 15 to 20% of the build cost per year for upkeep; it is the difference between a $500 patch and a $15,000 emergency.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?