Переход на ставку НДС 22%

01.01.2026 поменяются ставки НДС:

  • Появятся новые ставки 22% и 22%/122%.

  • Ставка 20% и 20%/120% останется для отправки документов за прошлые периоды.

  • Вернутся ставки 18% и 18%/118% для отправки документов за прошлые периоды.

Для работы с новыми ставками НДС обновите следующее:

  • Конфигурация 1С.

  • Подключаемый модуль.

  • Основной модуль.

Примечание

Подключаемый модуль можно обновить до обновления конфигурации 1С и основного модуля.

Обновление конфигурации 1С

Чтобы модуль работал с новыми ставками НДС, добавьте их в информационную базу.

По информации от фирмы 1С, она выпустит обновления только для поддерживаемых версий. Снятые с поддержки конфигурации обновляться не будут.

Выполните одно из действий:

  • Обновите конфигурацию до поддерживаемой версии.

  • Добавьте новую ставку НДС в конфигурацию, соблюдая существующие правила наименования элементов перечисления СтавкиНДС.

Ставка

НДС 22%

НДС 18%

НДС 22/122

НДС 18/118

Имя в конфигурации

НДС22

НДС18

НДС22_122

НДС18_118

Синоним в конфигурации

22%

18%

22/122

18/118

Обновление подключаемого модуля

В подключаемом модуле часто встречается код по преобразованию ставок НДС.

Для входящих:

СтавкиНДС_ПеречислениеИзПредставления
НоваяСтрока.СтавкаНДС = СтавкиНДС_ПеречислениеИзПредставления(СтрокаДанных.СтавкаНДС);

Функция СтавкиНДС_ПеречислениеИзПредставления(СтавкаНДС)

    ЗначениеНДС = Неопределено;

    ПеречислениеМенеджер = Вычислить("Перечисления.СтавкиНДС");

    Если ТипЗнч(СтавкаНДС) = Тип("Строка") Тогда
        ПредставлениеСтавкиНДС = СтавкаНДС;
    ИначеЕсли ТипЗнч(СтавкаНДС) = Тип("Число") Тогда
        ПредставлениеСтавкиНДС = Строка(СтавкаНДС);
    Иначе // неправильный тип
        ПредставлениеСтавкиНДС = Неопределено;
    КонецЕсли;

    Если ПредставлениеСтавкиНДС = Неопределено ИЛИ ВРЕГ(ПредставлениеСтавкиНДС) = "БЕЗ НДС" Тогда
        ЗначениеНДС = ПеречислениеМенеджер.БезНДС;

    ИначеЕсли ПредставлениеСтавкиНДС = "0" ИЛИ ПредставлениеСтавкиНДС = "0%" Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС0;

    ИначеЕсли Найти("10#0.1#0,1#0.10#0,10#10%", ПредставлениеСтавкиНДС) > 0 Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС10;

    ИначеЕсли Найти("20#0.2#0,2#0.20#0,20#20%", ПредставлениеСтавкиНДС) > 0 Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС20;

    ИначеЕсли Найти("18#0.18#0,18#0.18#0,18#18%", ПредставлениеСтавкиНДС) > 0 Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС18;

    ИначеЕсли Найти("10/110#10% / 110%#10%/110%", ПредставлениеСтавкиНДС) > 0 Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС10_110;

    ИначеЕсли Найти("20/120#20% / 120%#20%/120%", ПредставлениеСтавкиНДС) > 0 Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС20_120;

    ИначеЕсли Найти("18/118#18% / 118%#18%/118%", ПредставлениеСтавкиНДС) > 0 Тогда
        ЗначениеНДС = ПеречислениеМенеджер.НДС18_118;

    КонецЕсли;

    Возврат ЗначениеНДС;

КонецФункции

Для исходящих:

ПредставлениеСтавкиНДС
СтавкаНДС = ПредставлениеСтавкиНДС(ТекСтрока.СтавкаНДС);

Функция ПредставлениеСтавкиНДС(СтавкаНДС)

    Если НЕ ЗначениеЗаполнено(СтавкаНДС) Тогда
        Возврат "";
    КонецЕсли;

    Если ТипЗнч(СтавкаНДС) = Тип("Строка") Тогда
        Возврат СтавкаНДС;
    КонецЕсли;

    НаименованияСтавок = Новый Соответствие;
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС0     , "0");
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС10    , "10");
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС18    , "18");
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС20    , "20");
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.БезНДС   , "без НДС");

    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС10_110, "10/110");
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС18_118, "18/118");
    НаименованияСтавок.Вставить(Перечисления.СтавкиНДС.НДС20_120, "20/120");

    Результат = НаименованияСтавок.Получить(СтавкаНДС);

    Если Не ЗначениеЗаполнено(Результат) Тогда

        // Представление ставки НДС получить не удалось,
        // поэтому возвращаем признак ошибки через зарезервированную строку "##".
        // Такую строку умеет обрабатывать валидация контента.
        Результат = "##";

    КонецЕсли;

    Возврат Результат;

КонецФункции

Существуют 2 сценария обновления:

  • Используйте публичные методы универсального модуля.

  • Допишите новые ставки в имеющийся алгоритм.

Примечание

Рекомендуем использовать публичные методы. При дальнейших изменениях ставок НДС, не потребуется обновлять подключаемый модуль.

Достаточно будет обновить основной модуль и конфигурацию 1С.

Код по преобразованию ставок НДС замените на обращение в публичные методы:

Примечание

Публичный метод нужно применять, если:

  • Работа с текущей конфигурацией поддерживается модулем Диадок 1С и в настройках подключен типовой интеграционный модуль.

  • Интеграционный модуль не подключен, но в конфигурации присутствует перечисление с именем «СтавкиНДС» и отсутствует справочник с именем «СтавкиНДС».

Подробные условия применимости методов смотрите в описании публичных методов.

При использовании публичных методов, код примет следующий вид.

Для входящих:

ЭДО_ЗначениеСтавкиНДС
НоваяСтрока.СтавкаНДС = СтавкиНДС_ЗначениеИзПредставления(СтрокаДанных.СтавкаНДС);

Функция СтавкиНДС_ЗначениеИзПредставления(ПредставлениеСтавкиНДС)

    Результат = ОсновнойМодуль.ЭДО_ЗначениеСтавкиНДС(ПредставлениеСтавкиНДС);

    Возврат Результат;

КонецФункции

Для исходящих:

ЭДО_ПредставлениеСтавкиНДС
СтавкаНДС = СтавкиНДС_ПредставлениеИзЗначения(ТекСтрока.СтавкаНДС);

Функция СтавкиНДС_ПредставлениеИзЗначения(СтавкаНДС)

    Результат = ОсновнойМодуль.ЭДО_ПредставлениеСтавкиНДС(СтавкаНДС);

    Если Результат = Неопределено Тогда

        // Представление ставки НДС получить не удалось,
        // поэтому возвращаем признак ошибки через зарезервированную строку "##".
        // Такую строку умеет обрабатывать валидация контента.
        Результат = "##";

    КонецЕсли;

    Возврат Результат;

КонецФункции

Обновление основного модуля

С версии 4.59 модуль Диадок поддержит работу с новыми ставками НДС в интеграционных модулях и публичных методах.

Обновите основной модуль, чтобы отправлять документы с новыми ставками НДС.