Как адаптировать нетиповую конфигурацию 1С при повышении ставки НДС до 20%?

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

Переход на новую ставку НДС — это не просто изменение цифры в справочнике. Для систем на базе 1С, особенно для нетиповых и сильно кастомизированных решений (таких как УПП или самописные конфигурации), этот процесс требует комплексного подхода: от аудита программного кода до изменения логики работы с государственными контрактами и кассовым оборудованием. В этой статье мы подробно разберем, какие шаги необходимо предпринять программисту и администратору системы для корректного перехода.

Первичные настройки и подготовка данных

Начнем с самого очевидного, но критически важного этапа — актуализации нормативно-справочной информации. Если в вашей системе ставка 20% уже заведена в перечислении или справочнике, это упрощает задачу, но не решает её полностью.

Разберем последовательность действий в интерфейсе и метаданных:

  1. Карточка номенклатуры: Проанализируем справочник Номенклатура. В большинстве конфигураций ставка НДС привязана к конкретной позиции. Необходимо массово обновить значение ставки с 18% на 20%. Это можно сделать с помощью обработки "Групповое изменение реквизитов". Однако будьте внимательны: изменения должны вступать в силу строго с даты перехода (например, 1 января).
  2. Настройки пользователей: Рассмотрим параметры по умолчанию. В 1С часто реализованы механизмы подстановки значений в новые документы. Проверим регистры сведений, где хранятся настройки пользователей, и заменим значения 18% на 20%, чтобы при создании новых счетов или реализаций программа не подтягивала устаревшие данные.

Технический аудит программного кода и поиск "Hardcode"

В нетиповых конфигурациях разработчики часто используют "быстрые решения", которые могут привести к ошибкам при расчетах. Нам необходимо провести глобальный поиск по всей конфигурации.

Проанализируем программный код на наличие жестко заданных чисел. Особое внимание уделим поиску строк, содержащих значения 18 и 118. В старых системах расчет суммы НДС часто прописывался формулой:


// Пример ошибочного кода с жесткой привязкой ставки
СуммаНДС = СуммаДокумента * 18 / 118;

Такой подход недопустим. Разберем, как правильно реализовать расчет. Программа должна динамически получать числовой коэффициент из объекта ставки НДС. Рассмотрим пример корректного извлечения данных:


// Правильный подход: получение ставки из реквизита документа
ЧислоСтавки = НалоговыйУчет.ПолучитьСтавкуНДС(СтавкаНДС); // Условная функция получения числа
СуммаНДС = СуммаДокумента * ЧислоСтавки / (100 + ЧислоСтавки);

Выясним причины возможных сбоев в запросах. Если в системе есть отчеты, построенные на прямых запросах к базе данных или использующие условия вида ГДЕ СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18), их необходимо переработать, чтобы они учитывали обе ставки (и 18%, и 20%) в зависимости от периода отчета.

Особенности переходного периода: авансы и отгрузки

Одной из самых сложных задач является корректный учет НДС в ситуациях, когда оплата и отгрузка происходят в разные периоды. Посмотрим на алгоритм работы с авансами:

  1. Зачет авансов 2018 года: Если покупатель внес предоплату в 2018 году по ставке 18%, а отгрузка товара осуществляется в 2019 году, то реализация обязана быть по ставке 20%. При этом к вычету принимается НДС с аванса именно по ставке 18%. Важно убедиться, что ваши алгоритмы в документе "Формирование записей книги покупок" не пытаются автоматически "подтянуть" ставку реализации к ставке аванса.
  2. Доплата 2% НДС: Разберем ситуацию, когда клиент доплачивает разницу в налоге. ФНС разъясняла, что такая доплата должна рассматриваться как корректировка аванса. В программе это должно отражаться через корректировочные счета-фактуры на разницу в ставках.

Изменения в законодательных формах и отчетности

Повышение ставки неизбежно влечет за собой обновление форм отчетности. Согласно Постановлению Правительства № 1137, изменения затрагивают практически все документы учета НДС:

Счета-фактуры и книги продаж/покупок:

Если конфигурация нетиповая, вам придется вручную модифицировать макеты печатных форм. Проанализируем ситуацию: часто в макетах заголовки колонок (например, "НДС 18%") прописаны текстом. Их нужно заменить на параметры, которые будут меняться в зависимости от даты документа.

Работа с возвратами товаров

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

Для программиста это означает, что документ возврата (или корректировки реализации) должен обладать "памятью". Рассмотрим по шагам:

  1. Программа находит документ-основание.
  2. Извлекает из него ставку НДС (18%).
  3. Транслирует эту ставку в новый документ, блокируя автоматическую подстановку 20%.

Интеграция с торговым оборудованием (ККТ)

Если ваша 1С работает с фискальными регистраторами, просто поменять настройки в программе недостаточно. Разберем критический момент: с 1 января чек с указанием ставки 18% является нарушением.

Необходимо проверить:

Посмотрим на пример логики в коде обработки торгового оборудования:


// Проверка периода для передачи правильного тега на ФР
Если ДатаДокумента >= ДатаПерехода Тогда
    ОбъектДрайвера.СтавкаНДС = 20;
Иначе
    ОбъектДрайвера.СтавкаНДС = 18;
КонецЕсли;

Заключение и рекомендации

Адаптация нетиповой системы — это процесс, требующий тесного взаимодействия программиста и бухгалтера. Рекомендуется начать с полного аудита всех мест в коде, где встречается расчет налога, и плавно переходить к обновлению печатных форм и механизмов выгрузки отчетности. Помните, что главной сложностью будет не само число "20", а корректная обработка документов переходного периода и возвратов по старым сделкам.

← На главную