Почему в чеке ККТ выводится ЕНВД, если в XML передается TaxVariant="1" (УСН Доход)?

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

При совмещении нескольких систем налогообложения (например, УСН Доход и ЕНВД/Патент) пользователи 1С могут столкнуться с ситуацией, когда при пробитии кассового чека касса выбирает не ту СНО. В пакете XML, отправляемом на ККТ, явно указано значение TaxVariant="1", соответствующее системе «УСН Доход», однако на печатной форме чека и в фискальном документе отображается «ЕНВД».

Рассмотрим, почему возникает эта ошибка при работе с фискальными регистраторами АТОЛ и конфигурациями 1С (в частности, «Управление торговлей 10.3»), а также разберем проверенные способы её решения.

Анализ проблемы и структуры XML

Проанализируем структуру передаваемого в ККТ пакета данных XML:


<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
    <Parameters PaymentType="1" TaxVariant="1" CashierName="" CustomerEmail="" CustomerPhone=""/>
    <Positions>
        <FiscalString Name="Товар" Quantity="1" PriceWithDiscount="1" SumWithDiscount="1" DiscountSum="" Department="2" Tax="none" SignMethodCalculation="4" SignCalculationObject="1"/>
    </Positions>
    <Payments Cash="1" ElectronicPayment="0"/>
</CheckPackage>

По спецификации стандарта БПО (Библиотека подключаемого оборудования) 1С значение атрибута TaxVariant кодируется следующим образом:

  1. 0 — ОСН (Общая система налогообложения)
  2. 1 — УСН Доход
  3. 2 — УСН Доход minus Расход
  4. 3 — ЕНВД
  5. 4 — ЕСХН
  6. 5 — Патент

Однако на уровне прошивки фискального накопителя и драйверов ККТ системы налогообложения кодируются **битовой маской** (1 — ОСН, 2 — УСН Доход, 4 — УСН Доход-расход, 8 — ЕНВД и т.д.). Если компонента драйвера работает некорректно, передаваемое значение TaxVariant либо игнорируется, либо некорректно транслируется в битовую маску, из-за чего касса применяет СНО по умолчанию.

Основная причина: сбой в промежуточных драйверах АТОЛ для ФФД 1.05

Выясним главную причину возникновения сбоя. При обновлении конфигураций (например, УТ 10.3.43.2) в состав обработки торгового оборудования подставляется новая компонента внешнего драйвера, такая как fptrwin32_fz54_9_11_0_5549.dll (драйвер АТОЛ v.9 для ФФД 1.05).

В этой версии библиотеки присутствует баг взаимодействия с 1С: компонента игнорирует параметр TaxVariant из входящего XML-пакета и подставляет первую попавшуюся или установленную по умолчанию в ККТ систему налогообложения (в данном случае — ЕНВД).

Способ 1. Откат или замена внешней компоненты драйвера в 1С (Основное решение)

Если проблема проявилась после обновления конфигурации или обработки торгового оборудования, выполним откат внешней компоненты драйвера на заведомо рабочую версию:

  1. Откроем справочник Подключаемое оборудование (или Торговое оборудование в УТ 10.3).
  2. Найдем используемую обработку обслуживания ККТ с поддержкой ФЗ-54.
  3. Заменим обработку обслуживания на версию из предыдущего релиза (например, из УТ 10.3.41.1), где используется компонента FprnM1C82_54FZ.dll (драйвер версии 8.12.1.0).
  4. Перезапустим сеанс 1С и повторим попытку пробития чека.

После замены библиотеки драйвер начинает корректно сопоставлять TaxVariant="1" с режимом «УСН Доход».

Способ 2. Переход на современный драйвер АТОЛ ДТО 10.х

Наиболее кардинальным и правильным решением является отказ от устаревших драйверов 8.х и 9.х в пользу **АТОЛ ДТО 10.х**:

  1. Скачаем и установим актуальный релиз ДТО 10 с официального сайта производителя.
  2. В 1С установим современную интеграционную компоненту для работы с ДТО 10 через Native API.
  3. В настройках драйвера 1С укажем работу через ДТО 10. В десятой версии драйвера параметр системы налогообложения передается в формате JSON/Native API без ошибок трансляции.

Способ 3. Проверка настроек СНО по умолчанию в утилите «Тест драйвера ККТ»

Разберем ситуацию, когда ККТ залочена на одну СНО по дефолту на уровне самой кассы:

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

Способ 4. Проверка связи секций (отделов) и налоговых ставок

В некоторых прошивках ККТ система налогообложения может жестко привязываться к номеру отдела (параметр Department в XML):

  1. В «Тесте драйвера ККТ» перейдем в настройки секций/отделов.
  2. Убедимся, что для отдела, передаваемого в позициях чека (в нашем примере Department="2"), не задана принудительная привязка к налогу или конкретной СНО, противоречащей входящему XML.
← На главную