ИИ для проверки первичных документов в 1С на соответствие контракту

ИИ для проверки первичных документов в 1С на соответствие контракту

ИИ проверяет первичные документы в 1С по условиям контракта в день проведения документа – без ручного участия бухгалтера. Алгоритм сравнивает цену, скидку, условия оплаты и состав номенклатуры с тем, что зафиксировано в договоре. Ошибки, которые раньше всплывали на квартальной сверке, теперь видны до того, как деньги ушли или товар отгружен.

Что проверяется: пять точек расхождения с договором

Большинство проблем сосредоточены в одних и тех же местах. Вот где документ чаще всего расходится с контрактом.

Цена позиции. Менеджер поставил розничную цену там, где контракт фиксирует оптовую. Разница – 8-15% на позицию. Типичный случай при работе с несколькими прайс-листами одновременно.

Скидка сверх лимита. Договор разрешает скидку до 10%, менеджер поставил 15% «один раз, чтобы закрыть сделку». Контракт нарушен. Если клиент потом обратится в суд или ФНС увяжет сделку с взаимозависимостью – объяснять будет сложно.

Условие оплаты. В контракте – отсрочка 14 дней, менеджер поставил 30. Разница в замороженных оборотных средствах при обороте 5 млн ₽/мес – около 800 000 ₽.

Состав номенклатуры. В договоре – артикул А-001, в накладной – А-001М (модифицированный). Технически другой товар, который контракт не покрывает. Клиент может оспорить приёмку.

ИНН контрагента. Стандартная проверка контрольного числа: для 10-значного ИНН n10 = ((2×n1 + 4×n2 + 10×n3 + 3×n4 + 5×n5 + 9×n6 + 4×n7 + 6×n8 + 8×n9) mod 11) mod 10. Если ИНН не проходит – документ технически недействителен, и вычет НДС по нему под вопросом.

Сколько стоит одна незамеченная ошибка

Оптовая компания в Екатеринбурге, оборот 18 млн ₽/мес, 80 накладных в день. Два бухгалтера проверяют документы вручную – по 6 минут на штуку. Итого 480 минут в день только на проверку первички. При этом охватывают 60-70% документов: остальные «потом».

Результат: 8-12 ошибок в месяц проходят незамеченными. Средняя стоимость одной ошибки – 15 000-35 000 ₽. Суммарные потери в месяц – 120 000-350 000 ₽.

Причина не в плохих бухгалтерах. Причина в том, что ручная проверка 80 накладных в день – физически нереальна без пропусков.

Чек-лист проверки первичного документа по контракту

Семь пунктов, которые нужно закрыть по каждому входящему или исходящему документу:

  • Контрагент совпадает с договором: ИНН, КПП, наименование без расхождений.
  • Дата документа входит в срок действия контракта (контракт не истёк, не приостановлен).
  • Цена каждой позиции не выходит за пределы контрактной цены: допуск ±0,5% на округление.
  • Скидка не превышает разрешённый лимит для данного контрагента по справочнику договоров.
  • Условие оплаты совпадает с договором: предоплата, постоплата, количество дней отсрочки.
  • Номенклатура – только позиции, разрешённые в договоре. Артикулы совпадают точно.
  • Подпись уполномоченного лица: доверенность актуальна, срок не истёк.

Если хотя бы один пункт не выполнен – документ не проводится до выяснения обстоятельств. Не «флажок», не «предупреждение», а блок.

Пошаговый регламент: как выстроить контроль в 1С

Шаг 1. Структурируй договоры в машиночитаемом виде. Условия контракта должны быть в справочнике «Договоры контрагентов» в виде конкретных полей: ценовая группа или фиксированная цена, максимальная скидка в процентах, условие оплаты, список разрешённых номенклатурных групп, кредитный лимит. Без этого шага автоматическая проверка невозможна – нечего сравнивать.

Шаг 2. Настрой проверку при проведении документа. В 1С:УТ и ERP обработка «Проверка условий договора» запускается событием ПередЗаписью. При расхождении выше допуска документ не проводится и формируется задача на ответственного.

Шаг 3. Задай пороги отклонений по типам.

  • Цена: отклонение более 1% – ошибка; 0,1-1% – предупреждение (возможно округление).
  • Скидка: любое превышение лимита – ошибка без нижнего порога.
  • Отсрочка: разница более 3 дней – ошибка.
  • ИНН: не проходит контрольный расчёт – ошибка.

Шаг 4. Настрой эскалацию. «Предупреждение» – задача менеджеру. «Блокировка» – задача менеджеру плюс уведомление руководителю. Руководитель может разрешить проведение с фиксацией основания.

Шаг 5. Веди журнал проверок. Каждая проверка фиксируется: дата, документ, тип расхождения, кто устранил, итог. Через три месяца ты увидишь, какие ошибки повторяются – и можно будет закрыть их на уровне обучения или регламента.

Аналогичный подход работает и для финансовых документов. Если у тебя проходят взаимозачёты с контрагентами, их тоже стоит проверять систематически – типичные ошибки в зачётах и как их находить в 1С описаны отдельно.

Три формулы, которые можно внедрить сегодня

Формула 1. Допустимое отклонение цены:

Отклонение % = (Цена в документе – Контрактная цена) / Контрактная цена × 100

Порог: от ±1% – предупреждение, от ±3% – блокировка. Числа можно скорректировать под свою маржу.

Формула 2. Иерархия скидок по должностям:

  • Менеджер по продажам: до 10%
  • Старший менеджер: до 15%
  • Руководитель отдела продаж: до 22%
  • Выше 22% – только директор с письменным основанием

Если в документе скидка 17%, а проводит его рядовой менеджер – ошибка. Если РОП – норма. Система проверяет роль пользователя, а не просто число.

Формула 3. Контроль остатка кредитного лимита:

Остаток лимита = Кредитный лимит по договору – Текущая дебиторка

Если Остаток лимита < 0 – документ не проводить. Если Остаток лимита < 20% от лимита – предупреждение менеджеру.

Просроченная дебиторка по уже проведённым документам – отдельная зона контроля. Если не настроен контроль пени за просрочку оплаты, кредитный лимит формально соблюдается, но деньги всё равно не приходят вовремя.

ИИ-контроль: что он видит, а стандартная проверка 1С – нет

Стандартные запреты в 1С – это жёсткие блоки: нельзя уйти в минус по остатку, нельзя провести документ без склада. Это нужно, но это не контроль контракта.

ИИ-проверка работает с контекстом и аномалиями. Например:

  • Клиент А всегда покупал партиями по 50 штук. Сегодня – 500 штук. Цена в норме, скидка в норме, но объём в 10 раз выше обычного. Стоит проверить, не ошибка ли это в количестве.
  • Договор истекает через 10 дней, а сегодня проводится очередная отгрузка. Всё легально, но менеджеру нужно уведомление: пора продлевать контракт.
  • Один и тот же ИНН зарегистрирован у двух разных контрагентов в базе. Дубль – потенциальная путаница в расчётах и документах.
  • Менеджер три раза за месяц запрашивал согласование скидки сверх лимита у одного и того же клиента. Это не ошибки – это паттерн, который стоит вынести на обсуждение с РОПом.

Классические настройки 1С здесь заканчиваются. Это уже анализ поведения, а не просто сравнение полей.

Это можно не делать руками. Виртуальные сотрудники внутри 1С проверяют каждый документ по условиям контракта в момент проведения, ставят задачи менеджеру при расхождении и перепроверяют исправление – без участия бухгалтера. Посмотрите, как работают виртуальные сотрудники контроля качества в 1С – сводка в Telegram вместо ручных проверок.

Частые вопросы

Нужно ли дорабатывать типовую 1С, чтобы это заработало?

Базовые проверки – цена, скидка, условие оплаты – настраиваются через стандартные механизмы «Соглашений» и «Договоров контрагентов» в 1С:УТ и ERP без программирования. Для анализа аномалий и паттернов поведения потребуется либо доработка, либо внешняя система с интеграцией через HTTP-сервис или COM-соединение.

Что делать, если договор изменился, а документы за прошлый период уже проведены?

Исторические документы перепроверяются отдельным регламентом – через отчёт «Реализации вне условий соглашений». Он доступен в типовых конфигурациях 1С:УТ 11 и ERP 2. Запускать его стоит раз в неделю по завершённым периодам.

Как быть с контрагентами без жёсткого договора – только рамочный?

Рамочный договор тоже нужно формализовать в 1С: задай хотя бы диапазон цен (минимум и максимум), максимальную отсрочку и список номенклатурных групп. Без минимальных параметров автоматическая проверка невозможна – система не знает, с чем сравнивать.

Не замедлит ли это проведение документов в 1С?

При правильной архитектуре – нет. Синхронная проверка одного документа занимает 50-200 миллисекунд. Для пользователя это незаметно. Если проверка сложная (запросы к нескольким регистрам), её можно вынести в фоновое задание с отложенной блокировкой.

88447819