Список чаще всего копируется из спецификации екселя с 2х колонок артикул и количество.
например так (пример на сайте конкурента https://simatic-market.ru/, он не на opencart):
6ES7322-1BL00-0AA0 1
6ES7322-1BP00-0AA0 2
6ES7322-1HF10-0AA0 30
6ES7322-1HH00-0AA0 45
6ES7322-1HH01-0AA0 200
6ES7323-1BH01-0AA0 1
6ES7323-1BL00-0AA0 5
На скрине результат ввода: http://joxi.ru/p27pVdPTZO4pnA
Также предусмотреть обработку следующих ошибок, т.е. сначала обработать строки по правилу:
- Наличие в заказном номере кириллицы. 6ES7223-1РН32-0XB0. Должно быть 6ES7223-1PH32-0XB0.(могу предоставить список транслита кириллицы в латиницу)
- Вместо нуля стоит буква «О». 6ES7134-4GB01-OABO. Должно быть 6ES7134-4GB01-0AB0
- Наличие пробела в номере. Лишние пробелы убирать для нашей расчетного файла подготовки ТКП. 6GK7 243-5DX30-0XE0. Желательно привести к виду 6GK7243-5DX30-0XE0.
- Убрать лишние специальные символы. 7ML54401JB000AA2-Z /C11+Y15. Знака «/» (или другого) быть не должно.
- Этот же пример: отсутствие дефисов между группами заказного номера. 7ML54401JB000AA2-Z /C11+Y15. Должно быть 7ML5440-1JB00-0AA2-Z C11+Y15 (могу в OC организовать поле где будет хранится SKU без дефисов, по нему вытащить SKU с дефисами)
- Этот же пример: буква «Z» обозначает наличие опций в заказном номере. В данном случае это C11 и Y15. «Z» должна стоять после основного заказного номера через дефис. Буквы опций должны быть также на латинице.
P.S. Также в идеале накапливать SKU которые не нашлись на предмет анализа недостающих позиций и в будущем добавления товаров.