Переход на новые налоговые ставки и форматы фискальных данных (ФФД) — это всегда вызов для технического специалиста, особенно если работа ведется с самописными конфигурациями на базе 1С:Предприятие 8.3. В данной статье мы подробно разберем, как подготовить популярную модель ККТ Атол Fprint-22ПТК к изменениям законодательства, проанализируем необходимость обновления прошивки и выясним, какие нюансы работы с драйверами и тегами стоит учитывать.
Начнем с того, что ставка НДС 20% физически реализована в ККТ на уровне внутреннего программного обеспечения (прошивки). Рассмотрим ситуацию: в старых форматах (ФФД 1.0) и соответствующих им прошивках (например, версия 5199 и ниже) в структуре чека жестко прописаны теги для ставок 18% и 10%. Для того чтобы касса «узнала» о существовании ставки 20%, необходимо обновить таблицу налоговых ставок внутри самого аппарата. Проанализируем техническую часть: при передаче данных из 1С в драйвер, мы указываем порядковый номер налоговой ставки. Если прошивка не поддерживает НДС 20%, то при попытке пробить чек возникнет ошибка или налог будет рассчитан неверно.
Разберем основные причины для обязательного обновления:
СуммаНДС20 (тег 1102) и СуммаНДС110/120.Если ваша касса работает на прошивке версии 4555 или выше, переход на формат 1.05 можно осуществить без физического вмешательства инженера, используя стандартную утилиту регистрации. Рассмотрим этот алгоритм подробнее:
Важный момент: Согласно разъяснениям ФНС, переход с ФФД 1.0 на 1.05 может осуществляться без подачи заявления о перерегистрации в личном кабинете налоговой, если не меняются другие значимые реквизиты (например, адрес установки или ОФД). Однако рекомендуется проверить актуальные требования регионального отделения налоговой службы.
При работе с самописными решениями на обычных формах, где функционал интеграции с ККТ заимствован из старых версий 1С:Управление торговлей 10.3, программисту необходимо вручную скорректировать логику формирования чека. Выясним, как это выглядит в коде. Ранее мы могли использовать жесткую привязку к индексам налогов. Теперь нам нужно убедиться, что объект драйвера корректно обрабатывает новую ставку.
Посмотрим на пример концептуальной настройки передачи налога через Драйвер ККТ 10.х:
// Пример настройки параметров позиции чека для НДС 20%
ОбъектДрайвера.setParam(ОбъектДрайвера.LIBPTR_PARAM_PRICE, Цена);
ОбъектДрайвера.setParam(ОбъектДрайвера.LIBPTR_PARAM_QUANTITY, Количество);
ОбъектДрайвера.setParam(ОбъектДрайвера.LIBPTR_PARAM_TAX_TYPE, 1); // Индекс ставки НДС 20% (зависит от настроек ККТ)
ОбъектДрайвера.registration();
Проанализируем ситуацию с тегами. В формате ФФД 1.05 суммы налогов передаются не только по каждой позиции, но и суммарно по всему чеку. Если ваше решение напрямую формирует XML-пакет для драйвера, убедитесь, что в нем присутствуют узлы, соответствующие новым требованиям. При использовании старого Драйвера 8.х передача тегов покупателя (ИНН и Имя) может быть недоступна, поэтому рекомендуется переход на Драйвер 10.х.
Для владельцев Атол Fprint-22ПТК критически важно понимать разницу между платформами. На сегодняшний день развитие старой «Платформы 2.5» (где использовались «Коды защиты») прекращено. Разберем, что это значит для бизнеса:
Платформа 5.0 — это актуальный стандарт Атол. Она поддерживает:
Если ваша задача — не просто «заплатка» под НДС 20%, а обеспечение долгосрочной работы с маркировкой товаров (обувь, одежда, лекарства), мы рекомендуем провести процедуру миграции на Платформу 5.0. Это потребует обновления загрузчика кассы и приобретения соответствующей лицензии. Лицензирование теперь осуществляется по подписке: вы оплачиваете годовой доступ к обновлениям, и касса автоматически получает все необходимые изменения законодательства через интернет.
Разберем ситуацию, когда компании необходимо продавать маркированный товар. В этом случае обычного обновления под НДС 20% недостаточно. Нам потребуется:
registration (или через XML-слайс).Посмотрим на пример того, как код маркировки передается в объект драйвера:
// Передача кода маркировки (DataMatrix)
ОбъектДрайвера.setParam(ОбъектДрайвера.LIBPTR_PARAM_MARKING_CODE, КодМаркировкиСчитанныйСканером);
ОбъектДрайвера.setParam(ОбъектДрайвера.LIBPTR_PARAM_MARKING_CODE_TYPE, ОбъектДрайвера.LIBPTR_MCT_DATAMATRIX);
ОбъектДрайвера.registration();
Проанализировав вышесказанное, мы видим, что простая задача «сменить НДС» в современных реалиях превращается в комплексное обновление всей экосистемы взаимодействия 1С и кассового оборудования. Регулярное обновление прошивки и переход на современные методы интеграции (БСП и Драйвер 10-й серии) — залог отсутствия штрафов и стабильной работы торговой точки.