# Specifying BOM substitutions / alternatives with Contract Manufacturer (CM)

I fear this question may be opinion based but I think it has some value to the general community - because this falls into the end of the design phase.

When working with a CM, they may have better pricing due their volume and as a design method, should you allow the CM to make changes to the BOM (provided you specify which components may be substituted) or is it industry practice to allow specify the components and alternatives and that's it ?

• I would ask them for their recommendations for you to approve, or see if they'll share their price list with you so that you can use that to guide your design. Keep in mind that manufacturers often have short time horizons: in my experience most manufacturing types will tell you what prices are right now, and won't even understand the concept of "what will be cheap next year?" (but there are good ones out there who can occasionally lift their eyes from the trail one day ahead, and look into the future a bit). – TimWescott Sep 17 at 19:39
• I think it's fairly common to allow "generic" for non-critical parts (in less critical products anyway). If you really want to trim cost you should consider a cost cutting redesign that opens it up a bit more than just substitution. A CM may be able to suggest alternative chips etc. – Spehro Pefhany Sep 17 at 19:46
• @TimWescott good point. Definitely something to keep in mind. When you have your initial component selected (pre board layout), would you go to them and ask them at this point - or do you wait until you know your project is good and ready (prototyped , tested etc..) ? – efox29 Sep 17 at 19:56
• @SpehroPefhany that's what has happened where they would suggest things. What I would like is to create the necessary environment for them to find alternatives for us and right now, I don't think we do that - which is the reason for the question. – efox29 Sep 17 at 19:57
• It really depends on what your quantities are and who the manufacturer is. If I want to go for low price, I usually kit things myself – Voltage Spike Sep 17 at 20:04

This is exactly why a BOM doesn't normally specify a manufacturer and part number directly. Instead, the BOM references in-house part numbers, and each in-house part number has an AVL (approved vendors list) associated with it. This level of indirection allows you to add (or remove, if necessary) manufacturers and their specific part numbers to the in-house number without having to update every BOM that uses that part. And it allows your purchasing department (or that of a CM) to pick the vendor that they prefer for whatever reason from that list.

You asked about a sample of AVL data. This is a function that can be provided by any good MIS (Manufacturing Information System) or ERP (Enterprise Resource Planning) software. I'm a one-man consulting shop, so I don't use a commercial system; instead, I came up with my own tools that I use to support clients.

They're based on a simple database. Here's a snippet of a dump of that database showing some relevant records:

A: Enpoint 6001-0221 - "2x10 2mm female IDC"
C: Enpoint 6001-0221 FCI 89947-720LF                    # (keyed, in tube)
C: FCI 89947-720LF Digi-Key 609-2740
C: Enpoint 6001-0221 Sullins SFH21-PPPN-D10-ID-BK-M181  # (no key, bulk)
C: Sullins SFH21-PPPN-D10-ID-BK-M181 Digi-Key S9078


An "A" record simply describes a part. The fields are:

• Manufacturer
• Part number
• Revision
• Description

In this case, the "manufacturer" is a code for my client, and the part number is my internal house part number.

A "C" record maps one part number to another. The fields are:

• Manufacturer
• Part number
• Manufacturer
• Part number

(The # and anything after it are just comments.) In this case, there are two different mappings for "Enpoint 6001-0221" — one to "FCI 89947-720LF" and one to "Sullins SFH21-PPPN-D10-ID-BK-M181". Either of these parts would be acceptable wherever I use "6001-0221" in a design.

As it happens, both of these are available from Digi-Key, so there's an additional record for each of those parts that maps it to the corresponding Digi-Key part number. This allows me to easily generate a Digi-Key order when I need to restock.

The database has additional record types. "B" records describe the BOM itself, which is usually imported from schematic capture, and "G" records capture price data, including quantity price breaks. This allows me to then generate a "costed BOM" that looks like this:

Hmm. I now see that there are errors in this BOM. But that's OK, since this is a prototype assembly that was long ago replaced by a custom flat-flex cable.

• ah! I was wondering why some larger companies had their own part numbers! – efox29 Sep 17 at 20:36
• @dave tweed: can you elaborate on what that AVL might look like? Does it list a specific part number for each manufacturer? – Dwayne Reid Sep 17 at 20:38
• @DwayneReid: Yes. For each in-house part there is a list of (manufacturer, part number) pairs, where the part number is the specific number or code you would enter on an order form for that manufacturer. If you mostly order through a distributor like Digi-Key or Mouser, you would use their order code, and let them worry about the manufacturer's specific part number. – Dave Tweed Sep 17 at 20:44
• @efox29: Actually, companies of all sizes do this. You're only aware of it for larger companies because they purchase parts in high enough volumes to have their house numbers actually printed on the parts, which helps them streamline their internal inventory control. – Dave Tweed Sep 18 at 13:27
• See edit above. – Dave Tweed Sep 18 at 14:09

For critical components (and obvious for unique components) I provide the manufacturer, manufacturer's part numbers and also provide Farnell/Mouser numbers (since i already used those making the prototypes) and other info, but still inform the CM the manufacturer and manufacturer's part numbers are leading.
For some components I also provide alternatives, still using manufacturer + manufacturer's part numbers.

For less relevant components, like standard decoupling caps, resistors etc, I only provide their value, tolerance being smaller than X, voltage rating being greater than X, and package size, and inform the CM that are free to pick components within these constraints.

I conclude my mail with an explicit statement that their suggestions for alternatives for any component are very welcome, but that these are only approved by a written confirmation (and updated BOM which contains that alternative as well).

• We do this as well in our BOM lists - manufacturer AND distributor part numbers for all parts that are critical to have exactly right. For generic caps and resistors, we note value, size, voltage rating higher than, tolerance better than, and mark them as "Multiple manufacturers". Note that sometimes, caps and resistors can be critical too! – Araho Sep 17 at 21:38
• Before we had this procedure, we once found a CM replacing a mosfet with an alternative with almost exactly the same part number, exactly the same Vds,max, rdson, threshold, etc. Still, this alternative blow up when applying 120% of the default input voltage. Issue: the original mosfet appeared beyond the SOA, even at default input voltage. The original mosfet allowed for exceeding the SOA by a huge margin, the alternative had a smaller margin... Basicly a wrong design, but a nice anecdote compoments with exactly the same basic characteristics/ratings can still fail as alternative. – Huisman Sep 17 at 21:59
• @Huisman interesting point on the SOA. – efox29 Sep 17 at 22:39
• @Huisman that might have happened even with the same part number, I suspect... no guarantee a second batch/bin/wafer of chips would tolerate the same SOA violation – mbrig Sep 18 at 3:54
• if SOA is a thermal time-constant heat-spreading issue, then the same wafer masks should produce a stable SOA IMHO. – analogsystemsrf Sep 18 at 4:37