The UPC number does not, necessarily, contain a product’s item number. As everyone seems to know, the first 6 digits are the manufacture’s identification number ( ie 023922 = Lionel). This number is assigned by the UPC organization, GS1. They insure that every manufacturer has a unique ID. The next 5 digits are assigned by the company to identify the item. The 12th digit is a calculated check digit that is compared to the value the bar code scanner read to insuring that it has been read correctly.
With only 5 digits available, trying to keep an intelligent numbering system in tact becomes more and more difficult as items come and go from your product line. In my case, our item numbers were 2 digits, an alpha, 3 more digits and a possible trailing alpha or two. Clearly this did fit, so UPC item numbers were assign sequentially and kept in our system with the item number. We could create a table of item numbers with their associated UPC number as needed. We also uploaded the UPC and associated item number and other key data to QSR, which was an online catalog that retailers could access and update their system. For some smaller retailers without access to QSR, we could provide an Excel file with all the data they needed for their system.
My guess is that Lionel started to run into limitations in their existing numbering system requiring an expanded item number. These newer numbers will not fit in the 5 digits available so the associated UPS number is not going to match. Another fact of life is that, if you produce enough stuff you need to recycle UPS numbers.
Sorry this is much longer than intended but, hopefully, it may help someone.