Как исправить ошибки ФЛК 509 и 420 в чеках ККТ АТОЛ и Вики Принт при работе с 1С

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

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

Разбор ошибки ФЛК 509: Сумма товара указана неправильно (тег 1043)

Проанализируем ситуацию с ККТ АТОЛ. Ошибка 509 сигнализирует о том, что значение в теге 1043 (стоимость предмета расчета с учетом скидок и наценок) не совпадает с расчетным значением, которое ожидает ФНС. Рассмотрим основные причины:

  1. Проблема «лишней копейки» при распределении скидок. Когда в 1С применяется скидка на весь чек или используются бонусные баллы, система должна распределить эту сумму по каждой позиции в чеке. Если позиций много, а сумма скидки не делится нацело, возникают погрешности округления.
  2. Математическое несовпадение. Согласно правилам ФНС, должно соблюдаться жесткое равенство: Цена за единицу (тег 1079) * Количество (тег 1023) = Стоимость (тег 1043). Если 1С передает в драйвер цену с тремя и более знаками после запятой, а касса округляет её до двух знаков по своему внутреннему алгоритму, итоговая стоимость позиции может измениться на 1 копейку. Этого достаточно для отклонения чека.
  3. Смешанная оплата. При частичной оплате бонусами (которые технически часто проводятся как скидка), 1С пересчитывает стоимость каждой строки. Если накопленная погрешность по всем строкам не совпадает с общим итогом чека (тег 1020), возникает ошибка ФЛК.

Для решения проблемы на стороне 1С в первую очередь проверим настройки в разделе Администрирование — Продажи — Скидки, наценки и ограничения. Выясним, установлен ли флаг «Округлять сумму чека в пользу покупателя». Это позволяет минимизировать дробные части при распределении скидок.

Разбор ошибки ФЛК 420: Отсутствует один из обязательных реквизитов НДС (тег 1102)

Эта ошибка характерна для касс Вики Принт (Дримкас) и чаще всего проявляется в чеках коррекции. Суть проблемы заключается в том, что с недавнего времени ФНС ужесточила требования к заполнению тега 1102 (сумма НДС чека по ставке 20%). Даже если в каждой позиции чека указана ставка НДС, итоговая сумма налога по всему чеку должна быть выделена отдельным тегом.

Выясним причину: в старых версиях драйверов или при использовании некорректных обработок обслуживания 1С передает информацию о налогах только внутри товарных позиций. При формировании чека коррекции драйвер ККТ может «забыть» просуммировать эти значения и не заполнить итоговый тег 1102. В результате ФНС получает документ, в котором есть сумма расчета, но нет итоговой суммы НДС, что является нарушением формата.

Пошаговая инструкция по исправлению настроек ПО

Чтобы избежать возникновения подобных ошибок в будущем, выполним комплексное обновление системы. Проанализируем необходимые шаги:

  1. Обновление конфигурации 1С. В новых релизах «1С:Розница» (начиная с 2.3.15 и выше) разработчики постоянно выпускают патчи, исправляющие алгоритмы распределения скидок и передачи налоговых тегов. Проверим наличие установленных патчей в разделе Администрирование — Обслуживание — Обновление программы — Установленные исправления.
  2. Обновление драйверов ККТ.
    • Для касс АТОЛ: настоятельно рекомендуем использовать драйвер ДККТ 10.10.x и выше. В десятой серии драйверов реализованы более корректные механизмы работы с ФФД 1.05 и округлением стоимости позиций.
    • Для касс Вики Принт: убедимся, что используется актуальная прошивка (например, 665.3.3) и в 1С выбран правильный драйвер. Иногда помогает переключение на драйвер с поддержкой ФФД 1.2, даже если касса работает по ФФД 1.05, так как в нем обновлены команды формирования фискальных документов.
  3. Настройка параметров фискализации. Перейдем в 1С в справочник «Кассы ККМ», откроем настройки используемого оборудования. Проверим, чтобы в параметрах формирования чека стояли корректные настройки передачи налогов (например, «Налоги передаются из 1С»).

Методика исправления уже пробитых чеков с ошибками

Если ФНС уже отклонила чеки, их необходимо исправить. Рассмотрим два способа, исходя из требований законодательства и версии ФФД 1.05.

Способ 1: Метод «Возврат + Новый чек» (Рекомендуемый).

Для ФФД 1.05 этот метод является самым надежным, так как он полностью аннулирует неверную операцию и создает новую правильную. Выполним следующие действия:

  1. Найдем в 1С документ «Чек ККМ», который был отклонен ФНС.
  2. Создадим на его основании документ «Чек ККМ на возврат». Важно: данные в нем должны быть идентичны ошибочному чеку (включая все ошибки в суммах и налогах). Пробьем его на кассе. Это сформирует признак расчета «Возврат прихода».
  3. После этого сформируем новый правильный «Чек ККМ» (приход) с корректными данными. Благодаря обновленным драйверам и настройкам 1С, ошибки в нем возникнуть не должно.

Способ 2: Чек коррекции.

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

Технический комментарий по программному коду

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


// Пример проверки структуры чека перед фискализацией
Для Каждого СтрокаТЧ Из Объект.Товары Цикл
    // Проверяем, чтобы Сумма = Цена * Количество
    РасчетнаяСумма = Окр(СтрокаТЧ.Цена * СтрокаТЧ.Количество, 2);
    Если СтрокаТЧ.Сумма <> РасчетнаяСумма Тогда
        // Корректируем сумму для соответствия ФЛК
        СтрокаТЧ.Сумма = РасчетнаяСумма;
    КонецЕсли;
КонецЦикла;

Обратите внимание на объект МенеджерОборудования и методы формирования XML-строки для чека. Если вы видите, что в XML отсутствует узел AmountVat20 (для Вики Принт), это прямой повод для проверки модуля обработки обслуживания кассы.

Подведем итог: для решения проблем с ошибками ФЛК 509 и 420 необходимо действовать системно. Обновим драйверы АТОЛ до 10-й версии, проверим патчи «1С:Розница», а для исправления уже совершенных ошибок используем процедуру возврата и повторного пробития. Это гарантирует чистоту данных в личном кабинете налогоплательщика и отсутствие претензий со стороны контролирующих органов.

← На главную