This is a long one.
I used to work with a system that had a SKU number system somewhat akin to the following:
F2R123 on up to 14 characters and they could be alpha or numeric and sometimes there were 2 digits that meant something.
So, in my example, F might be Ford, 2 would be 2-door2, R radial tires, and so on. I used to ask people what happens when you get more than 36 options?
To be fair, the ERP package didn't allow us to define attributes in a sane and normal way. We were pretty much limited to what was in the ERP system when we bought it so if you needed the length of a product, and there was no attribute, the only place it could go was the SKU or in the SKU description field, which is where it usually lived, and that field was limited to 60 characters. So, now, lets go find all the purple Ford models. It lived in the description, but, because there were only 60 characters, and god forbid, the person who input the sku ran out of space, because it might be spelled purp, purple, prpl, prp, pp, etc.
Oh, and I almost forgot, the description field was stored 3 different ways in 3 different tables. In one table in was a straight 60 characters, in the second it was two 30 character fields and the piece de resistance, it was stored in a 60+ character field with a new-line character in the data after the 30th character.
Their customer numbers came with their own set of problems. They looked like 11000100.
With the first 2-digits meaning warehouse 11. So, when they created customers they had to have the first 2-digits mean something. Of course, every single place in the system that you'd have looked for that also had a warehouse code, well, except one which I'll talk about in a second, so you didn't need the 2-digit starting code. Now, here's where it got interesting. We had people who created their codes outside of the guidelines, so instead of using 11, they were using 12, oops. But, there was still a further complication. A customer could buy from multiple locations so we dealt with that by entering a sub-warehouse code, so that the code above, if the customer purchased from warehouse 19, would be 11000100-1901. And, yes, you could write an order from warehouse 11 using warehouse 19's code.
Ah, but there's more. The credit system treated each of those as individual accounts. So, it worked something like the following:
Cust # Credit Limit Balance
11000100-1001 10,000 9,000
11000100-1301 10,000 5,000
11000100-1501 10,000 9,000
Total Credit we wanted to give him 10,000. Total credit available 30,000. And, because each of these were separate warehouses, there was a different credit person working on each of these. The system, actually, had a further complication. There would be something akin to 11000100-0 which, in theory, denoted the parent account and would include the total of the AR, except, it didn't. It was another record just like all the rest except that the vendor gave it "special" meaning in a couple of places.
Before I left a lot of this was cleaned up, and, because it was an old company most people knew where the bombs were but what a mess at times. And the worst part, it wasn't all our fault. The vendor actually encouraged some of this behavior as workarounds because their system didn't do what we needed, or wanted, it to do.
Oh, and this was further complicated by the fact that, depending on who was in charge during my time there, we had compensation plans that paid a single rep per customer, multiple reps per customer, and different reps depending on the product that was sold to said customer. In my last 2 years there I think the commission plan changed 4 times and no, not one time did sales go up, although several reps went from making 80K to 140K, give or take.
And, I haven't even talked about the grand plan they developed to track inventory which left a warehouse, got on a truck, and was never seen in the system again until it landed, and, yes, it could go to a different warehouse and get off and on another truck. If, by chance, it was returned (and believe me accuracy ceased being our core skill by the end of all this), the material on paper would go to one warehouse but physically it went to another. No, really. These last 2 were designed by our new regime which was going to lead us to profitability. Absolutely insane.
By the end of all this I was pretty bitter. It got especially bad because the new management team was making decisions on things and excluding people from their meetings who might disagree with them. I made it worse for myself because I developed a propensity for making statements like "are you guys serious", only to find out that it was the new president's idea. And, the actions they were taking only escalated the problem on both our ends. I should have left 2 years before I did because the writing was on the wall that far back.
And with that, I'm done.