При автоматизации розничной торговли и подключении онлайн-касс к конфигурации «1С:Управление торговлей» (редакция 11.3) пользователи нередко сталкиваются с ситуацией: организация применяет упрощенную систему налогообложения (УСН «Доходы минус расходы» или «Доходы»), однако при пробитии фискального чека на ККТ (например, Атол 11Ф) в реквизитах напечатанного чека и в электронном чеке ОФД отображается система налогообложения ОСН (Общая).
Выясним причину такого поведения конфигурации, разберем программный алгоритм формирования признака СНО и пошагово устраним ошибку.
Для понимания того, откуда берется значение СНО, обратимся к типовому коду формирования фискальных данных перед отправкой команды на печать чека из рабочего места кассира (РМК). Конфигурация запрашивает параметры из регистра сведений УчетнаяПолитикаОрганизаций:
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Т.УчетнаяПолитика.СистемаНалогообложения КАК СистемаНалогообложения,
| Т.УчетнаяПолитика.ОбъектНалогообложенияУСН КАК ОбъектНалогообложенияУСН
|ИЗ
| РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&ТекущаяДата, Организация = &Организация) КАК Т");
Запрос.УстановитьПараметр("ТекущаяДата", ОписаниеКассовойСмены.ДатаИзмененияСтатуса);
Запрос.УстановитьПараметр("Организация", ОписаниеКассовойСмены.Организация);
ДанныеСистемыНалогообложения = Запрос.Выполнить().Выбрать();
ДанныеСистемыНалогообложения.Следующий();
Если ДанныеСистемыНалогообложения.СистемаНалогообложения = Перечисления.СистемыНалогообложения.Общая Тогда
ОписаниеКассовойСмены.КодСистемыНалогообложения = 0; // Общая
ИначеЕсли ДанныеСистемыНалогообложения.СистемаНалогообложения = Перечисления.СистемыНалогообложения.Упрощенная Тогда
Если ДанныеСистемыНалогообложения.ОбъектНалогообложенияУСН = Перечисления.ОбъектыНалогообложенияПоУСН.Доходы Тогда
ОписаниеКассовойСмены.КодСистемыНалогообложения = 1; // Упрощенная Доход
ИначеЕсли ДанныеСистемыНалогообложения.ОбъектНалогообложенияУСН = Перечисления.ОбъектыНалогообложенияПоУСН.ДоходыМинусРасходы Тогда
ОписаниеКассовойСмены.КодСистемыНалогообложения = 2; // Упрощенная Доход минус Расход
КонецЕсли;
КонецЕсли;
Проанализируем работу данного алгоритма. По стандарту взаимодействия с ККТ системам налогообложения соответствуют определенные целочисленные коды. Если реквизит ОбъектНалогообложенияУСН не заполнен или срез последних не возвращает запись, переменная ОписаниеКассовойСмены.КодСистемыНалогообложения принимает значение по умолчанию — 0 (что соответствует общей системе налогообложения).
Таким образом, драйвер кассы добросовестно передает в фискальный накопитель тег 1055 со значением ОСН, так как 1С не смогла передать корректный код УСН.
Главная и наиболее частая причина отсутствия данных об объекте налогообложения — отключение функциональной опции регламентированного учета в базе.
Разработчики типовой конфигурации привязали видимость полей налогообложения в карточке организации к функциональной опции «Регламентированный учет». Если учет ведется исключительно как оперативный/управленческий, эта галка часто снята. В результате в форме учетной политики организации просто отсутствуют поля для выбора объекта налогообложения (доходы или доходы за вычетом расходов).
Разберем по шагам, как исправить эту ситуацию без доработки конфигурации:
УчетнаяПолитикаОрганизаций, поэтому алгоритм печати чека будет успешно считывать объект налогообложения.Регистр сведений УчетнаяПолитикаОрганизаций является периодическим. Запрос при открытии кассовой смены или пробитии чека выполняет срез последних на дату документа или дату статуса смены (ОписаниеКассовойСмены.ДатаИзмененияСтатуса).
Если учетная политика была создана будущей датой (например, с 1-го числа следующего месяца или года), запрос возвращает пустую выборку. В этом случае касса вновь получит код по умолчанию 0. Проверим, чтобы дата начала действия записи учетной политики была строго меньше или равна дате начала текущей кассовой смены.
В конфигурации 1С:УТ предусмотрена возможность разделения систем налогообложения по складам (например, при совмещении УСН и патента). Проверим карточку склада, с которого пробивается чек в РМК:
Рассмотрим ситуацию с точки зрения кассового аппарата Атол 11Ф. В фискальном накопителе при регистрации ККТ задается битовая маска доступных СНО (тег 1062).
Если касса физически зарегистрирована только под УСН, а 1С передает ОСН, ККТ заблокирует операцию с ошибкой: «ККТ не зарегистрирована с данной СНО». Но если чек пробивается с ОСН без ошибок, значит:
Для исключения ошибок со стороны кассового аппарата выполним проверку через Тест драйвера ККТ (ДТО Атол):
После корректного заполнения объекта УСН в карточке организации и проверки даты учетной политики 1С начнет передавать в драйвер код системы налогообложения 1 или 2, и чек закроется с правильными фискальными данными.