При переходе на онлайн-кассы по требованиям 54-ФЗ в конфигурациях на платформе 1С:Предприятие 7.7 (в частности, в «1С:Торговля и Склад 7.7») пользователи часто сталкиваются с ситуацией, когда при пробитии чека на фискальном регистраторе (например, Атол-11Ф, Атол-30Ф) печатается система налогообложения ОСН (Общая система), тогда как организация работает на УСН (Упрощенная система). В личный кабинет ОФД и базу ФНС такие чеки также уходят с признаком ОСН, что чревато претензиями налоговых органов и доначислением НДС.
Разберем подробно причины возникновения этой ошибки, проверим параметры фискализации кассы и рассмотрим пошаговое исправление кода внешней обработки обслуживания торгового оборудования.
Проанализируем цепочку передачи данных из 1С в фискальный накопитель. Формирование реквизитов чека зависит от трех ключевых факторов:
TaxVariant) зачастую жестко зафиксировано числом 0 (что соответствует общей системе налогообложения).Прежде чем вносить изменения в программный код 1С, выясним, зарегистрирована ли в фискальном накопителе упрощенная система налогообложения. Если касса фискализирована исключительно под ОСН, передача параметра УСН из 1С приведет к блокировке печати чека с ошибкой «СНО не зарегистрирована в ККТ».
Рассмотрим, какая обработка обслуживания используется при взаимодействии с драйвером. В каталоге базы данных (или подкаталоге ExtForms\Equip) найдем файл frATOL54_comm.ert, отвечающий за связь с библиотекой FprnM1C82_54FZ.dll.
Откроем данный файл в конфигураторе 1С 7.7, перейдем в модуль формы и найдем процедуру формирования фискальных позиций и заголовка чека. Заменим жестко прописанное значение параметра TaxVariant на требуемый код СНО и скорректируем передачу ставки налога.
Кодификатор систем налогообложения для XML-пакетов стандарта 1С:
Посмотрим на пример правильной доработки фрагмента кода в модуле обработки frATOL54_comm.ert:
// Задаем применяемую СНО: 1 - УСН Доход, 2 - УСН Доход-Расход
СистемаНалогообложения = 1;
// Передаем выбранную систему налогообложения в корневой тег параметров чека
Атрибут(XMLParameters, "TaxVariant", СистемаНалогообложения);
СписокТоваров.ВыбратьСтроки();
Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
XMLFiscalString = XMLPositions.СоздатьПодчиненныйЭлемент("FiscalString");
Атрибут(XMLFiscalString, "Name", СписокТоваров.ТовНаим);
Атрибут(XMLFiscalString, "Quantity", СписокТоваров.Количество);
Атрибут(XMLFiscalString, "Price", СписокТоваров.Цена);
Атрибут(XMLFiscalString, "Amount", СписокТоваров.Сумма);
Атрибут(XMLFiscalString, "Department", "01");
// Если применяется спецрежим (УСН), обязательно передаем ставку "none" (Без НДС)
Если СистемаНалогообложения > 0 Тогда
Атрибут(XMLFiscalString, "Tax", "none");
Иначе
Атрибут(XMLFiscalString, "Tax", СписокТоваров.СтавкаНДС);
КонецЕсли;
КонецЦикла;
Обратим внимание на условие по передаче ставки НДС. Для организаций на УСН товарные позиции в чеке должны иметь налоговую ставку «Без НДС» (в XML-пакете драйвера обозначается как none). Если оставить передачу значений по умолчанию из справочников 1С, касса может напечатать ставку 18%/20%, что повлечет за собой ошибку расчета налога.
Если часть чеков уже была выбита и отправлена в налоговую с неверной СНО (ОСН вместо УСН), необходимо выполнить корректировку расчетов во избежание штрафных санкций:
Возврат прихода с ошибочной СНО (ОСН), полностью дублирующий исходный чек, после чего выбивается правильный чек Приход с указанием УСН и ставки «Без НДС».Чек коррекции на отмену некорректного расчета, а затем пробивается чек коррекции с правильным значением тега 1055 (УСН).После сохранения исправленной обработки frATOL54_comm.ert и перезапуска сеанса 1С проверим результат пробитием тестового чека на 1 рубль и убедимся, что на бумажной ленте и в чеке ОФД корректно отображается реквизит СНО: УСН доход (или доход-расход).