Part Numbers: Smart or Dumb?

As long as there have been part numbers there’s probably been someone who’s wanted to code information into them. It’s definitely tempting to do, and can be easy (at least at first), but over time wrinkles can appear in the system. So what’s the best path?

Do you even need part numbers?

We were recently working with a new customer to migrate them into Parts Dashboard, and they weren’t using part numbers. That might seem odd to most engineering and manufacturing people, but this company made everything from a basic text description or from a pattern, and most everything was made just in time, so there was no need to inventory items on a shelf somewhere.

One of the reasons they wanted to use Parts Dashboard was because they were moving towards expanding both their product offerings and their workforce, which made some of their tribal knowledge of which-part-was-which more difficult to pass around. They needed to document things. And in order to make documentation traceable and reliable, it needs a numbering and release scheme. Same thing for parts – one cost saving they identified was moving to small batch production of certain parts. In order to reliably stockpile those parts, they needed to be able to identify them. Hence the need for part numbers.

So then the question became, how do we number these things?

Complexity doesn’t necessarily give you lots of options

The best/worst case I’ve experienced was a company that had been in business for more than a century, and had a small number of long-standing products but that were fairly complex and highly configurable. They’d recently begun adding new products fairly frequently and were having issues with their smart part numbering system. They had a 12-digit part number, in which every character separately represented a configurable parameter. That worked well until they ran out of numbers. Just because you have 12 digits doesn’t mean you have 1,000,000,000,000 possible numbers (if the characters are all numeric) or better yet 95,428,956,661,682,176 possible numbers (if all the characters are letters).

Nope, you’ll generally find that there’s one character somewhere in a smart part number that chokes down your list of possibilities to a surprisingly small amount. So that company needed a lot of digits in order to be able to get the few thousands of configurations they ultimately used. And then when they introduced a new product line that didn’t use the configurability of the older products, it was confusing as people were trying to read something from the number that just wasn’t there.

What if you just want to have something like the product line in the part number? Seems innocent enough, right? Imagine a scenario where, through good engineering design practices, you re-use the same part in another product line. Then you modify your original product line and a consequence is that the part is no longer used there. But its part number now refers to a product line where it’s not used, and not to the product line where it is used. That’s not much help.

But a little complexity can go a long way

Josh Mings makes a case for having a part number that is mostly numeric but includes an alpha character in the middle to break it up and make it easier to remember. McMaster-Carr does exactly this with their products, for example this machine screw, 91257A546. If you’re familiar with McMaster, you might recognize how their number is semi-smart: the first section (91257) is the general product while the second section (546) is a variant within that.

Another common approach that’s not too smart for its own good is to combine in the date, or at least the year. An example is: 2018-0257, for the 257th thing created in 2018. This works especially well for things that are time sensitive, like invoices or quotes.

Just treat the part number as an identifier that is simple enough for you to communicate without confusion, and look the rest up from a list of properties. Michel Baudin gives a detailed explanation of why he thinks that’s the correct approach.

What we did

With our new customer we helped them to see that a part number is just a way to uniquely identify one part from the next, and that you don’t want to encode anything more into the number. Yes they will have some variants of a general part, but not many and it’s hard to predict the scope so as to work a system around that. Instead, if you want to know some parameter about the part, look it up using the part number. So we started them at part number 000001 and went up from there. 999,999 unique part numbers will easily cover them for the life of their company.

Parts Dashboard offers several pre-configured auto-numbering sequences. Inside an item type’s configuration you can select which sequence you want to use (so you can use completely different sequence patterns for different classes of things), and you can control the length of the number, and if they’re unique or if you can have the same number used for different types of items (eg: a part and a drawing get the same number). We’ll get into more detail on this in a later post, or contact us for a demo.


While it might seem logical and even obvious that part numbers should have intelligence built into them, it’s generally safer and simpler to just use some kind of incrementing “dumb” number. Your particular situation will determine exactly what’s correct, but if you have to choose one direction over the other then simpler = better.