Как мы научили поиск ИКПУ понимать обычные слова
Опубликовано 28 сентября 2026 г.
В каждом чеке и электронном счёте-фактуре в Узбекистане нужен код ИКПУ — по-узбекски МХИК — того, что продано. В национальном каталоге больше 441 тысячи кодов, и официальный поиск находит нужный, только если написать название так, как оно записано в каталоге. Мы сделали Tasnif by Krafta — бесплатный поиск, который понимает обычные слова на русском, узбекском и английском. Рассказываем, как он устроен и как мы проверяем, что он не ошибается.
Почему официальный поиск не находит
Мы собрали 155 запросов из обычной работы: владелец кофейни добавляет в кассу капучино, парикмахер — стрижку, магазин — сахар и подгузники. Для каждого по каталогу определили правильный код и отправили все запросы в официальный поиск на tasnif.soliq.uz (сентябрь 2026 года).
- Правильный код был среди первых трёх результатов в 23% случаев.
- В 70% случаев поиск не нашёл ничего.
- Из 40 блюд и напитков, которые готовят в кафе, правильный код нашёлся для одного.
Официальный поиск ищет слова каталога. «Подгузники» он находит: так категория и называется. «Капучино», «плов», «шаурму» и «стрижку» — нет: капучино из кофейни записан в каталоге как «Безалкогольные напитки, кофе и кофесодержащие напитки, приготовленные в заведении общественного питания». Подсказки официального поиска тоже промахивались: на «капучино» — печенье с начинкой капучино и детское боди, на «стрижку» — стиральный порошок, на «плов» — приправа для плова и сухая стяжка для пола.
Товар или то, что вы делаете сами
Самая частая ошибка — взять код товара для того, что вы делаете сами. Капучино, который готовит бариста, и капучино в пакетиках на полке — разные коды: первый — 10202001010000002 из раздела общественного питания, второй — товар. То же со стрижкой и машинкой для стрижки, с массажем и массажёром, со свежевыжатым соком и апельсинами.
Ошибка стоит денег: за код, который не соответствует проданному, Налоговый кодекс предусматривает штраф — 1% от стоимости товара в документе. Поэтому Tasnif by Krafta у каждого результата пишет, что это — товар, услуга или блюдо, приготовленное в кафе, и учитывает это, когда выбирает первый результат.
Как устроен поиск
Поиск работает в несколько слоёв, и каждый закрывает свою часть задачи.
Слова, опечатки и раскладка
Запрос и названия каталога приводятся к общему виду. Кириллица и латиница, «ё» и «е», апострофы в «oʻ» и «gʻ» для поиска одинаковы, поэтому «kapuchino» и «капучино», «koʻk choy» и «кўк чой» находят одно и то же. Поиск понимает и новые буквы узбекского алфавита — ö, ğ, ş, ç.
Мы учли ошибки, которые люди делают на самом деле:
- слово, написанное как слышится: «плоф» находит плов, «ноудбук» — ноутбук;
- перепутанная гласная: «алкаголь», «падгузники»;
- непереключённая раскладка: «cnhb;rf» — это «стрижка», «vjkjrj» — «молоко»;
- русское слово латиницей: «strizhka», «moloko», «khleb».
Исправление срабатывает только для слова, которого в каталоге нет, и только в сторону частого слова каталога, поэтому правильно написанный запрос работает как раньше.
Повседневные слова для каждой категории
В каталоге 14,5 тысячи категорий, и названы они языком классификатора. Для каждой мы с помощью ИИ составили список слов, которыми пользуются люди: для кофейных напитков в кафе это «капучино», «латте», «раф», «американо» — на русском, узбекском и английском. Всего получилось около 167 тысяч слов.
Потом каждое слово проверил ещё один проход ИИ и убрал пятую часть — те, что уводили не туда. Например, у молотого кофе стоял «растворимый кофе», а у семян кориандра — «кинза», хотя и у растворимого кофе, и у свежей зелени в каталоге свои категории.
Поиск по смыслу
Когда слова не совпадают, работает поиск по смыслу. Запрос и каждая категория превращаются в набор чисел — эмбеддинг, — и близкие по смыслу тексты оказываются рядом. Так поиск находит категорию, даже если в её названии нет ни одного слова из запроса.
Готовые ответы на частые слова
Одно и то же слово часто подходит нескольким категориям: «стрижка» — и услугам парикмахерских, и машинкам для стрижки. Для каждого такого слова ИИ один раз решил, что чаще всего имеет в виду бизнес, который его вводит, и поиск ставит эту категорию первой: «стрижка» ведёт к услугам парикмахерских, «плов» — к мясным блюдам кафе. Так решено почти 8 тысяч общих слов. Решения хранятся в базе, поэтому во время поиска ИИ не нужен.
Если слово по-настоящему двусмысленное — «картошка фри» бывает и гарниром в кафе, и замороженным продуктом в магазине, — поиск показывает оба варианта и оставляет выбор вам.
Как мы проверяем точность
Каждое изменение мы сначала проверяем на тех же 155 запросах и ещё на 37, которые ни разу не использовали для настройки: они защищают от подгонки под тест. Изменение попадает на сайт, только если результаты не стали хуже. Правильные ответы подобраны по описаниям каталога и проверены ИИ, спорные случаи помечены как спорные — это не заключение лицензированного бухгалтера.
| 155 запросов, сентябрь 2026 | Официальный поиск | Tasnif by Krafta |
|---|---|---|
| Правильный код первым | 22% | 84% |
| Правильный код среди первых трёх | 23% | 95,5% |
| Не найдено ничего | 70% | 0% |
| Блюда и напитки кафе: правильный код среди первых трёх | 1 из 40 | 40 из 40 |
На 37 запросах, которые поиск раньше не видел, правильный код оказался первым в 92% случаев и среди первых трёх — в 97%. На 29 запросах с типичными ошибками — опечатками, непереключённой раскладкой и латиницей — первым в 83% случаев.
Каталог обновляется каждый день
Мы каждый день загружаем официальные выгрузки Налогового комитета. Новые коды появляются в поиске обычно в течение суток, вместе с кодами упаковки для чека. Отключённые коды тоже хранятся: если вставить старый код, поиск скажет, что он отключён, и предложит действующие коды той же категории.
Что дальше
Лучше понимать узбекские запросы. В наших тестах другая модель поиска по смыслу находит нужную категорию по узбекскому запросу в 2,5–3 раза чаще, чем та, что работает сейчас.
Важно
Tasnif by Krafta — неофициальный сервис. Перед тем как выставить чек, сверьте код с официальным каталогом на tasnif.soliq.uz. Если подходящего кода нет, его можно запросить у Налогового комитета.
Попробуйте поиск или посмотрите каталог по группам.