При работе с контрольно-кассовой техникой (ККТ) и интеграцией её с 1С пользователи часто сталкиваются с тем, что чеки уходят в ОФД, но не принимаются ФНС из-за ошибок форматно-логического контроля (ФЛК). Наиболее распространенными являются ошибка 509 (неправильная сумма товара) и ошибка 420 (отсутствие реквизитов НДС). В этой статье мы подробно разберем, почему возникают эти проблемы в «1С:Розница» и как их правильно устранить, чтобы отчетность в налоговую поступала без искажений.
Проанализируем ситуацию с ККТ АТОЛ. Ошибка 509 сигнализирует о том, что значение в теге 1043 (стоимость предмета расчета с учетом скидок и наценок) не совпадает с расчетным значением, которое ожидает ФНС. Рассмотрим основные причины:
Цена за единицу (тег 1079) * Количество (тег 1023) = Стоимость (тег 1043). Если 1С передает в драйвер цену с тремя и более знаками после запятой, а касса округляет её до двух знаков по своему внутреннему алгоритму, итоговая стоимость позиции может измениться на 1 копейку. Этого достаточно для отклонения чека.1020), возникает ошибка ФЛК.Для решения проблемы на стороне 1С в первую очередь проверим настройки в разделе Администрирование — Продажи — Скидки, наценки и ограничения. Выясним, установлен ли флаг «Округлять сумму чека в пользу покупателя». Это позволяет минимизировать дробные части при распределении скидок.
Эта ошибка характерна для касс Вики Принт (Дримкас) и чаще всего проявляется в чеках коррекции. Суть проблемы заключается в том, что с недавнего времени ФНС ужесточила требования к заполнению тега 1102 (сумма НДС чека по ставке 20%). Даже если в каждой позиции чека указана ставка НДС, итоговая сумма налога по всему чеку должна быть выделена отдельным тегом.
Выясним причину: в старых версиях драйверов или при использовании некорректных обработок обслуживания 1С передает информацию о налогах только внутри товарных позиций. При формировании чека коррекции драйвер ККТ может «забыть» просуммировать эти значения и не заполнить итоговый тег 1102. В результате ФНС получает документ, в котором есть сумма расчета, но нет итоговой суммы НДС, что является нарушением формата.
Чтобы избежать возникновения подобных ошибок в будущем, выполним комплексное обновление системы. Проанализируем необходимые шаги:
Если ФНС уже отклонила чеки, их необходимо исправить. Рассмотрим два способа, исходя из требований законодательства и версии ФФД 1.05.
Способ 1: Метод «Возврат + Новый чек» (Рекомендуемый).
Для ФФД 1.05 этот метод является самым надежным, так как он полностью аннулирует неверную операцию и создает новую правильную. Выполним следующие действия:
Способ 2: Чек коррекции.
Если вы решите использовать чек коррекции, помните, что для касс Вики Принт его формирование часто требует использования внешней утилиты (например, ФИТО), если 1С выдает ошибку при попытке пробить коррекцию. В утилите необходимо вручную заполнить все обязательные теги, включая итоговые суммы НДС (тег 1102).
В некоторых случаях программистам 1С приходится вручную корректировать алгоритм передачи данных в драйвер, если стандартные механизмы округления не справляются. Рассмотрим пример фрагмента кода, где можно принудительно проверить заполнение тегов перед отправкой данных на ККТ:
// Пример проверки структуры чека перед фискализацией
Для Каждого СтрокаТЧ Из Объект.Товары Цикл
// Проверяем, чтобы Сумма = Цена * Количество
РасчетнаяСумма = Окр(СтрокаТЧ.Цена * СтрокаТЧ.Количество, 2);
Если СтрокаТЧ.Сумма <> РасчетнаяСумма Тогда
// Корректируем сумму для соответствия ФЛК
СтрокаТЧ.Сумма = РасчетнаяСумма;
КонецЕсли;
КонецЦикла;
Обратите внимание на объект МенеджерОборудования и методы формирования XML-строки для чека. Если вы видите, что в XML отсутствует узел AmountVat20 (для Вики Принт), это прямой повод для проверки модуля обработки обслуживания кассы.
Подведем итог: для решения проблем с ошибками ФЛК 509 и 420 необходимо действовать системно. Обновим драйверы АТОЛ до 10-й версии, проверим патчи «1С:Розница», а для исправления уже совершенных ошибок используем процедуру возврата и повторного пробития. Это гарантирует чистоту данных в личном кабинете налогоплательщика и отсутствие претензий со стороны контролирующих органов.