Почему при печати чека из 1С:Управление торговлей 11 на ККТ пробивается ОСН вместо УСН?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Налоговый учет Торговля и дистрибуция
← На главную

При автоматизации розничной торговли и подключении онлайн-касс к конфигурации «1С:Управление торговлей» (редакция 11.3) пользователи нередко сталкиваются с ситуацией: организация применяет упрощенную систему налогообложения (УСН «Доходы минус расходы» или «Доходы»), однако при пробитии фискального чека на ККТ (например, Атол 11Ф) в реквизитах напечатанного чека и в электронном чеке ОФД отображается система налогообложения ОСН (Общая).

Выясним причину такого поведения конфигурации, разберем программный алгоритм формирования признака СНО и пошагово устраним ошибку.

Анализ программного механизма передачи СНО в ККТ

Для понимания того, откуда берется значение СНО, обратимся к типовому коду формирования фискальных данных перед отправкой команды на печать чека из рабочего места кассира (РМК). Конфигурация запрашивает параметры из регистра сведений УчетнаяПолитикаОрганизаций:


Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    Т.УчетнаяПолитика.СистемаНалогообложения КАК СистемаНалогообложения,
    |    Т.УчетнаяПолитика.ОбъектНалогообложенияУСН КАК ОбъектНалогообложенияУСН
    |ИЗ
    |    РегистрСведений.УчетнаяПолитикаОрганизаций.СрезПоследних(&ТекущаяДата, Организация = &Организация) КАК Т");
Запрос.УстановитьПараметр("ТекущаяДата", ОписаниеКассовойСмены.ДатаИзмененияСтатуса);
Запрос.УстановитьПараметр("Организация", ОписаниеКассовойСмены.Организация);

ДанныеСистемыНалогообложения = Запрос.Выполнить().Выбрать();
ДанныеСистемыНалогообложения.Следующий();

Если ДанныеСистемыНалогообложения.СистемаНалогообложения = Перечисления.СистемыНалогообложения.Общая Тогда
    ОписаниеКассовойСмены.КодСистемыНалогообложения = 0; // Общая
ИначеЕсли ДанныеСистемыНалогообложения.СистемаНалогообложения = Перечисления.СистемыНалогообложения.Упрощенная Тогда
    Если ДанныеСистемыНалогообложения.ОбъектНалогообложенияУСН = Перечисления.ОбъектыНалогообложенияПоУСН.Доходы Тогда
        ОписаниеКассовойСмены.КодСистемыНалогообложения = 1; // Упрощенная Доход
    ИначеЕсли ДанныеСистемыНалогообложения.ОбъектНалогообложенияУСН = Перечисления.ОбъектыНалогообложенияПоУСН.ДоходыМинусРасходы Тогда
        ОписаниеКассовойСмены.КодСистемыНалогообложения = 2; // Упрощенная Доход минус Расход
    КонецЕсли;
КонецЕсли;

Проанализируем работу данного алгоритма. По стандарту взаимодействия с ККТ системам налогообложения соответствуют определенные целочисленные коды. Если реквизит ОбъектНалогообложенияУСН не заполнен или срез последних не возвращает запись, переменная ОписаниеКассовойСмены.КодСистемыНалогообложения принимает значение по умолчанию — 0 (что соответствует общей системе налогообложения).

Таким образом, драйвер кассы добросовестно передает в фискальный накопитель тег 1055 со значением ОСН, так как 1С не смогла передать корректный код УСН.

Причина 1: Скрытие реквизитов учетной политики функциональной опцией

Главная и наиболее частая причина отсутствия данных об объекте налогообложения — отключение функциональной опции регламентированного учета в базе.

Разработчики типовой конфигурации привязали видимость полей налогообложения в карточке организации к функциональной опции «Регламентированный учет». Если учет ведется исключительно как оперативный/управленческий, эта галка часто снята. В результате в форме учетной политики организации просто отсутствуют поля для выбора объекта налогообложения (доходы или доходы за вычетом расходов).

Разберем по шагам, как исправить эту ситуацию без доработки конфигурации:

  1. Перейдем в раздел НСИ и администрирование -> Настройка НСИ и разделов -> Регламентированный учет.
  2. Временно включим флаг Регламентированный учет.
  3. Перейдем в раздел НСИ и администрирование -> Организации и откроем карточку нужной организации.
  4. Перейдем на закладку Учетная политика и налоги (или перейдем по гиперссылке настройки учетной политики).
  5. Установим систему налогообложения Упрощенная и обязательно укажем объект: Доходы либо Доходы, уменьшенные на величину расходов.
  6. Запишем изменения с правильной даты действия.
  7. Если ведение регламентированного учета в полном объеме не требуется, вернемся в настройки раздела и отключим опцию обратно. Значения реквизитов уже записаны в базу данных и регистр УчетнаяПолитикаОрганизаций, поэтому алгоритм печати чека будет успешно считывать объект налогообложения.

Причина 2: Периодичность регистра учетной политики

Регистр сведений УчетнаяПолитикаОрганизаций является периодическим. Запрос при открытии кассовой смены или пробитии чека выполняет срез последних на дату документа или дату статуса смены (ОписаниеКассовойСмены.ДатаИзмененияСтатуса).

Если учетная политика была создана будущей датой (например, с 1-го числа следующего месяца или года), запрос возвращает пустую выборку. В этом случае касса вновь получит код по умолчанию 0. Проверим, чтобы дата начала действия записи учетной политики была строго меньше или равна дате начала текущей кассовой смены.

Причина 3: Переопределение СНО в настройках склада

В конфигурации 1С:УТ предусмотрена возможность разделения систем налогообложения по складам (например, при совмещении УСН и патента). Проверим карточку склада, с которого пробивается чек в РМК:

  1. Откроем Склад и доставка -> Склады и магазины.
  2. Откроем склад, указанный в РМК.
  3. Проверим поле выбора системы налогообложения. Если в настройках склада принудительно задана ОСН, касса будет использовать именно ее, игнорируя учетную политику организации.

Причина 4: Настройки фискализации в самой ККТ

Рассмотрим ситуацию с точки зрения кассового аппарата Атол 11Ф. В фискальном накопителе при регистрации ККТ задается битовая маска доступных СНО (тег 1062).

Если касса физически зарегистрирована только под УСН, а 1С передает ОСН, ККТ заблокирует операцию с ошибкой: «ККТ не зарегистрирована с данной СНО». Но если чек пробивается с ОСН без ошибок, значит:

  1. При фискализации кассы инженер сервисного центра отметил флаг «ОСН» (или выбрал несколько систем налогообложения одновременно).
  2. В таблицах параметров ККТ в качестве СНО по умолчанию указана общая система.

Для исключения ошибок со стороны кассового аппарата выполним проверку через Тест драйвера ККТ (ДТО Атол):

  1. Закроем кассовую смену в 1С.
  2. Запустим утилиту Тест драйвера ККТ и установим связь с кассой.
  3. Перейдем в раздел Регистрация ККТ и нажмем кнопку Считать.
  4. Проанализируем блок систем налогообложения: флаг должен стоять исключительно напротив применяемого режима (например, УСН доход-расход).
  5. Если отмечена ОСН, выполним операцию перерегистрации кассы без замены ФН с причиной «Изменение параметров ККТ», оставив только актуальную систему налогообложения.

После корректного заполнения объекта УСН в карточке организации и проверки даты учетной политики 1С начнет передавать в драйвер код системы налогообложения 1 или 2, и чек закроется с правильными фискальными данными.

← На главную