I wonder if you found mine.
An inventory system appears super simple until you actually do it. All of a sudden, you find the world is best represented in circular references.
A simple starting point:
you have a table, sku_upc (pk on sku, unique constraint on upc), which obviously maps skus and upcs. Easy start, no problem.
All is fine and dandy, except now you run out of stock on one item, which is fine because you can get some more from your friend down the street. The catch is he has a different sku_upc pairing. Not the end of the world since it is all white-labeled.
great, you build a mapping for that. Add a few tables and problem solved.
Now you get some new supplies from overseas and you see they made a mistake on the SKUs, but that's okay because you can map the new sku_upc to the original and all is fine. Sure, you take a hit on speed, but at least you are accurate.
You open up another box and now you see China actually printed the same upc on every single item in a 50,000 pc container, but at least they kept the *most* of the skus different. You look at the schema design and realize that you are ****ed. The customer is calling you whining that they can't spend the money to pay people to retag all the items, and it is absolute bull**** your inventory system can't handle this case.
Did I forget to mention all of the one-off products they brought from home that don't have upcs on them?
Anyways. That is day one. good luck.