Переход на ставку НДС 20% (вместо 18%) стал серьезным техническим вызовом для многих пользователей ККТ АТОЛ, особенно тех, кто продолжает использовать устаревшие, но стабильные драйверы серии 8.x (ДТО 8). Рассмотрим подробно, как правильно настроить программное обеспечение и кассовый аппарат, чтобы чеки соответствовали законодательству, а суммы налогов рассчитывались без ошибок.
Основной вопрос, который возникает у разработчиков 1С: нужно ли менять код в конфигурации и передавать новое значение налога Tax="20"? Проанализируем логику работы драйвера 8.16.1 и прошивок АТОЛ. В обновленных прошивках (начиная с версии 10-7733 и выше) реализован механизм автоматического маппинга. Это означает, что касса внутри себя связывает старый индекс налога (который раньше соответствовал 18%) с новой ставкой 20%.
Важный вывод: если в ККТ установлена актуальная прошивка и активирован Код Защиты №10 (КЗ 10), драйвер 8.16.1 продолжает работать со старыми индексами. Вы по-прежнему отправляете из 1С значение налога, соответствующее 18%, а касса, основываясь на своей внутренней дате (после 01.01.2019), автоматически печатает в чеке "НДС 20%" и применяет математический коэффициент 20/120.
Посмотрим на пример формирования строки для драйвера, которая остается актуальной:
<FiscalString Name="Товар" Quantity="1" PriceWithDiscount="120" SumWithDiscount="120" DiscountSum="" Department="1" Tax="18" SignMethodCalculation="4" SignCalculationObject="1" TaxSum=""/>
В логах драйвера при этом будет видна команда Driver.Set_TaxTypeNumber 3. Несмотря на то, что передается индекс для 18%, на выходе мы получим корректный чек с НДС 20%.
Одной из самых частых проблем при смене ставки налога становятся расхождения в копейках между данными в 1С и данными, которые рассчитала касса. Разберем ситуацию, когда возникает ошибка -3800 (Сумма налогов не совпадает с суммой по позициям). Для решения этой проблемы необходимо правильно настроить таблицу параметров ККТ, а именно поле Т2Р1П114.
Проанализируем структуру этого битового поля, чтобы понять, как касса считает налог:
TaxSum). Если ваша сумма из 1С отличается от расчетной более чем на 1 копейку (при отсутствии скидок), чек будет аннулирован.Для большинства конфигураций 1С рекомендуется устанавливать значение DEF: 2 или настраивать попозитный расчет, чтобы избежать конфликтов при округлении.
Выясним причину сложностей при оформлении возвратов. Если товар был отгружен со ставкой 18% в прошлом периоде, а возврат происходит после вступления в силу ставки 20%, возникает коллизия. Согласно разъяснениям ФНС, если программное обеспечение не позволяет технически пробить 18% в чеке возврата, допускается указание актуальной на момент возврата ставки 20%.
Однако, если вам критически важно указать именно 18%, в драйверах 10-й серии реализован механизм "Алгоритмы", позволяющий гибко управлять ставками. В ДТО 8 это реализовать сложнее: касса может потребовать ручного расчета суммы налога и передачи её через параметры TaxSum, при этом в конфигурации 1С должна быть реализована логика вычисления налога "обратным счетом".
Рассмотрим порядок действий для системного администратора при подготовке парка касс:
Проанализируем использование TaxSum. Если вы решите передавать рассчитанную сумму налога напрямую из 1С, помните: ККТ не всегда может определить ставку налога только по сумме. Если вы передаете TaxSum, но не передаете корректный индекс Tax, касса может напечатать "НДС 0" или выдать ошибку. Всегда передавайте оба параметра для обеспечения точности данных в ОФД.
Таким образом, для успешной работы в условиях 1С 8.2 и ДТО 8.16.1 ключевым фактором является не изменение программного кода 1С, а корректная настройка "железа" (прошивка + лицензия) и параметров округления в таблицах кассового аппарата.