The buyer paths

Maintain BOMs and drawings

Revisions, supersessions, discontinued parts.

A spare parts catalogue is never finished. Parts get superseded, drawings get revised, assemblies get redesigned, and machines built in 2014 keep needing parts. This is the routine that keeps all of that from turning into wrong-part deliveries.

Before you start: this only works with an owner. Someone in service or technical documentation has to own the parts data the way somebody owns the price list. Where it is nobody's job, the catalogue is accurate at go-live and misleading eighteen months later.

The change events you have to handle

Four things happen, and each has a different correct response.

EventWrong responseRight response
A part is supersededOverwrite the old SKU with the new oneKeep both; add replaced_by; disable the old for ordering
A drawing is revisedReplace the fileNew asset, new revision, close the old one's validity range
An assembly is redesigned at a serial breakUpdate the parts listNew positions with valid_from_serial; keep the old ones valid to the break
A part is discontinued with no successorDelete itKeep it findable; say plainly that it is no longer supplied, and what the options are

The pattern is the same in all four rows: add, do not overwrite. Machines in the field are older than your current catalogue, and every overwrite destroys the version somebody still owns.

Handle a supersession

4711-A becomes 4711-B. Do this in order:

  1. Create the successor as a normal product, with its own drawings, prices and stock.
  2. Add replaced_by on 4711-A pointing at 4711-B. One-way, never two-way — see Compatibility and fits-with.
  3. Record why, if it matters. supersession_note: "14 mm bore instead of 12 mm; requires adapter AD-14." A silent substitution that needs an adapter is a return.
  4. Update the BOM positions. Every assembly containing 4711-A needs to decide: does the new machine get 4711-B from now on, or do both remain valid depending on the serial? Usually both, which means a valid_to_serial on the old position and a new position for the successor.
  5. Disable the old part for orderingenabled off, or a lifecycle attribute your channel filters on. Keep the record. It is the bridge from the customer's 2014 invoice, and deleting it breaks the order history of everyone who ever bought one.
  6. Check the chain resolves. 4711-A4711-B4711-C must land on 4711-C in one lookup from the shop's point of view.

Handle a drawing revision

  1. Upload the new sheet as a new asset in the exploded_drawings family, with its own revision and valid_from_serial.
  2. Set valid_to_serial on the previous revision.
  3. Attach the new revision to the assembly, alongside the old one — an assembly holds several drawings, and which one is shown depends on the buyer's serial.
  4. Re-check the hotspot map. Positions moved on the sheet; callouts that were correct on Rev C are not on Rev D.
  5. Confirm the parts list matching the new revision agrees with the sheet.

Never overwrite a drawing file in place. A technician with a 2014 machine and a 2024 drawing will order a part that was not in their machine.

Handle a discontinued part with no successor

This is the uncomfortable one, and it is common on machines over fifteen years old. There is no replacement, and there will not be one.

Say so, on the page, in words a technician can act on:

4711-A is no longer supplied. This part was last delivered in 2019. For machines with serial FS200-2014-… we can offer a repair of the existing part or an upgrade to the BG-4400-R dosing head. Please contact service.

That page does three things a "no results" page does not: it confirms the buyer found the right part, it tells them the search is over, and it gives them a next step. Every one of these pages is a conversation your service desk was going to have anyway; having it in writing, once, is cheaper.

Notify customers of supersessions

If you know which customers own which machines, a supersession is something you can tell them about instead of waiting for them to discover it mid-breakdown.

Three notifications, in descending order of value:

  • "A part in your machine has a successor." Sent to organizations whose installed base contains the superseded part. Include the note about what changed and whether an adapter is needed. This is the one customers thank you for.
  • "A part you have ordered before is now supplied differently." Derived from order history, so it works even without a registered installed base. Lower precision, still useful.
  • "This part will be discontinued on ." A last-time-buy notice. Machine operators plan around these, and the announcement generates orders.

Do not turn this into a newsletter. A maintenance manager who gets a monthly digest of 40 supersessions stops reading; one who gets a message about their machine reads all of it. Route these through Notifications, and record the outbound contact so your service desk can see it — see Customer activity.

The routine

Per change, same day. Supersessions and drawing revisions, handled as above, at the moment engineering releases them. A backlog of supersessions is a backlog of wrong orders.

Weekly. Run the coverage checks in BOM and drawing quality. Fifteen minutes.

Monthly. Reconcile against the source. Pull the BOM export again for the assemblies that changed and compare position counts. Divergence between the ERP and the shop is silent until a customer finds it.

Per new machine series. The full modelling pass, and a check that the series before it is still correct. Each series is cheaper than the last, and each one also adds to what has to be maintained — count that in.

What to check

  • No orphan supersessions. Every replaced_by chain ends at an orderable part or at an explicit "no successor" page.
  • No superseded part is still orderable.
  • Every drawing revision has a validity range, and the ranges neither overlap nor leave gaps.
  • The oldest machine series you support still resolves. Pick a serial from 2011 and follow it to a parts list. This is the check that finds the damage overwrites have done.

Next