ERP part numbers to manufacturer part numbers

Apologies if I have this in the wrong topic area.

I’m trying to set us up at my company to use KiCAD for our PCB design. We have an ERP system in place to give internal part numbers to all of our components. Up until now we haven’t included PCB components in this system, but I am working on setting that up as well. The point is to have our BOMs specify ERP part numbers. In the ERP system, for each part, we can list multiple alternate parts.

From a component library standpoint, each ERP part number is like a tag applied to a specific library component. However, multiple components might get the same ERP-number tag, an individual components could get multiple ERP-number tags.

I think this might be doable with derived components by using our ERP-number as the base part and then making the actual manufacturer part numbers the derived parts. However, in the case where a specific manufactured part might have more than one ERP-number (each ERP-number being a different use case), I would have to duplicate that manufacturer part number derived from different ERP-numbered base parts. That seems like a pain.

There is some information on Data Bases here: https://docs.kicad.org/8.0/en/eeschema/eeschema.html#database-libraries that may be of use.

I have no experience with this but a number of regular forum members are very knowledgeable on this subject if you are interested or have questions. :slightly_smiling_face:

in this area KiCAD is a bit lacking, currently it is not possible for a specific database key to associate more than 1 symbol/footprint.
Something can be done for alternative footprints, but the information does not reside inside the DB but inside the library (see here).

there are (at least) a two issues on the topic:

if i understand well what you are planning to do, (not using ERP-number as primary key?) it might work,
but i cannot wrap my mind around on the overall consequences on doing so.

My DB uses the ERP-number as a primary key, all my database relations are based on the assumption that the key is unique.

1 Like

I think that part of the problem is that I haven’t fully thought through exactly what I want to do, but a database based around ERP numbers as the primary key is the core concept. I’m gaming out all of the use cases, though, which is where I got into all of the back and forth between ERP/internal part numbers and manufacturer part numbers. I’m being distracted by the implications of doing this the wrong way!

Basically, I want to use the ERP numbers in my BOMs, but I know that from a design standpoint we often start with the manufacturer part number, so I will need to be able to search for parts based on both numbers. There are some other issues around specific use cases that could complicate things if I don’t plan for them, so right now I am digging through a lot of internal part number best practices documents!

You can include MPN as well as any other useful parameters you might want to search for in the .kicad_dbl file. When you choose a symbol from the symbol chooser, you can search for an any of these parameters - including part number but more generally other characteristics that you have - eg power rating, resistance, dielectric type etc.

I use KiCAD with Odoo Community.

I’ve got a mixture of standard and database symbol libraries, but one thing I learned very quickly (because of what Claudio mentioned) is that if you want the process to be automatic, as I do, you need to have a unique symbol for each unique part if they’re in standard symbol libraries, or a database library.

I’ve got database libraries for resistors, capacitors, inductors, diodes, transistors and connectors.

Standard libraries for other passives, other semiconductor devices, power supply components, and so on.

Generally if it’s a “common” ISH symbol, it’s a database. If it’s more specialised, then it goes into a standard library.

In all cases, I add a field “Part ID” to the symbol. The database libraries all have a “Part ID” field too.

I can now export a BOM from KiCAD directly into Odoo.

The schematic can display manufacturer, manufacturer part number, values, tolerances, and “part specific” attributes, like saturation current on inductors.

Odoo has the MPNs on, as field in the purchasing information. Useful for things like resistors where I might have 3 or 4 alternate parts all under the same number. KiCAD doesn’t know about this, so just has the “prime” part. But it could do, with extra fields.

I do have an issue with the “value” field, but I’m still working on that.