Как мы проверяем
Главное отличие: мы боимся ложной тревоги больше, чем пропуска. Лучше промолчать, чем напугать директора несуществующей проблемой. Поэтому под каждой находкой — цифра из ваших данных и ссылка на норму.
Сверка с 1С до копейки
Прежде чем что-то проверять, мы сверяем загруженные обороты и сальдо с оборотно-сальдовой ведомостью 1С — до копейки. Если хоть один счёт не сошёлся, аудит не запускается: считать по неполным данным нельзя. Это отдельный тест-страж (reconcile), он обязан показывать 0 расхождений.
Ложная находка хуже отсутствующей
Каждая проверка написана так, чтобы не срабатывать на законном учёте: незачтённые авансы сводятся по ИНН контрагента, «зависшие» долги мерятся от сегодняшнего дня, а не из будущего, нормы применяются только к тому, к кому они относятся (например, налог на прибыль — организациям, а не ИП). Что по данным 1С не определяется (маркировка, ЕГАИС), мы честно помечаем «требует подтверждения», а не выдумываем.
Стражи и повторная проверка
Библиотека проверок защищена тестами-стражами: они падают, если проверка начнёт применяться не к тому клиенту, выдавать сумму «на глаз» или ссылаться на несуществующую норму. Перед каждым релизом гоняется полный регресс на живой демо-базе и на эталонных профилях.
Считает код, а не нейросеть
Все суммы вычисляет детерминированный SQL — как калькулятор, по открытой методике. Языковая модель только формулирует объяснение по уже посчитанным цифрам; считать ей запрещено. Поэтому цифрам в отчёте можно верить независимо от того, подключены ключи ИИ или нет.