Есть готовый вариант того что вам надо - модуль Модуль от RetailFactory.ru: Автоматизация прайсов поставщиков. Импорт товаров, обновление цен и остатков из Excel/XML/CSV файлов
Там как раз есть поле Артикул поставщика, которое скрыто от глаз покупателя. И при этом оно может отличаться от Product code. В это поле и запихнете id поставщика. Плюс импорт из экселя, по расписанию + правила установки цен/остатков. Плюс умеет обнулять остатки по товарам поставщика, которых у него больше нет в прайсе, при этом не трогая остатки других поставщиков.
Для меня это было некоторое время назад прямо спасением - теперь прайсы сами с сайта поставщика загружаются в формате XLS(как они отдают), остатки товаров обновляются по расписанию автоматически. И у меня тоже артикулы на сайте отличаются от кодов поставщиков в прайсах. А до того было несколько лет неудачных экспериментов с парсерами сайтов/автоматической обработкой полученных таким образом данных, постоянными косяками в таблицах csv… и так и не научился иначе убирать остатки товаров, которых больше нет у поставщиков, но которые сохранились у меня на сайте.