Как правильно изменить цены при переходе на новую ставку НДС в 1С:Управление торговлей 10.3, если цены включают налог?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При изменении ставки налога на добавленную стоимость (НДС) торговые предприятия сталкиваются с важной методологической и технической проблемой. Если в программе 1С:Управление торговлей 10.3 (УТ 10.3) для номенклатуры установлены цены, в состав которых уже включен НДС (настройка «Цены включают НДС»), то простое изменение ставки налога в карточке товара приведет к автоматическому уменьшению чистой прибыли компании. Конечная цена для покупателя останется прежней, но сумма налога внутри нее вырастет, а доля чистой выручки предприятия — сократится.

В этой статье мы подробно разберем, как правильно и цивилизованно решить эту задачу в конфигурации УТ 10.3. Мы рассмотрим математические формулы пересчета, использование типовых механизмов конфигурации, программные способы автоматизации процесса, а также важные сопутствующие настройки параметров системы.

Данная методология полностью применима как для исторического перехода со ставки 18% на 20%, так и для актуальной в настоящее время интеграции новых ставок НДС (например, льготных ставок 5% и 7% для плательщиков УСН с 2025 года).

---

Математический анализ: почему простая наценка «+2%» — это ошибка

Рассмотрим ситуацию, когда предприятие решает компенсировать увеличение НДС с 18% до 20% простым увеличением действующих цен на 2%. Выясним, почему такой подход математически неверен и ведет к искажению ценообразования.

Предположим, товар стоит 118 рублей (включая НДС 18%).

  1. Чистая стоимость товара без налога составляет: 118 / 1.18 = 100 рублей.
  2. Сумма НДС (18%) в этом случае равна 18 рублям.
  3. Если мы увеличим конечную розничную цену на 2%, новая цена составит: 118 * 1.02 = 120.36 рублей.
  4. Применяя новую ставку НДС 20% к этой цене, мы получим сумму налога: 120.36 * 20 / 120 = 20.06 рублей.
  5. Чистая стоимость товара (прибыль компании) составит: 120.36 - 20.06 = 100.30 рублей.

Таким образом, чистая цена товара необоснованно увеличилась на 30 копеек. Если наценить прайс-лист простым сложением процентов, компания завысит цены для конечных клиентов выше уровня инфляции налога. Чтобы сохранить маржинальность бизнеса на абсолютно прежнем уровне (оставив чистую цену равной ровно 100 рублям), необходимо использовать точный математический коэффициент.

Формула расчета правильного коэффициента:

Коэффициент = (1 + НоваяСтавкаНДС / 100) / (1 + СтараяСтавкаНДС / 100)

Для перехода с 18% на 20% расчет выглядит следующим образом:

Коэффициент = 1.20 / 1.18 ≈ 1.016949 (то есть цены необходимо увеличить примерно на 1.695%, а не на 2%).

Применив данный коэффициент к старой цене (118 рублей), мы получим новую цену: 118 * 1.016949 = 120 рублей. Чистая прибыль останется равной 100 рублям, а сумма НДС составит ровно 20 рублей. Налог увеличился, но цена для клиента выросла ровно на величину этого изменения.

---

Решение 1. Изменение цен через документ «Установка цен номенклатуры»

В конфигурации 1С:Управление торговлей 10.3 реализован мощный встроенный механизм для группового изменения цен. Рассмотрим пошагово, как выполнить операцию пересчета цен без привлечения программистов.

  1. Перейдем в меню Документы -> Ценообразование -> Установка цен номенклатуры и создадим новый документ.
  2. В поле «Тип цен» выберем те типы цен, которые подлежат изменению (например, «Оптовая», «Розничная», «Дилерская» и т.д.).
  3. Нажмем кнопку Заполнить на панели инструментов табличной части и выберем пункт Заполнить по ценам номенклатуры или Заполнить по группе номенклатуры, чтобы перенести в документ позиции, требующие изменения.
  4. После того как табличная часть заполнится текущими позициями и ценами, нажмем кнопку Изменить (над табличной частью).
  5. В открывшейся обработке «Формирование цен» выберем действие Изменить цены на процент или Рассчитать по формуле.
  6. Если мы используем изменение на процент, в поле процента укажем рассчитанное значение (для перехода 18% -> 20% это будет 1.695%).
  7. Если нам требуется математически точный пересчет без округлений процентов, мы можем выбрать вариант умножения цен на рассчитанный коэффициент 1.01695.
  8. Нажмем Выполнить, чтобы применить изменения к ценам в табличной части документа.
  9. После этого проведем созданный документ Установка цен номенклатуры. Новые цены начнут действовать с даты, указанной в документе.

---

Решение 2. Программное создание документа переоценки

Если позиций в базе данных очень много (десятки или сотни тысяч) и интерактивная работа с документом вызывает зависание системы, оптимальным решением будет написание небольшой внешней обработки, которая программно сформирует и запишет документ установки цен. Разберем пример кода, который автоматизирует данную задачу:


// Процедура программного создания документа переоценки
Процедура СоздатьУстановкуЦен(ТипЦеныСсылка, КоэффициентПересчета) Экспорт
    
    НовыйДокумент = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
    НовыйДокумент.Дата = ТекущаяДата();
    НовыйДокумент.Комментарий = "Автоматический пересчет цен в связи с изменением ставки НДС";
    
    // Добавляем тип цен в шапку документа
    НоваяСтрокаТипа = НовыйДокумент.ТипыЦен.Добавить();
    НоваяСтрокаТипа.ТипЦен = ТипЦеныСсылка;
    
    // Получаем текущие цены по выбранному типу цен с помощью запроса
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ЦеныСрезПоследних.Номенклатура КАК Номенклатура,
        |   ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК Характеристика,
        |   ЦеныСрезПоследних.Цена КАК Цена,
        |   ЦеныСрезПоследних.Валюта КАК Валюта,
        |   ЦеныСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения
        |ИЗ
        |   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ТипЦен = &ТипЦен) КАК ЦеныСрезПоследних";
        
    Запрос.УстановитьПараметр("Период", ТекущаяДата());
    Запрос.УстановитьПараметр("ТипЦен", ТипЦеныСсылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        // Рассчитываем новую цену с учетом коэффициента
        НоваяЦена = Выборка.Цена * КоэффициентПересчета;
        
        // Добавляем строку в табличную часть "Товары"
        НоваяСтрокаТовара = НовыйДокумент.Товары.Добавить();
        НоваяСтрокаТовара.Номенклатура = Выборка.Номенклатура;
        НоваяСтрокаТовара.ХарактеристикаНоменклатуры = Выборка.Характеристика;
        НоваяСтрокаТовара.ТипЦен = ТипЦеныСсылка;
        НоваяСтрокаТовара.Цена = НоваяЦена;
        НоваяСтрокаТовара.Валюта = Выборка.Валюта;
        НоваяСтрокаТовара.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
        НоваяСтрокаТовара.СпособРасчетаЦены = Перечисления.СпособыРасчетаЦен.ПоСтрокамЭтогоДокумента;
    КонецЦикла;
    
    Если НовыйДокумент.Товары.Количество() > 0 Тогда
        НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
        Сообщить("Успешно создан и проведен документ: " + НовыйДокумент.Ссылка);
    Иначе
        Сообщить("Нет данных для заполнения документа по указанному типу цен.");
    КонецЕсли;
    
КонецПроцедуры

---

Решение 3. Использование штатного «Помощника замены ставки НДС»

Начиная с релиза 10.3.50.1, фирма 1С добавила в типовую конфигурацию специализированную обработку — Помощник замены ставки НДС на 20%. Мы рекомендуем использовать именно этот инструмент, поскольку он автоматизирует не только изменение реквизита в карточке номенклатуры, но и корректирует смежные объекты информационной базы.

Для запуска помощника выполним следующие действия:

  1. Откроем меню Сервис -> Помощник замены ставки НДС на 20% (или найдем эту обработку через меню Операции -> Обработки).
  2. Помощник предложит пошаговый алгоритм действий. На первом этапе программа проанализирует текущие настройки системы.
  3. Помощник автоматически изменит ставки НДС не только в справочнике Номенклатура, но и в:
    • договорах контрагентов (если там жестко зафиксирована ставка);
    • договорах между собственными организациями холдинга;
    • настройках номенклатурных групп.
  4. На финальных шагах программа предложит автоматически пересчитать цены в действующих прайс-листах (используя описанную выше логику пропорционального изменения цен).

---

Важные настройки пользователей и переходного периода

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

  1. Перейдем в меню Операции -> Регистры сведений -> Настройки пользователей.
  2. Найдем в списке параметр настройки «Основная ставка НДС».
  3. Проанализируем значения этого реквизита у всех менеджеров. Если у кого-то из сотрудников там по-прежнему выбрано значение "18%", программа при создании им новых документов (например, "Заказ покупателя" или "Реализация товаров и услуг") будет автоматически подставлять устаревшую ставку, игнорируя настройки карточки номенклатуры.
  4. Массово заменим значение этой настройки на актуальные "20%" (или новые ставки 5% / 7% для УСН с 2025 года) для всех пользователей информационной базы.

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

← На главную