В связи с изменениями в налоговом законодательстве (в частности, налоговой реформой, затрагивающей плательщиков УСН с 2025 года) перед многими специалистами встает задача настройки нестандартных ставок НДС, таких как 5% и 7%. Ситуация осложняется, если на предприятии используется "классическая" конфигурация 1С:Управление торговлей 10.3, поддержка которой ограничена, а механизмы работы с торговым оборудованием устарели. Однако подобные задачи решаемы даже для более ранних версий систем.
Разберем подробно, как реализовать печать чека со ставкой НДС 5% в связке УТ 10.3 + Kkmserver + Фискальный регистратор Атол. Мы пройдем путь от настройки самой конфигурации до проверки параметров драйвера.
Прежде чем приступать к правкам кода в 1С, необходимо убедиться, что аппаратная и программная часть готовы к работе с новыми ставками. В обсуждении правильно отмечено, что одного желания 1С мало — касса должна уметь понимать новую ставку.
Нам необходимо выполнить следующие действия:
В типовой конфигурации УТ 10.3 в перечислении СтавкиНДС обычно присутствуют только стандартные значения: 18%, 20%, 10%, 0% и Без НДС. Чтобы мы могли выбрать 5% в документах, нам нужно внести изменения в конфигуратор.
Проанализируем порядок действий:
СтавкиНДС.НДС5 (Синоним "5%"). Также может потребоваться ставка НДС7.После этого нам необходимо найти общие модули, отвечающие за расчет суммы НДС (например, функции получения ставки числом), и дописать туда логику, чтобы система понимала, что Перечисления.СтавкиНДС.НДС5 соответствует числу 5. Это нужно для корректного расчета сумм в документах "Реализация товаров и услуг" и "Чек ККМ".
Самое важное действие происходит в момент передачи данных из 1С в Kkmserver. В УТ 10.3 работа с кассой обычно ведется через внешние обработки обслуживания (файлы .epf). Для работы с новыми ставками отлично подойдет обработка обслуживания для УТ 10.3 АТОЛ 10.10.8.х, которая уже поддерживает НДС 5%, 7% и 22%.
Нам нужно найти место, где формируется пакет данных (обычно это JSON) для отправки на сервер оборудования.
Рассмотрим логику поиска и исправления:
ПечататьЧек, СформироватьЧек или похоже.В старом коде вы, скорее всего, встретите конструкцию, которая преобразует ставку 1С в индекс. Нам нужно изменить её, чтобы она передавала конкретное значение, ожидаемое Kkmserver'ом.
Пример того, как может выглядеть доработка кода формирования JSON:
// Примерный код формирования строки чека для Kkmserver
СтрокаЧека = Новый Структура;
СтрокаЧека.Вставить("Name", Товар.Наименование);
СтрокаЧека.Вставить("Price", Товар.Цена);
СтрокаЧека.Вставить("Quantity", Товар.Количество);
СтрокаЧека.Вставить("Amount", Товар.Сумма);
// Логика определения ставки налога
Если Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда
СтрокаЧека.Вставить("Tax", 10);
ИначеЕсли Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда
СтрокаЧека.Вставить("Tax", 20);
// ДОБАВЛЯЕМ ОБРАБОТКУ НОВОЙ СТАВКИ
ИначеЕсли Товар.СтавкаНДС = Перечисления.СтавкиНДС.НДС5 Тогда
// Важно: проверьте документацию вашей версии Kkmserver.
// В некоторых версиях нужно передавать число 5, в других - специальный ID.
// Чаще всего достаточно передать числовое значение процента.
СтрокаЧека.Вставить("Tax", 5);
Иначе
СтрокаЧека.Вставить("Tax", -1); // Без НДС или "none"
КонецЕсли;
Важное замечание: Если вы используете не прямую отправку JSON, а стандартную обработку 1С для торгового оборудования, то вам нужно искать функцию ПолучитьСтавкуНДСДляФР внутри этой обработки. Там обычно идет сопоставление перечисления с индексом таблицы налогов драйвера.
Даже если 1С отправит правильную команду, драйвер ККТ должен знать, какой именно налоговой ставке в фискальном накопителе соответствует это значение. Для отладки и проверки признаков налогов без использования реальной кассы можно использовать эмулятор ККТ ФФД 1.2 с поддержкой НДС 5%/7%.
Разберем настройку через "Тест драйвера ККТ" (версия 10):
В новых версиях платформы Атол (Платформа 5.0) драйвер зачастую сам интеллектуально сопоставляет переданный процент со ставкой. Однако в старых реализациях, где передается индекс налога (1, 2, 3...), маппинг критически важен.
Для реализации задачи в УТ 10.3 необходимо действовать комплексно:
НДС5 в перечисление СтавкиНДС.5 в поле Tax.В некоторых случаях, помимо настройки ставок, может потребоваться полная замена сервиса АТОЛ ККТ при переходе с арендованных облачных решений на собственные локальные кассы.