Как исправить ошибку «Сумма налога больше суммы регистраций по чеку» в 1С:Розница при работе с ККТ АТОЛ?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Розница Налоговый учет Торговля и дистрибуция
← На главную

При переходе организации с упрощенной системы налогообложения (УСН) на общую систему налогообложения (ОСН) технические специалисты и бухгалтеры часто сталкиваются со следующей проблемой. После изменения учетной политики в 1С и обновления параметров ККТ на кассе перестают печататься чеки, в которых присутствует товар со ставками НДС 20% или 18%. При этом чеки со ставкой 10% или «Без НДС» могут пробиваться без каких-либо затруднений. В процессе печати программный интерфейс выдает критическую ошибку: «Сумма налога больше суммы регистраций по чеку и/или итога» (в протоколах ККТ АТОЛ она также известна под кодом -3969).

В этой статье мы подробно разберем, почему возникает этот сбой, проанализируем основное решение с форума, связанное с конфликтом драйверов торгового оборудования в 1С:Розница.Аптека, а также рассмотрим другие сопутствующие причины аппаратного и программного характера.

Почему возникает ошибка -3969 на кассовых аппаратах?

Физический смысл ошибки заключается во внутреннем математическом конфликте ККТ. Когда программа 1С:Предприятие отправляет xml-пакет с данными чека на фискальный регистратор, касса выполняет перерасчет всех суммовых показателей (стоимость позиций, скидки, округления и суммы налога по каждой строке). Если рассчитанная кассой сумма налога по определенной секции или ставке превышает допустимый математический предел (например, из-за неверной СНО в памяти кассы или некорректно переданного параметра налога из 1С), фискальный накопитель блокирует операцию регистрации чека во избежание некорректной отправки данных в ОФД.

Проанализируем детально основные методы устранения этой неисправности по шагам.

Решение 1. Конфликт версий драйверов оборудования в 1С (Основная причина)

Как показывает практика автоматизации торговли, очень часто при переходе на новые ставки НДС или смене СНО в операционной системе устанавливается новый драйвер ККТ (например, 10.x.x.x), однако платформа 1С:Предприятие продолжает использовать старые библиотеки (компоненты драйвера версии 8.х или устаревшие релизы 10-й версии), сохраненные в локальном кэше пользователя или каталоге базы данных.

Разберем по шагам процесс полной очистки и переустановки драйвера АТОЛ для исправления этой ситуации:

  1. Закрытие кассовой смены и программ 1С: Перед началом технических работ обязательно убедимся, что смена на ККТ закрыта, и все пользователи вышли из базы данных 1С:Розница.
  2. Деинсталляция старых драйверов: Перейдем в «Панель управления» операционной системы Windows, выберем пункт «Программы и компоненты» и полностью удалим все установленные версии программного обеспечения «Драйвер ККТ АТОЛ» (как 8-й, так и 10-й версий).
  3. Очистка кэша внешних компонент 1С: 1С сохраняет используемые компоненты торгового оборудования во временных папках пользователя. Перейдем по пути:
    C:\Users\[ИмяПользователя]\AppData\Roaming\1C\1Cv8\ExtCompT\
    и полностью очистим содержимое этой папки. Также проверим аналогичный каталог в локальном кэше:
    C:\Users\[ИмяПользователя]\AppData\Local\1C\1Cv8\
  4. Установка актуального драйвера: Скачаем и установим официальный релиз драйвера АТОЛ 10 (например, версию 10.6.1.0 или выше, в зависимости от требований вашего релиза конфигурации 1С:Розница). При установке выберем разрядность, соответствующую разрядности вашего клиента 1С (32-бит или 64-бит).
  5. Переподключение оборудования в 1С: Откроем базу 1С под правами администратора. Перейдем в раздел Администрирование — Подключаемое оборудование. Откроем карточку нашей ККТ и нажмем кнопку «Настроить». В открывшемся окне нажмем кнопку «Функции» — «Установить драйвер» (или «Обновить драйвер»). Убедимся, что 1С успешно загрузила новую внешнюю компоненту и версия драйвера в интерфейсе программы совпадает с версией, установленной в операционной системе.

Рассмотрим структуру типового XML-кода, который формирует 1С при отправке чека в драйвер. Если драйвер устарел, теги разметки налоговых ставок могут передаваться некорректно:


// Пример структуры XML-пакета, формируемого 1С для передачи в драйвер ККТ
&НаКлиенте
Процедура СформироватьXMLДляККТ(ПараметрыЧека)
    ЗаписьXML = Новый ЗаписьXML;
    ПараметрыЗаписи = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
    ЗаписьXML.УстановитьСтроку(ПараметрыЗаписи);
    
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalReceipt");
    
    // Позиция чека со ставкой НДС 20%
    ЗаписьXML.ЗаписатьНачалоЭлемента("Position");
    ЗаписьXML.ЗаписатьАтрибут("Name", "Медикамент Аспирин уп.10");
    ЗаписьXML.ЗаписатьАтрибут("Price", "120.00");
    ЗаписьXML.ЗаписатьАтрибут("Quantity", "1");
    ЗаписьXML.ЗаписатьАтрибут("Amount", "120.00");
    ЗаписьXML.ЗаписатьАтрибут("TaxRate", "20"); // Передача ставки НДС 20%
    ЗаписьXML.ЗаписатьАтрибут("TaxType", "VAT20"); // Идентификатор типа налога
    ЗаписьXML.ЗаписатьКонецЭлемента(); // Position
    
    ЗаписьXML.ЗаписатьКонецЭлемента(); // FiscalReceipt
    РезультатXML = ЗаписьXML.Закрыть();
КонецПроцедуры

Решение 2. Смена системы налогообложения (СНО) на стороне кассового аппарата

Довольно часто ошибка -3969 возникает из-за того, что в 1С:Розница учетную политику изменили на ОСН, а физическая касса по-прежнему настроена только на работу по УСН. При попытке пробить чек со ставкой НДС 20% касса выдает ошибку, так как на УСН ставки 20% не существует.

Выполним перерегистрацию СНО на кассовом аппарате:

  1. Запустим утилиту «Тест драйвера ККТ АТОЛ».
  2. Установим флаг «Включено» в правом верхнем углу для связи с кассой.
  3. Перейдем в раздел «Регистрация ККТ».
  4. Нажмем кнопку «Считать» для загрузки текущих параметров из фискального накопителя.
  5. В поле «Системы налогообложения» снимем флаг с УСН и установим флаг напротив значения «Общая» (ОСН).
  6. В качестве причины перерегистрации выберем «Изменение параметров регистрации» или «Смена СНО».
  7. Нажмем кнопку «Регистрация» (или «Перерегистрация»). Кассовый аппарат распечатает отчет об изменении параметров регистрации, подтверждающий успешный переход на ОСН.

Решение 3. Настройка соответствия налоговых ставок (Маппинг)

Кассовый аппарат хранит ставки НДС в своей внутренней таблице под определенными номерами (индексами налогов). В разных моделях ККТ и версиях прошивок эти индексы могут отличаться. Если 1С отправляет ставку «НДС 20%» под индексом, который в кассе привязан к «Без НДС», возникнет конфликт сумм.

Для исправления маппинга выполним следующие действия:

  1. В 1С:Розница перейдем в карточку кассы (раздел Администрирование — Подключаемое оборудование).
  2. Откроем параметры настройки кассы и перейдем на вкладку «Налоги» (или «Соответствие налогов»).
  3. Проверим соответствие ставок НДС в 1С налоговым ставкам в драйвере ККТ. Убедимся, что значение «НДС 20%» сопоставлено со строкой налога ККТ, которая отвечает именно за 20%-й налог.
  4. При необходимости изменим настройки в таблицах ККТ через Тест драйвера АТОЛ (Раздел «Свойства» — «Параметры ККТ» — «Налоги»).

Решение 4. Устранение погрешностей округления и управление тегом TaxSum

В некоторых случаях ошибка -3969 провоцируется тем, что 1С передает в кассу уже рассчитанную сумму налога в копейках по каждой позиции (тег TaxSum). Из-за различий в математических алгоритмах округления 1С и прошивки ККТ может возникнуть разница в 1 копейку. Касса пересчитывает налог самостоятельно, видит расхождение и считает, что переданная из 1С сумма налога превышает допустимый итог.

Для решения этой проблемы проанализируем настройки передачи налогов:

  1. Перейдем в настройки параметров ККТ внутри 1С.
  2. Найдем параметр «Передавать сумму налога в позициях чека» (или аналогичный флаг управления тегом TaxSum).
  3. Попробуем отключить данный параметр. В этом случае 1С будет передавать на кассу только ставку (например, 20%), а расчет точной суммы налога в копейках касса будет производить самостоятельно по своим внутренним округлениям. Это исключит конфликт округлений.

Решение 5. Лицензии ККТ (Коды защиты) и платформа 5.0

Если кассовый аппарат АТОЛ эксплуатируется длительное время, на нем может быть установлена старая платформа (2.5) или отсутствовать необходимая лицензия на поддержку ставки НДС 20% (для касс, выпущенных до 2019 года, требовался специальный ввод Кода защиты №10).

Выполним проверку лицензий:

  1. В утилите «Тест драйвера ККТ» перейдем в раздел «Лицензии» или сформируем чек информации о ККТ.
  2. Убедимся, что в списке введенных лицензий присутствует лицензия на работу со ставкой НДС 20%.
  3. При использовании платформы 5.0 убедимся, что касса успешно получила актуальные подписки на обновления из личного кабинета АТОЛ Сервис. Если лицензия отсутствует, касса аппаратно не сможет рассчитать НДС 20%, что приведет к блокировке печати чека.

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

← На главную