Задача и выбор
AB-O10 похож на AB-010, а суффикс S кажется лишним. Агрессивная очистка склеила бы разные товары.
Меняю только регистр, внешние пробелы и пробельный разделитель. Буква O не становится нулём, а S остаётся частью ключа. Журнал показывает каждое отклонение.
Что получилось
Рабочий преобразователь обработал 7 строк: 4 записи разнесены по полям, 3 отправлены в журнал исключений. Исходные значения сохранены; результат можно пересчитать на странице и сопоставить с JSON.