Объединить прайсы
Когда сделаете универсальное поймете, что нужно в итоге подгонять под каждого поставщика. Лучший способ — сделать универсальный синхронизатор", но под каждого поставщика отдельно настраивать. Иначе Вы получите массу проблем. Как понять что товар одинаковый — тут уже нужно смотреть что за товары и подстраивать поиск совпадений. Не пытайтесь написать экспертную систему — это всегда хуже узкоспециализированной задачи. Если вы конечно не готовы это вылить в отделенный продукт по поиску похожих товаров. 
Скорее всего у Вас будет максимум 5 прайсов. Не 100 ведь? Поэтому, я Вам очень рекомендую воспользоваться тем выходом из ситуации который Вы хотите обойти. Не делайте универсальной задачу там где она Вам больше не понадобится.
Занимаюсь чем-то похожим примерно треть своего рабочего времени последние 5 лет. Около 30 различных поставщиков, состав меняется и растёт. Ассортимент — одежда, бельё, чни. 
В начале делал на каждого поставщика индивидуальный обработчик, потом бросил. Даже крупные брэнды регулярно меняют формат — от расположения колонок и схемы наименования товара до деталей названия каждой конкретной тряпки. А нам было очень важно что бы в нашу базу один и тот же товар попадал всегда одинаково. Получилось, что я дольше проверял правильность выхода и переписывал алгоритмы на каждое изменение чем пользовался ими. В итоге для нескольких стабильных поставщиков есть персональные загрузчики разбирающие входной файл, а для большинства только ручками пополняемая база вида «длинная строка в свободной форме из накладной поставщика» -> набор наших внутренних полей. Приведение формата файла к пригодному к такой обработке тоже полуруками.
Некоторых даже в такую форму загнать не получается.
Впрочем, если не страшны постоянные задвоения строк, то всё становится резко проще.