У нас оптовый каталог, в который поступают прайс-листы от десятков поставщиков, и каждый присылает данные в своём виде. Кто-то отдаёт таблицы с объединёнными ячейками и разными заголовками, кто-то выгружает XML, а часть партнёров до сих пор шлёт обычные CSV со своими разделителями и кодировками. Сейчас сотрудники переносят колонки вручную, и ошибки попадают в витрину: неверные цены, потерянные остатки, задвоенные артикулы.
Нужен конвертер и валидатор, который читает любой из этих исходных форматов и раскладывает поля по нашей единой внутренней схеме. Сопоставление полей должно настраиваться: колонка поставщика с названием «Арт», «SKU» или «Код товара» должна указывать на одно и то же целевое поле без правки кода каждый раз. После сопоставления инструмент обязан проверять каждую строку: числовые цены, непустые артикулы, допустимые коды валют, разумные диапазоны количества и отсутствие дублей ключа внутри файла.
Всё, что не прошло проверку, не должно молча исчезать. Нужен понятный лог ошибок с именем файла, номером строки и точной причиной, чтобы оператор поправил источник или переопределил правило. Чистые строки уходят в нормализованную выгрузку, готовую к импорту. Опишите, как вы будете хранить профили сопоставления, как обрабатываете битые кодировки и в каком виде показываете лог.