При переходе на формат фискальных данных ФФД 1.05 многие системные администраторы и бухгалтеры сталкиваются со странным поведением ККТ производства «Штрих-М». При пробитии чеков по операциям, не облагаемым налогом, в личном кабинете некоторых операторов фискальных данных (ОФД), например, «Ярус» или «Контур.ОФД», в колонке ставки НДС отображается прочерк «-» или пустота. В то же время на аппаратах «АТОЛ» при абсолютно идентичных XML-пакетах из «1С» четко пишется «Без НДС» или «НДС не облагается».
В этой статье мы подробно разберем, почему возникает такая разница, является ли это ошибкой, как проверить физическую отправку тегов из фискального накопителя и какие аргументы предоставить бухгалтерии для спокойной работы.
Разберем детально, как работают прошивки кассовых аппаратов обоих производителей при обработке операций без налога. Согласно методическим рекомендациям Федеральной налоговой службы (ФНС) по ФФД 1.05:
Разработчики ККТ «Штрих-М» реализовали требования ФНС максимально строго и лаконично с точки зрения экономии фискальной памяти и интернет-трафика. Если в чеке фигурирует товар без налога, прошивка «Штрих-М» просто вырезает тег 1199 из структуры предмета расчета. Нет налога — нет тега в отправляемом пакете.
Разработчики ККТ «АТОЛ» подошли к реализации иначе. Их прошивки даже для необлагаемых операций продолжают избыточно генерировать и отправлять тег 1199 со значением «6» (что расшифровывается в ОФД как «Без НДС» / «НДС не облагается»). Законодательство не запрещает передавать этот тег, поэтому ОФД успешно принимает его от «Атол» и отображает в интерфейсе.
ОФД, в свою очередь, парсит полученные XML-пакеты от касс. Если от кассы «Штрих-М» тег 1199 физически не пришел, ОФД выводит в строке налога прочерк. При этом на бумажном чеке надпись «Без НДС» печатается без проблем, так как за печать на чековой ленте отвечают совершенно другие внутренние регистры кассы.
Если бухгалтерия сомневается в корректности сформированного чека, мы можем самостоятельно проверить, какие именно теги ушли в ОФД напрямую из фискального накопителя. Для этого рассмотрим пошаговый алгоритм работы с утилитой «Тест драйвера ККТ» (версии 4.14 / 4.15 или более новой).
ФД, а не порядковый номер чека за смену).Проанализируем структуру полученного XML-документа. В предмете расчета мы увидим примерно следующую картину:
1059,ПРЕДМ. РАСЧЕТА
1030,НАИМЕН. ПРЕДМ. РАСЧЕТА: Контейнер
1079,ЦЕНА ЗА ЕД. ПРЕДМ. РАСЧ.: 81.00
1023,КОЛ-ВО ПРЕДМ. РАСЧЕТА: 1.000000
1043,СТОИМ. ПРЕДМ. РАСЧЕТА: 81.00
1214,ПРИЗН. СПОСОБА РАСЧ.: 4
1212,ПРИЗН. ПРЕДМЕТА РАСЧ.: 1
Как мы видим, тег 1199 в структуре отсутствует. Однако обратите внимание на подвал электронного документа. Там в обязательном порядке должен присутствовать суммовой тег 1105 («Сумма расчета по чеку без НДС»). Для ОФД и ФНС этого тега более чем достаточно для подтверждения того, что продажа прошла без налога.
Рекомендуется удостовериться, что в таблицах ККТ установлены верные параметры работы с налогами. Сделать это можно в «Тесте драйвера» в разделе настройки таблиц.
Проанализируем ключевые таблицы драйвера:
Таблица 1 (Тип и режим кассы):
0. Это означает, что касса не будет самостоятельно пересчитывать налоги по внутренним алгоритмам, а будет полностью доверять данным, присланным из товароучетной системы «1С».1 для того, чтобы информация о налогах выводилась на печать на чековой ленте.Таблица 17 (Регистрирующие настройки):
1. Это гарантирует детализированную печать ставки НДС для каждой товарной позиции на чековой ленте.Рассмотрим, как передаются налоги из кода «1С» при формировании XML-пакета. При использовании сертифицированных драйверов ККТ передача признака «Без НДС» происходит через XML-атрибут Tax="none". Посмотрим на пример правильного XML-пакета чека:
<FiscalReceipt>
<Positions>
<FiscalString Name="Контейнер" Quantity="1.000" Price="81.00" Amount="81.00" Department="1" Tax="none" />
</Positions>
<Payments Cash="81.00" Electronically="0.00" />
</FiscalReceipt>
При отправке такого пакета на ККТ «Штрих-М» драйвер корректно сопоставляет значение Tax="none" с внутренней таблицей налоговых ставок кассы (обычно это Налог 4 или Налог 6 в зависимости от прошивки кассы).
Если вы используете старые конфигурации «1С:Предприятие 7.7» или самописные решения на обычных формах «1С:Предприятие 8», где взаимодействие с драйвером реализовано через COM-объект напрямую, сопоставление налоговых ставок выполняется программно. Разберем пример кода сопоставления налогов:
// Пример сопоставления ставок в старых конфигурациях 1С
Если СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
// Записываем индекс ставки Без НДС в свойство драйвера
// В зависимости от настройки Таблицы 6 ККТ это может быть 4 или 6
ДрайверККТ.Tax1 = 4;
ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС0 Тогда
ДрайверККТ.Tax1 = 3; // 0%
КонецЕсли;
Очень часто бухгалтеры паникуют, когда видят прочерки в личном кабинете ОФД, опасаясь штрафных санкций со стороны налоговых органов. Для их успокоения подготовьте следующие аргументы:
ndsNo.Таким образом, никаких доработок кода, обновлений прошивки ККТ Штрих-М или изменения настроек таблиц делать не требуется. Система работает в штатном режиме и полностью соответствует актуальному законодательству РФ.