Такие проблемы возникают только с товаром, принятым на реализацию, консигнацию, комиссию. Или если нужен анализ.
Для анализа надо программу использовать, а не людей мучать.
Для обычной розницы - какая разница где купили?
Для товара на реализации - соберите воедино все критерии, которые действительно должны быть ясны из кода (ведь по коду можно и просто запись найти, карточку товара), а там уже по количеству этих самых критериев. Если их 5, то дальше следует определить максимальное число вариантов по каждому. Например, фирм, сдающих на реализацию - 10 штук, значит на этот критерий отводится 2 знака в коде. И т.д.