При ведении бизнеса часто возникает ситуация, когда одна организация совмещает несколько режимов налогообложения (например, УСН для услуг и ПСН/ЕНВД для розничной торговли) или когда руководству требуется видеть разделение выручки по отделам непосредственно в кассовых отчетах. В программе 1С:Управление нашей фирмой (УНФ) 1.6 решение этой задачи делится на два уровня: штатная настройка систем налогообложения (СНО) и техническая доработка для использования «секций» (отделов) ККМ.
В этой статье мы подробно разберем, как реализовать раздельный учет на одной кассе АТОЛ (или аналогичной), проанализируем разницу между СНО и секциями, а также выясним, какие изменения в коде потребуются для автоматизации процесса.
Прежде всего, важно понимать требования законодательства (54-ФЗ). Современные онлайн-кассы в обязательном порядке должны передавать в чеке Систему налогообложения. Разделение по секциям (отделам) на сегодняшний день не является обязательным реквизитом для налоговой, но остается удобным инструментом для внутреннего контроля (данные по отделам выводятся в X-отчете и иногда в Z-отчете).
Рассмотрим ситуацию автора темы: ИП оказывает услуги ремонта (УСН) и продает запчасти (ЕНВД/ПСН). Если ваша задача — соответствовать закону, вам нужно настраивать СНО. Если задача — видеть в чеке «Отдел 1» и «Отдел 2», потребуется работа с драйвером кассы.
Проанализируем, как 1С:УНФ определяет, какую систему налогообложения подставить в чек. Программа делает это автоматически на основании настроек организации и структурных единиц (складов).
Заказ-наряда или Приходной кассовой ордера на основании ремонта, программа подтянет склад «Сервисный центр» и установит СНО УСН.Важное ограничение: Согласно формату фискальных данных (ФФД), в одном фискальном документе (чеке) не может быть указано одновременно две разные СНО. Если клиент одновременно покупает товар и оплачивает услугу, относящуюся к разным СНО, программа будет вынуждена сформировать два отдельных чека.
Если разделения по СНО недостаточно и вы хотите использовать механизм отделов (секций) в драйвере АТОЛ 10, то стандартных настроек в интерфейсе УНФ 1.6 может не хватить. Типовая конфигурация чаще всего передает номер отдела «1» по умолчанию.
Для реализации динамического выбора секции (например, Секция 1 для чеков ККМ и Секция 2 для оплат по заказам), необходимо вмешаться в процесс формирования XML-пакета, который 1С отправляет драйверу оборудования. Разберем, где именно искать этот код.
Обычно логика формирования чека находится в общем модуле МенеджерОборудованияВызовСервера или в модулях, связанных с фискализацией данных (например, МенеджерОборудованияУниверсальныйДрайвер). Нам нужно найти тег Department в формируемой XML-строке.
Пример логики, которую можно внедрить (схематично):
// В процедуре подготовки данных для ККТ
// Определяем отдел в зависимости от типа документа-основания
НомерОтдела = 1; // По умолчанию
Если ТипЗнч(ПараметрыЧека.ДокументОснование) = Тип("ДокументСсылка.ЗаказНаряд") Тогда
НомерОтдела = 2;
ИначеЕсли ТипЗнч(ПараметрыЧека.ДокументОснование) = Тип("ДокументСсылка.ЧекККМ") Тогда
НомерОтдела = 1;
КонецЕсли;
// Далее это значение передается в структуру позиции чека
// В XML это выглядит как атрибут Department="2" тега FiscalString
Проанализируем работу с драйвером АТОЛ 10. Компонента драйвера принимает XML, где для каждой товарной позиции (строки) можно указать свой отдел. Однако помните, что кассовый аппарат должен быть предварительно настроен: в таблицах самой ККТ отделы должны быть разрешены и проинициализированы.
Как справедливо отмечено в обсуждении, проверка на эмуляторе ККМ часто не дает достоверного результата. Эмулятор может игнорировать параметры секций и СНО, принимая любые данные.
Выясним причины возможных ошибок при переходе на реальное устройство (например, АТОЛ 55Ф):
Подведем итог нашему разбору. Для разделения учета в 1С:УНФ 1.6:
Department в зависимости от документа или категории номенклатуры.Рассмотренные подходы позволяют гибко настроить работу кассового узла, обеспечивая как соблюдение законодательства, так и удобство внутреннего управленческого учета.