PLM Product Compliance: Tracking RoHS, REACH and SCIP Substances Through the BOM

PLM Product Compliance: Tracking RoHS, REACH and SCIP Substances Through the BOM

PLM Product Compliance: Tracking RoHS, REACH and SCIP Substances Through the BOM

A single connector in a single product can stop a shipment. The part passes every electrical test, the drawing is released, the supplier’s datasheet says “RoHS compliant”, and then a Candidate List update lands and a substance in that connector’s plating now exceeds 0.1% by weight of the article. Nobody on the engineering team knew, because the substance was never recorded against the part in the first place. PLM product compliance is the discipline of making that impossible: treating substances as first-class data attached to the bill of materials (BOM), recomputed automatically whenever either the product or the regulation changes.

This matters now because the regulatory surface keeps widening. RoHS carries ten restricted substances, the REACH Candidate List has grown past 250 entries, the SCIP database turned article-level substance disclosure into a filing obligation, and the Digital Product Passport is arriving behind them. Spreadsheets and supplier emails do not scale to that.

This post lays out a reference architecture for substance tracking: the data model, the supplier declaration exchange, the rollup algorithm, change-triggered re-evaluation, and a runnable Python rollup of a synthetic BOM.

What this covers: the regulations and their thresholds, the compliance data model inside PLM, IPC-1752A and IEC 62474 declarations, the homogeneous-material and article-level rollup logic, exemption and expiry tracking, SCIP submission data, the Digital Product Passport relationship, failure modes, and a decision matrix for build versus buy. This is engineering analysis, not legal advice.

Context and Background

Three regulatory regimes drive most electronics and machinery compliance work in the European Union, and each one asks a different question of the same BOM.

The Restriction of Hazardous Substances Directive, 2011/65/EU, known as RoHS, restricts ten substances in electrical and electronic equipment: lead, mercury, cadmium, hexavalent chromium, polybrominated biphenyls (PBB), polybrominated diphenyl ethers (PBDE), and four phthalates (DEHP, BBP, DBP and DIBP) added by Directive (EU) 2015/863. The limits are expressed as a maximum concentration by weight in homogeneous materials, 0.1% for most substances and 0.01% for cadmium. The question RoHS asks is: does any single homogeneous material in this product exceed its limit, and if so, is there a valid exemption?

REACH, Regulation (EC) 1907/2006, asks a different question. Substances of very high concern (SVHC) are placed on the Candidate List by the European Chemicals Agency (ECHA). If an article contains a Candidate List substance above 0.1% weight by weight, the supplier must give recipients enough information to allow safe use, under Article 33. Consumers can request the same information and the supplier must answer within 45 days. The European Court of Justice settled in case C-106/14 that the 0.1% applies to each article incorporated into a complex product, not to the finished product as a whole. That ruling changed how every complex-product maker has to roll up data: the denominator is the smallest article, not the assembly.

The third regime is the SCIP database, created under the Waste Framework Directive. Since 5 January 2021, suppliers of articles containing Candidate List substances above 0.1% w/w have had to submit information to ECHA so that waste operators can see what is inside products at end of life. A submission carries the article identification, the substance name and concentration range, and its location within the article. One status note is important: in December 2025 the European Commission proposed, in its environmental omnibus package, to repeal the SCIP database, citing limited effectiveness and administrative cost and pointing to the Digital Product Passport as the replacement. That is a proposal that must still pass Parliament and Council, so until it is adopted the obligation stands. Check the current legal position before changing a process.

What all three share is a data problem. The ECHA Candidate List has been updated in batches, in recent years usually a couple of times a year; the February 2026 update, effective 4 February, brought it to 253 entries according to testing-laboratory bulletins, with later updates to be checked at ECHA directly. RoHS exemptions in Annexes III and IV expire on published dates and are renewed or withdrawn by delegated directives. Suppliers change formulations without telling anyone. A compliance state computed once at release is therefore stale within months.

Most manufacturers already hold the structure needed to fix this. The engineering BOM, the manufacturing BOM and the part master live in PLM, and the relationships between them are covered in our walk-through of EBOM to MBOM transformation. What is usually missing is the substance layer below the part, and the engine that rolls it up the structure. The European Commission’s REACH regulation overview is the authoritative starting point for the legal text itself.

Why spreadsheets fail at this

Spreadsheet compliance fails in three predictable ways. First, it is not versioned against the BOM, so a revision of an assembly silently invalidates the declaration. Second, it cannot re-run itself when the Candidate List changes, so teams discover problems when a customer questionnaire arrives. Third, it flattens the structure: a spreadsheet row per part cannot express that the same substance sits in a solder joint on one board and a coating on another, with different masses and different articles as the denominator. Any architecture worth building has to fix all three at once.

A thesis worth stating

Most descriptions of this topic treat compliance as a document-collection problem: gather declarations, file them, answer questionnaires. This post argues the opposite. Compliance is a derived view over the BOM. The primary data is the substance composition of each purchased part and the mass of each homogeneous material. Everything else, RoHS status, REACH Article 33 duty, SCIP payload, customer report, is a query over that data at a point in time against a regulatory list at a point in time. If you model it that way, change handling stops being a project and becomes a recompute.

The Reference Architecture for Substance Tracking in PLM

Direct answer: a PLM product compliance architecture stores supplier material declarations against part numbers, normalises them to a regulated-substance reference list, rolls substance mass up the BOM at the homogeneous-material and article levels, evaluates the result against versioned regulatory rules and exemptions, and re-runs automatically when the BOM or the lists change. Its outputs are RoHS and REACH status, SCIP payloads and customer reports.

PLM product compliance reference architecture from supplier declarations to RoHS, REACH and SCIP outputs

Figure 1: Reference architecture for PLM product compliance, showing declaration intake, a normalised substance store, the rollup engine, versioned regulatory rules, and the outputs that regulators and customers consume.

Figure 1 shows five layers. On the left, suppliers deliver material declarations in standard formats. An intake service validates and maps them to a canonical substance register. The rollup engine pulls the BOM structure from PLM, joins it to the substance register, and applies the rules from a versioned regulatory content store. Results are written back as attributes on the part and assembly objects and exported to the outputs on the right. A change monitor watches two things, BOM revisions and regulatory list updates, and queues recomputation.

Layer 1: Declaration intake and the substance register

Each purchased part needs a composition record: the homogeneous materials it contains, the mass of each, and the substances in each material with their concentration. Suppliers can provide this at several levels of detail. A “full material declaration” lists every material and substance down to a reporting threshold. A “Class A” style statement, in the IPC-1752A vocabulary, only asserts that the part is free of listed substances above limit values. The architecture must accept both and record which one it has, because they support different downstream claims. A bare assertion can support a RoHS conformity statement; it cannot support a SCIP concentration range or an accurate weight-based rollup.

The substance register is the canonical dictionary. It maps CAS numbers, EC numbers, supplier substance names and group definitions to one internal identifier. This is where data quality is won or lost. Suppliers write “lead”, “Pb”, “lead compounds” and “lead and its compounds” for four overlapping things, and a naive string match will miss most of them. A register keyed on CAS where available, with explicit group membership such as “lead and its compounds” containing the individual CAS entries, gives deterministic matching. Each register entry also carries the list memberships that apply to it: RoHS annex, Candidate List with date added, and any other jurisdiction lists the company tracks.

Layer 2: The BOM as the denominator

The rollup needs the structure, the quantities and the effectivity of every item. PLM already holds that, which is the main argument for doing this inside PLM rather than in a standalone tool fed by exports. A variant-heavy product complicates matters, because the substances in a product depend on which options are selected. The approach in our post on 150% BOM variant management and product configurators applies directly: evaluate compliance per configured variant, not on the 150% superset, or a restricted part used only in one option will taint every variant.

Quantity-per-assembly, unit of measure and effectivity dates must all be honoured. If a board uses 40 instances of a resistor, the mass contribution of its lead-bearing terminations is forty times that of one. If a design change replaces a part at a certain serial number, the compliance state differs before and after.

Layer 3: Versioned regulatory content

Rules are data, not code. A rule set records the regulation, the substance list with thresholds, the scope definition, and the exemptions, each with a validity window. Versioning matters because audits ask “what did you know at the time of shipment?”, and the honest answer requires replaying the evaluation against the list as it stood then. Store each list as an immutable snapshot with an effective date; the evaluation record points at the snapshot it used.

Layer 4: The rollup and evaluation engine

The engine walks the configured BOM, accumulates mass by substance within each homogeneous material and each article, and compares against thresholds. The next section covers the algorithm in detail because it is where most implementations go subtly wrong.

Layer 5: Outputs and write-back

Results go back into PLM as attributes on parts and assemblies, with a status, an evidence reference and a timestamp. Release workflows can then gate on them: an engineering change that introduces a non-compliant part is blocked or at least flagged before it reaches manufacturing. Exports feed the SCIP payload, customer questionnaires and the declaration of conformity file. Retrieval over this evidence is also a good target for the kind of assistant discussed in RAG over CAD, BOM and PLM knowledge, provided the answers cite the underlying declaration rather than paraphrase it.

Deeper Analysis: Declarations, Rollup and Change Handling

Supplier declarations: IPC-1752 and IEC 62474

The industry exchange format for material declarations is the IPC-175x family, maintained by IPC. IPC-1752A, with its amendments, supports reporting on bulk materials, components, printed boards, sub-assemblies and finished products, and it has no standard PDF form; it relies on software tools that read and write its XML schema. Amendment 3 added identity codes for declarable substances and defined the Class A statement forms, and it replaced references to the older JIG-101 substance list with references to IEC 62474. IPC states that the JIG-101 list, last at version 4.1 from May 2012, is no longer maintained.

IPC-1752B, published on 1 July 2020, is structured to mirror the ECHA SCIP submission format and allows different declaration classes in one XML file. IPC’s standards page also lists a version C, dated June 2026, and notes that new and revised standards in the series from 2026 onward get JSON schemas while earlier ones remain XML until revised. I could not confirm from public pages what changed between B and C, so check the schema release notes before planning a migration. The practical advice is to design the intake service around an internal canonical model and treat each IPC version as an adapter, so a new schema becomes a new mapper and not a rewrite.

IEC 62474 supplies the other half: a database of declarable substances and substance groups, with a defined process for maintaining it as regulations change. The point of this pairing is that the substance list a supplier declares against is shared. When you request a declaration, you tell the supplier which version of the declarable-substance list you expect, and you record that version with the response.

Be realistic about what suppliers return. A typical response set is a mix of full material declarations from large component vendors, Class A statements from mid-sized ones, and a PDF or email from small ones. The intake service should record a declaration quality grade per part: full material composition, Class A statement, certificate only, or none. Compliance outputs inherit the lowest grade in the structure beneath them, and that inherited grade should be visible in the status. A product that is “RoHS compliant” on the strength of ten Class A statements and one missing declaration is not in the same position as one with eleven full declarations, and the system should say so.

The rollup algorithm

The core question is deceptively simple: given a BOM, how much of substance S is in which unit? The answer depends on the regulation, because RoHS and REACH use different denominators.

Substance rollup for PLM product compliance showing homogeneous material and article level thresholds

Figure 2: Two denominators on one BOM. RoHS evaluates each homogeneous material, REACH Article 33 and SCIP evaluate each article, and the rollup engine computes both from the same composition records.

Homogeneous materials (RoHS). A homogeneous material is one that cannot be mechanically disjoined into different materials. A solder joint is one homogeneous material; a plastic housing with a painted surface is at least two, the plastic and the paint, because the coating can be mechanically separated by scraping. RoHS limits apply per homogeneous material, so a resistor containing 0.5% lead in its glass body and 0% in its terminations is evaluated body and termination separately. The consequence for data modelling is that a part record must hold a list of materials, not a single composition, and each material needs a mass so that cross-part analysis works.

Articles (REACH and SCIP). The article is the unit for Article 33 and SCIP, and per the Court of Justice ruling in C-106/14 the 0.1% threshold applies to each article that is itself incorporated as a component, not to the complex product. In practice the engine treats every item in the BOM that qualifies as an article as its own denominator: the concentration of substance S in that article is the sum of S across the materials it contains, divided by the article’s total mass. Whether a given BOM node is an “article” in the legal sense is a judgement your regulatory team needs to make and record, since a bare PCB, a populated board and a module are all candidates. Encode that decision as an attribute on the node rather than hard-coding it into the algorithm.

The engine then runs three steps for each configured BOM and each rule set:

  1. Expand the structure to leaves with quantities, resolving variants and effectivity.
  2. Accumulate per material: for each leaf part, for each material, for each substance, mass of S equals material mass times concentration of S. Where only a Class A statement exists, record the assertion and flag the mass as unknown.
  3. Evaluate against the rule: per material for RoHS (with exemptions), and per article node for the Candidate List (summing materials within each article, dividing by the article’s mass).

Worked example with runnable code

The following Python implements a simplified version on a synthetic BOM. The data is invented for illustration: the part numbers, masses and concentrations are not real, and the Candidate List used is a two-entry toy. It shows the two denominators, quantity handling and the unknown-data path.

from collections import defaultdict

# Toy regulatory content. Thresholds are fractions by weight.
ROHS = {"Pb": 0.001, "Hg": 0.001, "Cd": 0.0001, "Cr6": 0.001,
        "PBB": 0.001, "PBDE": 0.001, "DEHP": 0.001,
        "BBP": 0.001, "DBP": 0.001, "DIBP": 0.001}
SVHC = {"7439-92-1": 0.001,   # lead (illustrative entry)
        "117-81-7": 0.001}    # DEHP (illustrative entry)

# part -> materials. Each material: mass in grams, substances as fractions.
PARTS = {
    "R-100": {"materials": [
        {"name": "glass body", "g": 0.020, "sub": {"7439-92-1": 0.004}},
        {"name": "termination", "g": 0.010, "sub": {}}],
        "article": True},
    "CBL-7": {"materials": [
        {"name": "PVC jacket", "g": 8.0, "sub": {"117-81-7": 0.0004}},
        {"name": "copper", "g": 5.0, "sub": {}}],
        "article": True},
    "HSG-2": {"materials": [
        {"name": "ABS", "g": 40.0, "sub": {}}],
        "article": True},
    "CAP-9": {"materials": None, "class_a": True, "article": True},
}
BOM = [("R-100", 40), ("CBL-7", 1), ("HSG-2", 1), ("CAP-9", 12)]

CAS_TO_ROHS = {"7439-92-1": "Pb", "117-81-7": "DEHP"}

def rollup(bom, parts):
    findings, unknown = [], []
    for pn, qty in bom:
        p = parts[pn]
        if p["materials"] is None:
            unknown.append(pn)          # Class A only: no mass data
            continue
        total_g = sum(m["g"] for m in p["materials"])
        art = defaultdict(float)
        for m in p["materials"]:
            for cas, frac in m["sub"].items():
                art[cas] += m["g"] * frac
                # RoHS: per homogeneous material
                rohs_key = CAS_TO_ROHS.get(cas)
                if rohs_key and frac > ROHS[rohs_key]:
                    findings.append(("RoHS", pn, m["name"], rohs_key, frac))
        # REACH/SCIP: per article
        if p["article"]:
            for cas, grams in art.items():
                conc = grams / total_g
                if cas in SVHC and conc > SVHC[cas]:
                    findings.append(("SVHC", pn, "article", cas, round(conc, 5)))
    return findings, unknown

findings, unknown = rollup(BOM, PARTS)
for f in findings: print(f)
print("No mass data for:", unknown)

Run it and you get two findings, which show why the denominators matter. The resistor’s glass body is at 0.4% lead, over the 0.1% limit as a homogeneous material, so it is a RoHS finding unless an exemption applies (the real directive has exemptions for lead in glass of certain components, which is exactly why the next section exists). The same resistor is also an article containing 0.020 g times 0.004 of lead (0.00008 g) in a 0.030 g article, about 0.27%, which exceeds 0.1% at article level and therefore triggers the Article 33 duty. The cable jacket is the opposite: DEHP at 0.04% of the PVC is under the limit in the jacket material, and diluted further across the cable, so there is no finding. Finally, the twelve capacitors with a Class A statement produce no mass data, and the function reports them as unknown rather than silently passing them.

Three things in that code are worth carrying into a production design. The quantity (forty resistors) does not change the article-level concentration, because the article is the denominator, but it does change total product mass of substance, which matters for reporting and for any regime with absolute thresholds. The unknown list is part of the result, not an error. And RoHS and Candidate List evaluation use different keys: homogeneous-material fractions in one case, article-level sums in the other.

Exemptions and expiry tracking

RoHS allows time-limited exemptions listed in Annexes III and IV, for example specific uses of lead or cadmium in categories where substitutes are not yet technically workable. Each exemption has a scope description, often narrowly worded by application and concentration, and a validity date. The Commission can renew, narrow or let them lapse through delegated directives.

Model an exemption as an object with four fields: the identifier, the substance and maximum concentration it permits, a scope predicate that the part has to satisfy, and a validity window. The part-level record then carries an exemption claim: “this lead in this material is covered by exemption X.” The evaluation passes the finding only if the claim exists, the scope predicate is satisfied (a human attests to this, since scope text is natural language), and the evaluation date is inside the validity window. Dashboards should show claims sorted by days to expiry and joined to the number of products and revenue lines that depend on each. When an exemption lapses, the system turns every dependent claim red on the same day, and the redesign backlog becomes a ranked list instead of a surprise.

Change-triggered re-evaluation

Compliance changes without anyone touching the design. The Candidate List grows, an exemption expires, a supplier reissues a declaration, or an engineer swaps a part. A compliance architecture must treat all four as events.

Change-triggered re-evaluation sequence for PLM product compliance when the SVHC list updates

Figure 3: Sequence of events when ECHA publishes a Candidate List update. The new list becomes a versioned snapshot, the engine recomputes affected products, and owners are notified with the specific part and article that crossed a threshold.

The sequence in Figure 3 works as follows. When ECHA publishes an update, a content job ingests the new substances, creates a new immutable list snapshot, and emits an event. The engine does not recompute the whole portfolio. It looks up which substance register entries are new, finds every part whose composition record references any of them, walks the where-used relationships upward to affected assemblies and products, and recomputes only those. Because the register is keyed on CAS and EC numbers, the join is an index lookup.

The harder case is a new substance for which no part has composition data. Absence of a match then means “not declared”, not “not present”. The impact report should therefore have two parts: confirmed hits, and parts whose declarations predate the update and do not cover the new substances. Those need a supplier query. Many teams send a standard request with each Candidate List update to the suppliers whose parts fall in the second group, and the system tracks responses until the unknown count falls.

For the other triggers, an engineering change that adds or replaces a part queues the changed assemblies, and a supplier declaration update queues the parts that reference it. The same recompute function serves all of them, which is the practical benefit of the derived-view framing.

SCIP submission data

SCIP submissions are prepared in the IUCLID format and sent through the ECHA Submission Portal. What the rollup engine must provide is the article identification, the Candidate List substance, its concentration range and its location in the article. If you already hold per-material composition, producing the payload is a projection rather than new data collection, and the structure of IPC-1752B was designed to match it, which is the reason to prefer that version when you control the request to suppliers.

Two caveats. First, the SCIP obligation applies to the article supplier in the EU market, and one SCIP notification may cover a complex object with its component articles, so the engine needs a notion of which node you are submitting for. Second, because of the December 2025 repeal proposal mentioned earlier, build the SCIP export as a replaceable output adapter. The composition data underneath will be wanted regardless, since the Digital Product Passport is expected to need similar information.

Relationship to the Digital Product Passport

The Ecodesign for Sustainable Products Regulation (ESPR) entered into force in July 2024 and creates the legal framework for Digital Product Passports, with product-specific requirements to arrive through delegated acts. The first ESPR working plan, adopted in 2025, names priority groups such as textiles, iron and steel, furniture, tyres, aluminium and mattresses, so electronics are not in the first wave. A secondary source reports that the DPP registry became operational on 20 July 2026, and the EU Batteries Regulation sets battery passport requirements from 18 February 2027; verify both against official Commission pages before relying on those dates.

For a PLM team the conclusion is architectural rather than calendar-driven. Passports will ask for substance of concern information, material composition and recyclability at the product or model level, and they will want it in machine-readable form. A substance register and a rollup engine that already produce per-article composition, with evidence and version history, are most of the way to a passport data source. Treat the passport as another output adapter on the right-hand side of Figure 1. The same logic applies to cyber compliance: our piece on CycloneDX versus SPDX SBOMs for firmware under the Cyber Resilience Act describes the software equivalent of the same idea, a bill of materials as the single source for a regulatory view.

Trade-offs, Gotchas, and What Goes Wrong

The architecture is conceptually clean and operationally difficult. Most failures come from data, not algorithms.

Failure modes in PLM product compliance data quality from supplier declaration to released status

Figure 4: Where compliance data degrades on the path from supplier to released status, and the control that catches each failure.

Declarations that are wrong, not missing. A supplier can return a perfectly formatted full material declaration that is simply inaccurate: copied from a sibling part, carried over from an older formulation, or filled with “not detected” for substances they never tested. Format validation catches none of this. Controls that help are periodic sampling with analytical testing (X-ray fluorescence screening for heavy metals is a common first pass), requiring a declaration date and part revision on every response, and expiring declarations after a fixed period so they must be reconfirmed. The system should show declaration age next to every status.

Substance matching gaps. If the register misses an alias or a group definition, the rollup returns “clean” for a part that contains the substance. Group entries are the usual culprit: a Candidate List entry that covers a family of compounds needs its members enumerated, and the enumeration needs maintenance as the family is understood better. Test the register with known-positive fixtures every time the content updates.

Wrong denominator. Evaluating REACH at the finished-product level instead of the article level understates concentration risk, and evaluating RoHS at the part level instead of the homogeneous-material level can overstate or understate it, depending on how the substance is distributed. Both mistakes are easy to make when a tool was configured by someone who knew only one regulation. Insist that rule sets declare their own unit of evaluation explicitly.

Article classification drift. Which BOM nodes count as articles is a legal-technical decision, and it tends to get made once, informally. Record it as data with an owner and a rationale, and review it when product structure changes, for example when a supplier starts delivering a pre-assembled module where you used to buy loose components.

Exemption cliffs. Teams track the exemption expiry date but not the lead time to redesign and requalify. An exemption that expires in nine months on a part with a twelve-month qualification cycle is already a problem. Add a “needed-by” date to each dependency, derived from the qualification lead time, and alert against that date, not the legal expiry.

Mass data that does not exist. The rollup needs masses, and many declarations give only percentages of the part with no material split. Estimating masses from CAD geometry and density is a reasonable fallback, provided the estimate is labelled as such and not mixed silently with declared values. The same applies to anything a model or an assistant infers; never let an inferred composition appear as a declared one.

Over-reporting. A cautious team that flags every part with any unknown as non-compliant will drown in noise and ignore the dashboard. Distinguish three states clearly: confirmed non-compliant, confirmed compliant at a stated declaration grade, and unverified. Only the first should block a release; the third should create supplier tasks with due dates.

Treating compliance as a release-time check only. A gate at release is necessary and insufficient. Without the change monitor, the product is compliant on the day it ships and a statement of unknown validity afterwards. Equally, avoid recomputing the entire portfolio on every event; as the portfolio grows, targeted recomputation through where-used keeps the load proportional to the change.

Legal interpretation hidden in code. Scope predicates for exemptions, article definitions and the handling of mixtures are interpretations. Keep the sign-off, the date and the reasoning with the rule, so that when interpretation shifts after a court decision or Commission guidance, the affected evaluations can be found and redone.

Practical Recommendations

Start with the data model, not the tool. Define the part-to-material-to-substance structure, the declaration quality grades, and the register keys before selecting software or configuring PLM attributes. Whether you extend your PLM’s native compliance module, buy a specialist compliance platform that integrates with it, or build a thin service, the same objects have to exist, and migrating between vendors is far easier if your declarations and register are stored in open formats.

Sequence the rollout by risk and effort. The highest value comes from covering the parts that dominate mass and the parts known to be high-risk by commodity: platings and solders, plastics with flame retardants or plasticisers, cables, coatings and adhesives. Cover those with full material declarations first. Long-tail parts such as passives from large vendors can go in on Class A statements and be upgraded later.

Wire compliance into change management. An engineering change request should show a compliance impact preview before approval: which assemblies the new part touches, which exemptions it relies on, and the declaration grade. The cost of finding a problem at the change stage is a day; at the shipment stage it is a quarantined batch.

Version everything the audit trail needs: list snapshots, rule sets, declarations, article classifications and exemption claims. Practice an audit replay once a year by picking a shipped serial number and reproducing the compliance statement as it stood on the ship date.

Quick checklist:

  • Part records hold materials with masses and substance fractions, plus a declaration quality grade and date.
  • A substance register keyed on CAS and EC numbers, with group membership and alias handling, is tested against known positives.
  • RoHS is evaluated per homogeneous material, Candidate List duties per article, and each rule set states its unit.
  • Regulatory lists and exemptions are immutable, dated snapshots; evaluations reference the snapshot used.
  • Every Candidate List update triggers a targeted recompute and a supplier query for undeclared parts.
  • Exemption claims carry expiry and needed-by dates and appear in a ranked dashboard.
  • SCIP and passport exports are adapters over the same composition data.
  • Statuses distinguish confirmed non-compliant, confirmed compliant with grade, and unverified.

Decision matrix: how to implement it

Option Best when Strengths Weaknesses
Native PLM compliance module You run one PLM platform and want release gating inside it Tight integration with BOM, change and effectivity; one security model Content and rule updates depend on vendor cadence; may lack depth for niche regulations
Specialist compliance platform with PLM connector Many regulations, many suppliers, a dedicated compliance team Curated regulatory content, supplier portals, mature IPC-1752 handling Another system and sync boundary; BOM drift between systems is a standing risk
Custom service on the PLM data Unusual product structure or strong internal data engineering Full control of rollup logic and data model; open formats You own regulatory content updates and every edge case; legal review is on you
Supplier-questionnaire process in spreadsheets A handful of products, low change rate Cheap to start No recompute, no versioning, poor audit replay; does not scale past a few dozen parts

Vendors differ in features and change them often, so treat the table as a pattern comparison and evaluate against your own requirements. None of this is legal advice; consult qualified regulatory counsel for decisions on your products.

Frequently Asked Questions

What is PLM product compliance?

PLM product compliance is the practice of managing regulatory substance data inside the product lifecycle system. Supplier material declarations are attached to parts, substance mass is rolled up the bill of materials, and the result is evaluated against rules such as RoHS and REACH. Because the evaluation is a computed view, it can be re-run whenever the design or the regulation changes, and the outputs feed release gates, customer reports and filings such as SCIP.

What is the difference between RoHS and REACH for a BOM?

RoHS restricts ten named substances in electrical and electronic equipment, measured per homogeneous material, with 0.1% as the usual limit and 0.01% for cadmium. REACH Article 33 concerns Candidate List substances present above 0.1% weight by weight in an article and requires information to be passed to recipients. The denominators differ, so a BOM tool must compute both a material-level and an article-level rollup from the same composition data.

Does the SCIP database still apply?

As of the sources I checked, yes. Suppliers of articles containing Candidate List substances above 0.1% w/w have had to submit data to ECHA since 5 January 2021. In December 2025 the European Commission proposed repealing the database in its environmental omnibus, pointing to the Digital Product Passport instead. That proposal still needs adoption by Parliament and Council, so confirm the current legal status with ECHA or counsel before changing processes.

What is IPC-1752A and how does it relate to IEC 62474?

IPC-1752A is an XML-based standard for suppliers to declare materials and substances in bulk materials, components, boards, sub-assemblies and products, including simplified Class A statements. Its Amendment 3 replaced references to the old JIG-101 list with IEC 62474, which provides the database of declarable substances and groups. IPC also publishes later versions, including 1752B, aligned with the SCIP format. Choose the version your suppliers can actually produce.

How often does the REACH Candidate List change, and what should I do?

ECHA adds substances in periodic batches, historically a couple of times per year; the update effective 4 February 2026 reported by testing bodies took the list to 253 entries. When a batch lands, store it as a new snapshot, find every part referencing the new substances, recompute affected assemblies, and send supplier queries for parts whose declarations predate the update. Check ECHA directly for the current count and dates.

Is a “RoHS compliant” supplier statement enough?

Usually not on its own. A statement supports a conformity claim for that part but carries no material masses, no article-level concentrations and no Candidate List information, so it cannot feed a rollup, a SCIP submission or an Article 33 answer. Record it as a lower-grade declaration, ask for full material declarations on high-risk and high-mass parts, and expire statements after a set period so they are reconfirmed.

Further Reading

By Riju — about

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *