§ Guide · Component decisions

Why Component Decisions Shouldn't Live Inside Individual BOMs

A component's lifecycle status is a fact about the part, not about the board it happens to sit on. Store that fact inside individual bills of materials and you create as many copies of it as you have BOMs — and every copy ages separately.

Reviewed by Mason, FounderLast reviewed
Book a workflow review

Consider an ordinary case. The same manufacturer part number appears in BOM A, BOM B, BOM C, and BOM D: four assemblies across three programs. In March the manufacturer marks it NRND. Engineer A, working on BOM A, finds out, evaluates two candidates, picks one, and writes the outcome into the BOM A spreadsheet. In August, Engineer B hits the same part on BOM C, finds nothing recorded about it, and repeats the research from scratch — arriving at a different candidate for reasons that are also defensible. Engineer C, on BOM D, never learns the part is NRND at all. Procurement keeps its own lead-time notes in a separate tracker, undated. A year later a customer asks why the design changed, and nobody can reconstruct the reasoning.

Nothing in that story requires anyone to be careless. Four competent people did reasonable work; the organization still paid for the same investigation twice, shipped two different answers to one question, and lost the rationale for both. The failure is structural: the decision was filed under the BOM that happened to surface the problem rather than under the component the decision was actually about. This article makes the case for the opposite default — decide once, at the component level, with the affected BOMs and programs visible while you decide — and is honest about where that default needs exceptions.

A component is shared organizational knowledge

Two kinds of information get written on a BOM line, and they behave very differently. The first kind describes how one design uses a part: how many, at which reference designators, on which revision. That information is genuinely local — it is meaningless outside the assembly it belongs to, and it should live with the assembly.

The second kind describes the part itself: what the manufacturer says about its lifecycle, which replacements exist, what the market looks like, what your engineers learned the last time they worked with it. None of that changes when you open a different BOM. The manufacturer did not issue a different NRND notice for BOM C than for BOM A. Yet in most organizations this second kind of information is stored in the same place as the first — copied into a column, once per bill of materials, once per team, once per spreadsheet.

The moment a fact is duplicated, it stops being a fact and becomes several versions of one. There is no mechanism keeping the four copies aligned, and nothing marks which copy was checked most recently. Whoever opens a spreadsheet reads whatever that spreadsheet last happened to say.

BOMs represent usage; component records represent part-level truth

The distinction worth institutionalizing is this: a BOM answers where a part is used and how much of it, and a component record answers what the organization knows and has decided about the part. Both are necessary, they answer different questions, and they should not be stored in the same field.

A useful test when deciding where something belongs: would this value be identical for a different board that uses the same part? Quantity fails the test — a power supply uses four of a capacitor where a sensor board uses one. Lifecycle status passes it — the part is NRND everywhere or nowhere. Sourcing estimates pass it. The datasheet passes it. The reason your team rejected a replacement passes it, because the specification comparison that drove the rejection was about the part, not about one board's use of it.

The reference table further down sorts the fields you are likely to be tracking today by which level they belong to. Most teams find that a third of the columns in their BOM spreadsheet are component-level facts wearing a BOM-level disguise.

What drift looks like in practice

Storing part-level facts per BOM does not fail loudly. It fails as a slow divergence that nobody notices until a decision depends on it:

  • Two spreadsheets carry different lifecycle values for the same manufacturer part number, and both were correct on the day they were written.
  • An alternate evaluation is redone because the previous one cannot be found, and the second engineer reaches a different conclusion using different weighting.
  • A part is marked "do not use for new designs" with no attached reason, so the next team either ignores the flag or spends a week re-deriving it.
  • The lead time procurement is planning against and the lead time engineering quoted in a design review differ by two months, and neither number carries a date.
  • A supplier notice is triaged three times in parallel, by three program teams who never learn the others were working the same part.
  • The answer to "what did we decide about this part" depends entirely on which person you ask first.

A decision without a visible blast radius is a guess

Before you change a part's lifecycle status, approve a replacement, or override a lead time, there is one question you should already have answered: what does this touch? Not approximately — specifically. Which BOMs, which revisions still in production, which shippable products, which programs, and what quantity each of them consumes.

The same status change means entirely different things at different reach. Marking a part NRND when it appears on one BOM in a program that has already shipped its final unit is bookkeeping. Marking the same part NRND when it appears on fourteen BOMs across six programs, two of which have builds inside the quarter, is the opening move of a coordinated response with named owners and a deadline.

Nothing about the manufacturer's notice tells you which situation you are in. Only your own usage data does — and if the usage data is scattered across per-team files, the reach is unknowable at the moment you most need it. Teams that decide with the blast radius visible make the same decisions faster and revise them less often, because they are not discovering the scope after committing to a response.

One component decision, many programs

The objection to component-level decisions usually arrives in this form: our programs are different, so a shared decision cannot possibly fit all of them. The objection is half right, and the half that is right is worth taking seriously.

What is shared is the fact and the evaluation: the part is NRND, the manufacturer named this replacement, the team assessed these candidates and found these specification differences, sourcing looks like this. What is not shared is the response. A program in sustaining production with inventory covering remaining demand, a program six weeks from a production build, and a program still in layout will correctly do three different things with one identical fact.

Separating the two is what makes the shared record workable. Establish the part-level truth once, with its evidence, and let each program own its response — with the response, and its reason, recorded against the part so the next program can see what the others chose. The matrix below sketches how a single part-level fact lands across common program situations.

Exceptions are normal — they just need context

A component-level decision should behave as a strong default, not a mandate that propagates unreviewed into every design that touches the part. Automatic propagation without review is its own failure mode: it applies one team's judgment to boards that team has never seen, in thermal, mechanical, firmware, and regulatory contexts it did not evaluate.

The useful discipline is not to prevent exceptions but to require that they carry context. An exception recorded as a blank cell is indistinguishable from an oversight. An exception recorded with a scope, a reason, an owner, and a condition for revisiting is a decision — and it can be reviewed later by someone who was not in the room.

  • Scope: which BOM, revision, or program the exception applies to, and nothing beyond it.
  • Reason: the constraint that makes the shared decision wrong here — an approved-supplier list, a qualification already completed, a customer-mandated configuration, an imminent build.
  • Owner: the person accountable for the exception, not the person who entered it.
  • Revisit condition: what would make this exception unnecessary, or dangerous, so it does not quietly become permanent.
  • Evidence: whatever justified the carve-out, attached rather than described from memory.

The organizational component catalog

The structure that makes all of this practical is a component catalog: one record per distinct part the organization actually uses, holding the part-level context, and linked to every BOM line that consumes it. It is built from the BOMs you already maintain rather than as a separate data-entry project, which matters — a catalog that has to be curated by hand is a catalog that will be abandoned by the second quarter.

It is worth being precise about what a decision catalog is not. It is not a parametric search engine; you are not cataloguing the component universe, only your own parts. It is not a PLM item master; the item master governs identity and formal change control, and the two coexist comfortably — one holds the controlled record, the other holds the operational knowledge and evidence that precedes and outlives any single change order. It is not a procurement system, and it is not a substitute for the reference databases your team already licenses.

PCNshark implements this as its component catalog: every distinct part across your uploaded BOMs resolves to one shared record carrying lifecycle status with the evidence behind it, where the part is used, alternate recommendations on Team plans and above, distributor sourcing estimates refreshed on demand, datasheets, notes, and a part-level decision history of who changed what, when, and why. A reviewed manual decision is never silently overwritten — conflicting newer evidence is flagged for review instead. The decisions themselves stay with your engineers; the catalog is where they land.

Moving decisions up a level without a rewrite

This does not require a migration project, and starting with a complete catalog of every part is the reliable way to never finish. The practical path is narrow and incremental:

  • Start with the parts that already hurt — the ones that have generated a notice, an escalation, or a repeat investigation. They are a small fraction of the part count and nearly all of the pain.
  • Name one canonical location for lifecycle status, and demote every other copy to a view. A spreadsheet column that reads from the canonical record is fine; a spreadsheet column that competes with it is the problem.
  • Require evidence with the status. A status with no attached basis and no date is an opinion, and it will be treated as one by the next person who reads it.
  • Resolve usage before applying a change, so the reach is known at decision time rather than discovered afterwards.
  • Record the reason as a constraint rather than a label. "Obsolete" is a status; "manufacturer discontinued, last-time-buy passed, no qualified second source" is a reason.
  • Give exceptions the same structure as decisions. If the carve-out is not worth documenting, it is probably not worth making.

What this does not fix

Moving decisions to the component level solves a specific problem — the same knowledge being re-derived and then lost — and it is worth being clear about what it leaves untouched.

It does not fix part-number hygiene. If the same component is entered three ways across your BOMs, a shared record simply becomes three shared records; normalization and manufacturer confirmation still do real work. It does not make the decisions. Choosing between a bridge buy, an alternate, and a redesign remains an engineering and commercial judgment with schedule and qualification consequences no record can weigh for you. It does not remove program-level review, and it should not: the shared record supplies the fact and the evaluation, while the response stays with the people accountable for the product.

What it does change is the starting point. The next engineer who opens the part begins from what the organization already learned, rather than from an empty page.

Which level does each piece of context belong to?

A sorting exercise for the columns you are tracking today. If the value would be identical for a different board that uses the same part, it is component-level context and should be stored once. If it changes per assembly, it belongs on the BOM line.

Quantity per assembly
BOM level. Two boards using the same capacitor use different numbers of it; the count describes the design, not the part.
Reference designators
BOM level. C14 and C15 have no meaning outside the schematic they came from.
Board revision
BOM level. Revision C may still use the part where revision D has already designed it out. Exposure lives on the revisions you actually build.
Assembly and product
BOM level. Which board the BOM describes, and which shippable product that board rolls up into.
Program
BOM level. Schedule, volume, customer, and approval regime — all of which shape the response to a part-level fact without changing the fact.
Fitted or do-not-populate status
BOM level. Whether a line is actually populated is a decision made for that assembly.
Lifecycle status
Component level. Active, NRND, end-of-life, or obsolete is the manufacturer's position on the part, and it is identical everywhere the part is used.
Evidence behind the status
Component level. The notice, letter, distributor signal, or engineering judgment that justifies the status — with the date it was current. A status without a basis is an opinion.
Alternate candidates and evaluations
Component level. The manufacturer's recommended replacement and any functional candidates the team assessed, with the specification differences that mattered.
Sourcing context
Component level. Stock, minimum order quantity, price breaks, and lead-time estimates describe the part in the market, not one assembly's demand for it.
Datasheet and qualification documents
Component level. One authoritative copy attached once, rather than one download per engineer in one folder per person.
Engineering notes
Component level. Application caveats, known errata, layout gotchas, and stated preferences that any team using the part should see before they rediscover them.
Decision history
Component level. Who changed what, when, from what value to what value, and why — the part's own record, not a BOM's.

One part-level fact, several program situations

A single component decision lands differently depending on where the part is used. The fact stays shared; the response is owned by the program. Common situations and a plausible path for each:

SituationPotential response
The part appears on one BOM, in a program that has shipped its final unitRecord the status and its evidence; close with no design response required
Several BOMs, all in sustaining production, with inventory covering remaining demandSet the shared status, then track consumption per program rather than opening a redesign
One affected program has a production build inside the decision windowRun that program on a recorded, time-boxed exception while the shared evaluation proceeds elsewhere
One affected program is still in layoutApply the decision immediately for that design — the cost of changing is lowest before the board is committed
Affected programs sit under different customer or regulatory approval regimesKeep one component-level status; let requalification scope, evidence, and timing differ per program
Two programs have already adopted different replacementsReconcile at the component level: record both evaluations and their reasoning, then decide whether one becomes the preferred direction
One program already qualified a second source the others never didRecord the qualification as component-level evidence, scoped to where it applies, so the next team finds it instead of repeating it
New evidence contradicts a decision a program already made and reviewedFlag the conflict for review rather than overwriting it; a reviewed decision should never disappear silently

These are potential paths, not automatic rules. The right response depends on remaining demand, service obligations, qualification requirements, customer and regulatory commitments, and commercial constraints that only the accountable team can weigh.

Signs your component decisions are trapped inside BOMs

None of these are catastrophic on their own. Together they describe an organization paying repeatedly for knowledge it already has.

  • The same manufacturer part number carries different lifecycle values in two spreadsheets
  • An engineer re-runs an alternate evaluation a colleague completed last quarter
  • Nobody can say why a part is flagged "do not use for new designs"
  • A lifecycle status is changed without anyone knowing how many BOMs it touches
  • Procurement's lead-time notes and engineering's status live in tools neither side opens
  • The rationale for a change left the company with the person who made it
  • One supplier notice is triaged in parallel by teams who never learn of each other
  • Datasheets and qualification evidence exist only in per-person folders
  • The answer to "what did we decide about this part" depends on who you ask

Ready to put this into practice on your own BOMs?

Start your 14-day trial
§ FAQ

Frequently asked questions

01What is the difference between a BOM and a component record?
A BOM describes one assembly: which parts it uses, in what quantity, at which reference designators, on which revision. A component record describes one part: its lifecycle status and the evidence behind it, the alternates that have been evaluated, sourcing context, documentation, and the history of decisions made about it. The BOM answers where and how much; the component record answers what we know and what we decided.
02Doesn't our PLM already do this?
PLM systems hold the item master and govern formal change control, which is a different job. The item master establishes identity and approval; a decision catalog holds the operational knowledge and evidence that precedes a change order and outlives it — why a part was flagged, which candidates were rejected and on what grounds, what sourcing looked like at the time. Many teams run both, with the catalog feeding the change process rather than replacing it.
03If a part is marked NRND at the component level, does every BOM have to change?
No, and treating it that way is how component-level decisions get resisted. The shared record establishes the fact and the evaluation. Each program still decides its own response, which will legitimately differ between a design in layout, a program mid-build, and a product in sustaining. What should be shared is the fact, the evidence, and the reasoning — not a forced uniform action.
04Who should own a component-level decision?
Ownership varies by organization, but the workable pattern is that component engineering owns the part-level fact and its evidence, supply chain owns sourcing context and buy decisions, and each affected program owns its own response. The record should name a person for each, because an unnamed decision is one nobody can be asked about later.
05How is this different from a parts library in our EDA tool?
An EDA library holds design-time assets — symbols, footprints, simulation models, and often an approved-parts list. It answers whether a part may be placed in a new design. A component decision catalog answers what has happened to the parts already in your products: lifecycle changes, evaluations, sourcing shifts, and the reasoning behind past calls. The two are complementary, and a lifecycle decision usually needs to reach both.
06What if two teams disagree about the status of a part?
Surface the disagreement rather than resolving it by overwrite. Both positions usually rest on different evidence — one team read the manufacturer notice, the other watched distributor stock disappear — and the conflict itself is information. Record both bases, flag the conflict for review, and let a named owner reconcile it. Silent overwriting is what makes teams stop trusting a shared record.
§ Sources

Sources & references

  1. 01IEC 62402 — Obsolescence managementThe international standard: obsolescence policy, planning, and resolution strategies at an organizational level.
  2. 02DAU — Adoption of the obsolescence management standard (IEC 62402)Context on why obsolescence is managed as a program-wide discipline rather than per design.
  3. 03Texas Instruments — Product life cycle (ACTIVE, NRND, LAST TIME BUY, OBSOLETE)An example of lifecycle status published once by the manufacturer, per part — not per customer BOM.
  4. 04GIDEP — Government-Industry Data Exchange ProgramA long-running example of the same principle applied between organizations: share the part-level finding once.
Last reviewed

Decide once, with the affected BOMs in front of you

Upload the BOMs your team already maintains and every distinct part resolves to one shared record: lifecycle status with its evidence, where the part is used, alternate recommendations on Team plans and above, distributor sourcing estimates, datasheets, and a part-level decision history. A 20-minute workflow review walks through it against your own parts.

Start your 14-day free trial on Starter or Team. A payment method is required; cancel before the trial ends to avoid being charged. Scale is a paid plan and starts immediately rather than with a trial.