У меня немножко другое решение, но пишу для себя и буду в скором времени продавать. Сложно, постараюсь в двух словах объяснить.
Есть допустим 5 поставщиков которые предоставляют свои прайс листы, у каждого прайс лист уникальный в своём роде, но у всех есть свой артикул(SKU). К артиклу привязано количество на складе у поставщика. При чём у одного может быть закончиться товар, а у другого на оборот быть, причём по разной цене.Если товар вдруг пропадает у всех поставщиков, то позиция отключается. Позиций может быть много, сейчас тестирую от 1к-5к позиций. Система помнит все загрузки, каждого поставщика, каждую позицию и все изменения цен. Опять же всё через sku. Если появляется новая позиция(sku), то при заливке по формуле ставиться своя цена.
Сейчас у меня в базе около 2800 позиций и если у разных поставщиков появится одна и та-же позиция по разной цене и с разным количеством на складе, для меня это уже не будет сюрпризом.
Даже если вы найдёте подобный модуль под себя, вам все ровно придётся его дорабатывать и это не одна неделя или месяц + куча подводных камней. Ни один модуль который продаётся среди дополнений не подойдёт для серьёзного бизнеса как готовое решение. Каждый модуль надо докручивать и допиливать.