Problems & solutions · Supply Chain

Product Stewardship and Substance Compliance Problems: The 5 That Cost Real Money, and How to Avoid Them

Product Stewardship Substance Compliance Software software overview illustration showing common problems and fixes.
The short answer

The most expensive failure in a substance compliance build is treating part matching as a lookup. A supplier declaration references their part number in their format, and your approved vendor list holds your internal number, a manufacturer part number, alternates and revisions that nobody normalised. If matching is not designed as a first class problem with a confirmation queue, the rollup silently attaches declarations to the wrong parts, and the compliance statement you sign for a customer is wrong in a way that will not surface until their auditor finds it. The consequence is not a fine, it is your part removed from an approved list.

Why does part matching get underscoped so often?

Because on a slide it is a join. Supplier sends a declaration, declaration names a part, system finds the part. In a proof of concept using twenty clean declarations it works, and the project gets funded on that basis.

What breaks it is that a supplier's part string is not your part number. It may be their internal code, the manufacturer part number, a variant with a packaging suffix, an obsolete number superseded twice, or a description with the number embedded in it. Your side is no better: the same physical component sits under an internal number, one or more manufacturer part numbers, and an approved alternate that purchasing qualified last year. Nobody normalised any of it, because inside each system the local identifier was sufficient.

This is specific to substance compliance because the output is a signed statement. A mismatch in a purchasing system produces a late delivery. A mismatch here produces a full material disclosure that says a part is clear when the declaration you matched belongs to a different component.

The fix is to design matching as a component with its own accuracy target and its own confirmation queue. Resolve supplier part strings against your approved vendor list including manufacturer part numbers and known abbreviations, propose a match with a confidence level, and route anything below the threshold to a person. Every extracted value carries a provenance link back to the source page, so an auditor and your own compliance manager can both check it. In our builds, extraction and matching together take handling of a declaration from ten or fifteen minutes to under two, and the traceability is what makes the saving usable rather than merely fast.

What goes wrong with historic declarations and product structures?

Two data problems decide whether the rollup is trustworthy, and both are usually assumed away.

The first is the shared drive. Around a thousand declarations, a third of them more than three years old, some scans of scans, some of your own templates filled in with not applicable across every row. Backfilling all of it sounds like the obvious first step and is often the wrong one, because a declaration whose scope you cannot determine is worse than a known gap: it looks like coverage in a report and is not.

The second is product structure, and it is the one that quietly corrupts arithmetic. Phantom assemblies exist in the bill of material and not in the physical product. Alternates mean the part in the box depends on what purchasing had in stock that week. Process chemicals such as plating, flux, adhesive and marking ink are physically present and frequently absent from the bill of material entirely. Configurable products only resolve their structure at order time. A rollup that treats the engineering structure as the physical truth will be confidently wrong.

The fix on history is to backfill by exposure rather than by volume: your top few hundred purchased parts by spend, plus anything on a product line with active customer requests, and mark everything else as a known gap rather than importing uncertainty. The fix on structure is to encode your own rules explicitly, phantom handling, alternate resolution, process chemical attachment at operation level, and to have the output show which parts contributed, which are evidenced and which are assumed.

Why do enterprise and product lifecycle integrations break after launch?

You need both systems, they answer different questions, and both change without telling you.

The product lifecycle system holds the engineering structure and revision history. The enterprise system holds what was actually purchased against each line. A compliance statement needs both, because the engineering structure tells you what was designed and the purchasing record tells you what is in the box. Integrations here break when an engineering change releases a new revision and the compliance record still points at the previous structure, or when purchasing qualifies an alternate and the alternate has no declaration at all.

The alternate case is the dangerous one, because nothing failed. The part shipped, the customer took delivery, and the statement you issued last quarter no longer describes the product.

What to require: a trigger on new revision release and on new approved alternate, both of which create work rather than passing silently. Structure queries pinned to a named revision so a rollup can be reproduced exactly as it was computed. Integration written against the specific system and version, since a Teamcenter structure query is not a Windchill one and an Arena or home grown structure database is different again. And a reconciliation report that lists parts appearing in purchasing with no corresponding compliance record, reviewed monthly by a named owner rather than emailed to a distribution list.

What happens when list monitoring and statement versioning are left out?

This is the gap that turns a good system into an exposure, because it fails silently and on somebody else's schedule.

The REACH candidate list of substances of very high concern is updated periodically, typically twice a year, and each update can turn a part you have bought for a decade into a reportable article overnight. RoHS exemptions expire on published schedules. Restrictions on other substance groups are moving in several jurisdictions at once. None of that involves any change on your side, which is exactly why it goes unnoticed until a customer asks.

Subscription platforms do monitor the lists, and that is a fair reason to keep one. What they cannot do is tell you which of your open customer commitments are affected, because they do not hold the record of what you told which customer, on what basis, and when.

The fix is to keep every statement you have issued as a versioned object with the data it was computed from, then re evaluate every affected product when a list changes. That produces two work queues: parts needing a fresh declaration, and customers holding a statement that is now stale. The second queue is the one that protects the relationship, because telling a customer before their auditor does is an entirely different conversation from telling them after. Build the versioning into the first release, since statements issued before it exists cannot be reconstructed.

Should you build custom or configure what you already own?

Many manufacturers should subscribe rather than build, and some should do both.

If you have a few hundred purchased parts, one product line and one regulated market, buy. Assent and iPoint will chase your suppliers more effectively than an internal team can, because supplier chasing is a relationship business and they ask on behalf of many customers at once. Sphera operates in the same space. The subscription will cost less than running your own system, and the response rates will be better.

The honest hybrid is the answer more often than either extreme, and it is worth putting to a board explicitly: subscribe for supplier campaigns and list monitoring, and build the part matching, rollup, statement versioning and customer output layer that a subscription cannot fit around your product structures. That combination usually costs less than forcing either approach to do the whole job.

Build the second layer when two or more of these hold. You carry several thousand purchased parts across product lines with different structures. Your rollup depends on one person's workbook and that person has no realistic backup. You have configurable products where the compliance answer depends on the configuration ordered. Your customers each demand a different output format and your team rebuilds packs by hand every quarter. Or you have been asked for full material disclosure rather than a simple compliance statement, which is a far harder data problem than it sounds.

How do hidden costs get into the quote?

These are the lines that move a substance compliance number.

  • Number of regulatory regimes. Each carries its own threshold logic, exemption handling and output format, and they do not share work.
  • Threshold basis differences. RoHS restrictions apply at homogeneous material level while other obligations use article weight, so a declaration giving a percentage against the whole component is not directly usable. Encoding that correctly is real work.
  • Bill of material complexity, especially configurable products and heavy use of alternates, where resolution rules are genuinely hard.
  • Product lifecycle integration, which varies enormously between Teamcenter, Windchill, Arena and a home grown structure database.
  • Historical backfill, meaning how many years of existing declarations you extract and match rather than starting clean. A separate phase with a separate budget.
  • Multi division rollout, where each division numbers parts differently and each insists it is correct.

In Digital Heroes delivery experience, a first release covering declaration intake with extraction and matching, the part level substance data model, bill of material integration and automated rollup with a computed basis runs $60,000 to $140,000 over 12 to 16 weeks. A full platform adding supplier campaign management, list change monitoring with re evaluation, SCIP and conflict minerals outputs, customer specific export templates and a supplier facing portal runs $180,000 to $400,000 over 6 to 12 months.

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

Four things, and the first is what the system outputs.

The answer is never a single compliant flag. It is a statement with a computed basis: which parts contributed, which are covered by declarations, which are assumed, and what the exposure is if an assumption is wrong. That last column is what turns compliance from a claim someone signs into a risk position management can act on, and it is what lets a compliance manager say no with evidence rather than hedge.

Extraction feeds a confirmation queue, always. Any developer promising fully automatic extraction with no human review on data you legally attest to is selling you a risk rather than a saving. Ask what accuracy they will commit to, how it is measured, and how it improves as corrections are made.

Customer output formats are configuration, not code. Every customer wants their own spreadsheet with their own column names in their own portal. If adding a format requires a developer, your compliance team is still rebuilding packs by hand and the highest return automation in the category has been skipped. Log each submission against the customer and the product so the next request starts from history.

And the evidence is yours, in your accounts, agreed before kickoff. This system underwrites statements you sign, which means the declarations, the extracted values, the provenance links and the issued statement history all have to be exportable in an open format. Holding your own compliance evidence is not a commercial preference here. It is the reason the evidence is worth anything.

Research & sources

The evidence behind this guide

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

  1. 48% of private companies cite integration with legacy systems or technical debt as a top obstacle to realizing the full value of their digital and AI investments (behind data quality/availability at 72% and gaps in AI fluency or technology talent/leadership at 53%). Source: Deloitte (2026) →
  2. Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
  3. The EY survey of 508 payroll professionals at U.S. companies with 250-10,000 employees quantifies the direct and indirect cost of payroll inaccuracy, reinforcing the ROI case for payroll automation; the study is the original source of the frequently cited $291-per-error figure. Source: BusinessWire / EY (Ernst & Young) (2022) →
  4. 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) →
Zara E. · Senior Strategist · APAC · Sydney

Zara works as a senior strategist across APAC, sitting between what a client says they want and what the build should actually be. She pressure tests business cases, priorities and sequencing before engineering time gets committed. Read her for the thinking that happens before a project brief is written.

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

FAQ

Frequently asked questions

Why does part matching cause more errors than extraction?

Because extraction has one job and matching has an ambiguous one. A supplier part string may be their internal code, a manufacturer number, a variant with a packaging suffix or an obsolete number superseded twice, and your side holds internal numbers, manufacturer numbers and qualified alternates that nobody normalised. Propose matches with a confidence level, route anything below threshold to a person, and keep a provenance link so both an auditor and your compliance manager can check the chain.

Should we backfill every old declaration on the shared drive?

No. Backfill by exposure rather than volume: your top few hundred purchased parts by spend plus anything on a product line with active customer requests. A declaration whose scope you cannot determine is worse than a known gap, because it appears as coverage in a report and is not. Mark the rest as gaps explicitly, which is both more honest and more useful, since it tells purchasing where to push.

Why does our rollup disagree with what is physically in the box?

Usually three causes together. Phantom assemblies appear in the bill of material and not in the product. Alternates mean the installed part depends on what purchasing had in stock. Process chemicals such as plating, flux, adhesive and marking ink are physically present and often absent from the bill of material entirely. Encode each of those rules explicitly rather than treating the engineering structure as the physical truth, and show which parts are evidenced versus assumed.

What happens to our statements when the candidate list is updated?

Nothing, unless you built for it, which is the problem. The list is updated periodically, typically twice a year, and an update can make a long standing part reportable without anything changing on your side. Keep every issued statement as a versioned object with the data it was computed from, re evaluate affected products on each update, and generate two queues: parts needing a fresh declaration, and customers holding a statement that is now stale.

How do RoHS and REACH thresholds differ in practice?

RoHS restrictions apply at homogeneous material level, so a declaration giving a percentage against the whole component is not directly usable. Other obligations for articles work on weight of the article, which raises the question of how the threshold propagates through an assembly. Get that answered for your products by your regulatory counsel rather than accepting a vendor default, and make sure the system treats the regimes separately, because a single threshold rule produces errors that are hard to detect.

What breaks between our PLM and ERP after go live?

New engineering revisions that leave the compliance record pointing at the previous structure, and newly qualified alternates that arrive with no declaration at all. The alternate case is the dangerous one because nothing failed: the part shipped and the statement you issued last quarter no longer describes the product. Trigger work on both events, pin structure queries to a named revision so a rollup can be reproduced, and reconcile purchased parts against compliance records monthly.

Is the answer a subscription, a build, or both?

Often both, and that is worth saying plainly to whoever signs it. Subscribe for supplier campaigns and list monitoring, because chasing suppliers is a relationship business and platforms such as Assent or iPoint ask on behalf of many customers at once. Build the part matching, rollup, statement versioning and customer output layer that a subscription cannot fit around your structures. That combination usually costs less than forcing either approach to cover everything.

What if suppliers simply will not respond to declaration requests?

That is a commercial problem before it is a software one, and no system solves it alone. What software does is make non response visible and expensive to ignore: response rate by supplier, parts at risk ranked by revenue exposure, and escalation queues tied to purchasing reviews. For critical parts where no declaration is obtainable, the honest options are qualifying an alternate or stating the gap explicitly rather than signing around it.

How much does custom supply chain software cost for a small business?
For a small business, a focused custom supply chain tool usually lands between $15,000 and $45,000, covering one core workflow like inventory tracking, purchase orders, or shipment visibility. Across 2,000+ delivered projects, Digital Heroes sees most small distributors and light manufacturers start in the $20,000 to $35,000 range for a first working version. Adding barcode scanning, multi-warehouse support, or carrier integrations pushes budgets toward $50,000 and up.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
We are a growing distributor. Should we pick SAP Business One or go custom?
If you need full accounting, purchasing, and inventory in one system today, SAP Business One is the faster path; if your pain is operational workflows the ERP handles badly, custom is usually the better spend. Business One gives you a proven ledger and stock control, but changing its workflows means paying certified consultants, and the customization quotes Digital Heroes clients share commonly run $150 to $250 per hour for changes you never own. A pattern Digital Heroes builds often is Business One or QuickBooks as the financial core with a custom order, warehouse, or logistics layer on top.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
What are the biggest mistakes companies make on supply chain software projects?
The top three: replacing every system at once instead of one workflow at a time, skipping data cleanup so the new system inherits years of bad SKUs and phantom stock, and designing screens without the warehouse staff who will use them daily. A fourth is underscoping integrations and discovering mid-project that the ERP connection is half the work. Digital Heroes sees more supply chain projects fail from scope and data problems than from any technical cause.
Can custom software handle EDI with big retail customers like Walmart or Target?
Yes, and this is one of the most common reasons distributors go custom, because retailer scorecards penalize late or malformed documents. The typical build covers EDI 850 purchase orders in, 855 acknowledgments, 856 advance ship notices, and 810 invoices out, usually through a network like SPS Commerce or TrueCommerce rather than raw AS2. In Digital Heroes builds, onboarding your first major retailer adds 4 to 8 weeks and $10,000 to $25,000, with each additional trading partner far cheaper once the pipeline exists.
Who owns the code when an agency builds my supply chain software?
You should own it outright, with full IP assignment on payment written into the contract, and you should walk away from any agency that only licenses the software to you. Insist on the code living in a repository under your own GitHub or GitLab account from day one, not handed over at the end. Digital Heroes contracts assign all custom code, database schemas, and documentation to the client; the only carve-outs should be clearly listed open source libraries.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
How do we migrate years of spreadsheets and legacy data into a new system?
Migration runs as its own workstream: extract and profile the data, clean duplicates and dead SKUs, map fields to the new schema, then do trial loads and a final cutover during a weekend or slow period. Expect 2 to 6 weeks depending on how many sources you have and how dirty they are. Digital Heroes runs old and new systems in parallel for 2 to 4 weeks on most supply chain cutovers so inventory counts and open orders can be reconciled before the legacy system is retired.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
Will custom software scale as we add warehouses, SKUs, and order volume?
Yes, if multi-location support and your target volumes are stated requirements at design time, because a schema built for one warehouse is expensive to retrofit for ten. A well-built system on PostgreSQL comfortably handles millions of SKUs and tens of thousands of orders per day on modest cloud hardware, so scaling cost shows up in hosting bills rather than rewrites. Give your agency the 3-year growth picture upfront even if phase one covers a single site.
Who can build a custom supply chain software system?

Digital Heroes builds custom supply chain 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 supply chain 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?