При совмещении организацией нескольких систем налогообложения (например, ОСН и ЕНВД или ОСН и Патент) возникает задача корректного указания реквизита «Применяемая система налогообложения» (тег 1055) в чеке онлайн-кассы. В типовой конфигурации «1С:Управление торговлей 10.3» подсистема подключаемого оборудования зачастую подставляет в чек только одну СНО, прописанную в учетной политике организации, игнорируя факт того, что конкретная продажа или документ оформлены по другому налоговому режиму.
Разберем причины такого поведения платформы, проанализируем требования законодательства и рассмотрим практические варианты решения проблемы.
В соответствии с Федеральным законом № 54-ФЗ и форматами фискальных данных (ФФД):
Проанализируем типовую логику конфигурации. При подготовке данных для печати фискального чека из документов (ПКО, РКО, Оплата платежной картой, Чек ККМ) вызывается функция СистемаНалогообложения общего модуля МенеджерОборудованияКлиентСервер:
Функция СистемаНалогообложения(Организация, ДатаДокумента = Неопределено, ПриоритетныйПорядок = Неопределено) Экспорт
Если ПриоритетныйПорядок <> Неопределено Тогда
Если ВРег(ПриоритетныйПорядок) = "ЕНВД" Тогда
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ЕНВД");
Возврат Результат;
КонецЕсли;
КонецЕсли;
Если ДатаДокумента = Неопределено Тогда
ДатаДокумента = ТекущаяДата();
КонецЕсли;
Отказ = Ложь;
УП = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитикиНалоговыйУчет(ДатаДокумента, Отказ, Организация);
Если Отказ Тогда
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ПустаяСсылка");
ИначеЕсли УП.СистемаНалогообложения = ПредопределенноеЗначение("Перечисление.СистемыНалогообложения.Общая") Тогда
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ОСН");
ИначеЕсли УП.СистемаНалогообложения = ПредопределенноеЗначение("Перечисление.СистемыНалогообложения.Упрощенная") Тогда
Если УП.ОбъектНалогообложенияУСН = ПредопределенноеЗначение("Перечисление.ОбъектыНалогообложенияПоУСН.Доходы") Тогда
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.УСНДоход");
ИначеЕсли УП.ОбъектНалогообложенияУСН = ПредопределенноеЗначение("Перечисление.ОбъектыНалогообложенияПоУСН.ДоходыМинусРасходы") Тогда
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.УСНДоходРасход");
Иначе
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ПустаяСсылка");
КонецЕсли;
ИначеЕсли УП.РозничнаяТорговляОблагаетсяЕНВД Тогда
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ЕНВД");
Иначе
Результат = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.ПустаяСсылка");
КонецЕсли;
Возврат Результат;
КонецФункции
Выясним причину ошибки: функция считывает данные только из регистра сведений УчетнаяПолитикаНалоговыйУчет на уровне организации. Если в учетной политике указана «Общая», ветка условия с проверкой УП.РозничнаяТорговляОблагаетсяЕНВД никогда не выполняется, так как условие УП.СистемаНалогообложения = ...Общая срабатывает первым. В результате все чеки пробиваются со значением ОСН, независимо от ставок НДС и характера операций в самом документе.
Рассмотрим доработку механизма формирования XML-пакета для передачи в драйвер ККТ. Наиболее надежный способ — определять СНО на основании состава документа и ставок НДС непосредственно перед отправкой на фискализацию.
МенеджерОборудованияВызовСервера к процедуре ПодготовитьДанныеДляФискализацииЧека (или к функции формирования XML-пакета чека).
// Пример алгоритма определения СНО по ставкам НДС документа
Если ДокументОбъект.ТабличнаяЧасть.Количество() > 0 Тогда
ЕстьНДС = Ложь;
Для Каждого Стр Из ДокументОбъект.ТабличнаяЧасть Цикл
Если Стр.СтавкаНДС <> Перечисления.СтавкиНДС.БезНДС Тогда
ЕстьНДС = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ЕстьНДС Тогда
СНОЧека = Перечисления.ТипыСистемНалогообложенияККТ.ОСН;
Иначе
СНОЧека = Перечисления.ТипыСистемНалогообложенияККТ.ЕНВД; // или Патент
КонецЕсли;
КонецЕсли;
СистемаНалогообложения перед сериализацией пакета в XML.Если используется внешняя обработка обслуживания торгового оборудования, переопределение значения тега 1055 можно реализовать прямо внутри нее, не изменяя конфигурацию, находящуюся на типовой поддержке.
Если конфигурация находится на полной поддержке и доработка программного кода нежелательна, применим методику разделения организаций:
Организации создадим вторую служебную карточку с аналогичными реквизитами (ИНН, КПП, наименование).Учетная политика (налоговый учет) для основной организации настроим ОСН, а для служебной — ЕНВД/Патент.Разберем штатный механизм распределения операций в типовой конфигурации:
Номенклатура, облагаемая ЕНВД.Реализация товаров и услуг с последующей печатью чека, а продажи по спецрежиму — через документы розницы (Чек ККМ, Отчет о розничных продажах).Применение этих методов позволяет исключить расхождения фискальных данных с требованиями налогового законодательства и избежать штрафных санкций за передачу неверной СНО в чеках ККТ.