Как настроить печать чеков на АТОЛ 30Ф при совмещении нескольких систем налогообложения в 1С

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

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

В данной статье мы подробно разберем, как правильно настроить передачу данных из 1С в драйвер АТОЛ, проанализируем структуру XML-пакета и выясним, какие настройки в самом кассовом аппарате могут препятствовать корректной смене СНО.

Анализ структуры XML-пакета для фискализации

Для начала рассмотрим, каким образом 1С передает информацию о выбранной системе налогообложения в драйвер ККТ. В современных интеграционных компонентах используется XML-пакет CheckPackage. Ключевым параметром здесь является TaxVariant, который находится в узле Parameters. Рассмотрим пример типичного пакета данных, который формирует 1С:


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

В этом примере параметр TaxVariant="1" указывает на использование УСН Доход. Согласно спецификации ФФД и требованиям АТОЛ, значения распределяются следующим образом:

  1. 0 — Общая СНО (ОСН).
  2. 1 — Упрощенная СНО (Доход).
  3. 2 — Упрощенная СНО (Доход минус Расход).
  4. 3 — Единый налог на вмененный доход (ЕНВД).
  5. 4 — Единый сельскохозяйственный налог (ЕСХН).
  6. 5 — Патентная система налогообложения.

Важный нюанс: Если мы передаем правильное значение в TaxVariant, но в чеке все равно печатается СНО по умолчанию, значит, проблема кроется либо в версии драйвера, либо во внутренних настройках таблиц ККТ.

Настройка драйвера ККТ и параметров «Налоговые ставки»

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

Разберем по шагам правильный алгоритм настройки в драйвере АТОЛ 8.х или 9.х/10.х:

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

Обратите внимание: Если при установке флага для второй СНО касса выдает ошибку «Некорректная СНО», это означает, что при регистрации (фискализации) аппарата данная система не была указана в фискальном накопителе. В таком случае поможет только перерегистрация ККТ с изменением параметров (без замены ФН).

Технические нюансы взаимодействия с драйвером 10-й версии

Если мы используем современный драйвер АТОЛ 10.х, механизм управления СНО становится более строгим. В логировании (файл fptr10.log) мы можем увидеть конкретную команду, которую получает касса. Ищите строку LIBFPTR_PARAM_TAX_VARIANT.

Если в логе передается корректное значение (например, 2 или 3), но касса выдает ошибку, проанализируем настройки НДС. Для систем УСН и ЕНВД в каждой позиции чека FiscalString обязательно должен быть указан тип налога Tax="none". Попытка пробить чек по спецрежиму (УСН/Патент) со ставкой НДС 18% или 20% приведет к ошибке «Некорректная СНО», так как эти режимы не подразумевают уплату НДС.

Также рассмотрим влияние параметра Department (Секция). В старых версиях драйверов 8.х была особенность: если секция не заполнена или указана неверно, драйвер мог игнорировать настройки налогов, привязанные к позиции, и использовать системные настройки секции по умолчанию.

Проблема «СНО по умолчанию» в таблицах ККТ

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

Если в этом поле жестко прописан код конкретной системы (например, «1»), то касса будет игнорировать любые попытки драйвера изменить СНО через команду фискализации чека. Для исправления ситуации необходимо через «Тест драйвера» (раздел «Программирование» или «Таблицы») установить значение этого поля в 0 или в состояние «Не выбрано». Это позволит параметру TaxVariant из 1С беспрепятственно управлять процессом.

Рекомендации по заполнению обязательных реквизитов

При работе с чеками по ФЗ-54 не забывайте о заполнении сопутствующих полей, отсутствие которых может привести к общим ошибкам фискализации, которые иногда ошибочно принимают за проблемы со СНО:

  1. ФИО Кассира: Параметр CashierName должен быть обязательно заполнен. В современных прошивках это обязательный реквизит чека.
  2. Признак способа расчета: Используйте SignMethodCalculation="4" (Полный расчет) для обычных продаж.
  3. Признак предмета расчета: Используйте SignCalculationObject="1" (Товар) или "4" (Услуга).

Подведем итог: если ваш АТОЛ 30Ф отказывается менять СНО, первым делом проверьте, не «зажата» ли настройка налоговых ставок в самом драйвере. Оставьте только одну основную систему налогообложения в параметрах ККТ, убедитесь, что в XML-пакете передается верный TaxVariant, а для позиций чека установлена ставка Tax="none". Эти действия в 90% случаев решают проблему некорректной печати СНО при совмещении режимов.

← На главную