Где хранить реквизиты, чтобы не искать их в переписке
«Скинь ИНН», «какой у нас расчётный», «адрес склада напомни» — эти вопросы задают по кругу, а отвечают на них поиском по чату.
В каждой компании есть десяток фактов, которые нужны всем и постоянно. Реквизиты для счёта. Адрес склада. Телефон подрядчика. Кто отвечает за закупки.
Живут они в трёх местах сразу: в голове у бухгалтера, в закреплённом сообщении полугодовой давности и в переписке, которую уже не найти.
Почему поиск по чату не работает
Один написал «р/с». Другой — «расчётный счёт». Третий скинул скриншот из банка. Поиск по слову найдёт одно из трёх, и хорошо если то, которое действующее.
Отдельная беда — устаревание. Компания сменила банк, в чате остались оба счёта, и по переписке не понять, какой из них живой. Дата сообщения не помогает: старое могли переслать позже.
Реквизиты можно проверять арифметикой
Это самое недооценённое свойство российских реквизитов. У них есть контрольные суммы, и опечатку видно, не обращаясь ни в какие реестры.
| Реквизит | Как проверяется |
|---|---|
| ИНН | Контрольные цифры по алгоритму ФНС: 10 знаков у юрлица, 12 у ИП |
| ОГРН, ОГРНИП | Остаток от деления на 11 и 13 соответственно |
| БИК | Формат и префикс: российские БИК начинаются с 04 |
| Расчётный счёт | 515-У, веса 7-1-3, считается вместе с БИК банка |
Тонкость, на которой ломается почти каждая самодельная проверка: для счёта в подразделении Банка России — корреспондентского, начинается с 301 — префикс берётся не из 7–9 разрядов БИК, а из 5–6 с ведущим нулём. Без этого условия ни одна реальная пара «БИК + корсчёт» проверку не проходит. Мы это выяснили на семи живых парах, когда первая версия честно забраковала все.
Ловушка с картами
Номера банковских карт хранить нельзя — ни боту, ни в истории переписки. Маскировать их надо до записи в базу и до отправки в модель.
И вот здесь ждёт подвох, в который попадают все, кто делает проверку в лоб. Алгоритм Луна — тот самый, которым проверяют карты, — проходят ОГРН из 13 цифр и ОГРНИП из 15. Наивная реализация превращает «запомни ОГРНИП 321190000011867» в «номер карты скрыт». Реквизит теряется, причём молча.
Лечится тем, что число смотрят в контексте: если слева стоит «ИНН», «ОГРН», «БИК» или «счёт» — это не карта, как бы Лун ни настаивал.
Что хранить, кроме цифр
Рабочий факт — это всё, что команда переспрашивает. Адрес склада. Время работы точки выдачи. «Дима отвечает за закупки». «Подрядчик моет окна по 20-м».
Такие вещи не проверишь контрольной суммой, зато они теряются ровно так же, как реквизиты, и спрашивают их с той же регулярностью. Разбирает их модель: вытаскивает суть, к кому относится и короткую подпись.
Числа модели не отдаются вообще — их берёт регулярка с проверкой контрольных сумм. Причина простая: нейросети путают цифры, и проверять за ними дороже, чем сделать самому.
Одно значение на факт
Реквизит существует в одном экземпляре. Новый ИНН заменяет старый, и бот сообщает, что было записано раньше — чтобы человек заметил, если заменил случайно.
Телефонов и адресов может быть много: их бот различает по тому, к кому они относятся. «Телефон Ивана» и «телефон склада» — разные записи, а повтор того же значения дубля не создаёт.
Вопросы и ответы
Что вообще можно хранить в памяти бота?
Как записать и как достать?
Что будет, если в реквизите опечатка?
Номера банковских карт бот сохраняет?
Память общая на весь чат или личная?
Сколько записей помещается?
«Заместитель AI» — бот для рабочих чатов в Telegram и MAX: напоминания, пересказ переписки и память компании. От 390 ₽ в месяц за чат, данные — в России.
Посмотреть тарифы