Любая сверка упирается в один вопрос: две эти строки — один товар или два? Пока
ответа нет, ни количество, ни суммы сравнивать бессмысленно. И почти всегда
именно здесь, а не в цифрах, теряется результат.
Разберём, во что превращается одна позиция, пройдя через четыре системы.
Латиница, которую не видно
Начнём с самого коварного. Вот две строки:
- Цемент М400 25кг
- Цемент M400 25кг
Они выглядят одинаково. Это разные строки: в первой буква «М» русская, во второй
английская. Такое возникает само — кто-то набрал название с включённой английской
раскладкой, кто-то скопировал из системы, где так было изначально.
Ни одна сверка по точному совпадению их не сведёт. Глазами вы не отличите тоже.
Позиция раздваивается: по одной половине избыток, по другой недостача.
Тот же фокус проделывают буквы «А», «В», «Е», «К», «О», «Р», «С», «Т», «Х» — все,
у кого есть латинский двойник. Это не редкость и не небрежность конкретного
человека: в любом справочнике на несколько тысяч позиций такие пары есть.
Упаковка вместо товара
Второй источник раздвоения — единицы.
- Молоко 1л
- Молоко 1 л
- Молоко 1000мл
- Молоко, упак. 12 шт
Первые три — одна позиция, записанная по-разному. Четвёртая — та же позиция, но
в другой единице, и количество по ней нужно делить на двенадцать.
Разница принципиальная. Первые три сводятся автоматически: это вопрос
нормализации текста. Четвёртая требует знания, сколько штук в упаковке, — и это
знание есть только у вас.
Опечатки и перестановки
- Сахар-песок 1кг
- Сахар песок 1 кг
- Песок сахарный 1кг
- Сахар песок 1гк
Первые две сводятся чисткой разделителей. Третья — перестановкой слов. Четвёртая
— опечатка, и с ней автоматика должна быть осторожна: одно дело исправить
очевидное, другое — свести две реально разные позиции, потому что они похожи.
Здесь проходит граница между «система решила сама» и «система спросила
человека». Хорошая сверка не пытается угадать: она сводит очевидное, а спорное
показывает отдельной очередью.
Почему ТН ВЭД не решает задачу
Кажется, что код ТН ВЭД — готовый ключ: он есть в декларации, в счёте-фактуре и
на виртуальном складе. Соблазн свести всё по нему велик.
Проблема в том, что код описывает категорию, а не товар. Под одним кодом лежат
десятки позиций разных производителей, объёмов и марок. Сведение по коду даёт
идеальную сходимость итогов при полностью перепутанных строках — и это опаснее
явного расхождения, потому что выглядит как успех.
Правильная роль кода — понижать порог сомнения. Если две позиции с похожими
названиями имеют один код, вероятность, что это одно и то же, выше. Но решение
принимается не по коду, а по точному признаку: коду маркировки, НКТ (NTIN),
подтверждённому вами соответствию или совпадению нормализованного названия.
Что делать по порядку
- Привести к одному виду. Регистр, лишние пробелы, дефисы и запятые, латинские буквы внутри русских слов.
- Вынести единицы отдельно. Число и единица — не часть названия, а отдельные поля. Пока «1кг» лежит внутри строки, любое сравнение случайно.
- Свести очевидное автоматически. Совпадение после нормализации — это один товар, спрашивать человека не о чем.
- Спорное отдать человеку. Похожие, но не совпавшие пары — короткая очередь на подтверждение. Решение принимается один раз и запоминается.
- Не сливать по категории. Ни ТН ВЭД, ни группа товаров, ни поставщик не являются признаком тождества.
Главное — принять, что справочник не будет чистым сам по себе. Он растёт из
четырёх источников, каждый со своими привычками, и задача не «навести порядок
однажды», а иметь механизм, который сводит новые написания к уже известной
позиции по мере их появления.
Как это делает Tengri
Tengri ведёт единый справочник позиций поверх всех источников. Новое
написание он привязывает к уже известному товару сам, если совпадение
однозначно, и показывает короткую очередь «похоже, это одно и то же» — если нет.
Подтверждённое решение запоминается: второй раз тот же вопрос не задаётся.
Сверка после этого сравнивает товары, а не строки.
Попробуйте на своих файлах — первый сценарий без привязки карты.