При изменении ставки налога на добавленную стоимость (НДС) торговые предприятия сталкиваются с важной методологической и технической проблемой. Если в программе 1С:Управление торговлей 10.3 (УТ 10.3) для номенклатуры установлены цены, в состав которых уже включен НДС (настройка «Цены включают НДС»), то простое изменение ставки налога в карточке товара приведет к автоматическому уменьшению чистой прибыли компании. Конечная цена для покупателя останется прежней, но сумма налога внутри нее вырастет, а доля чистой выручки предприятия — сократится.
В этой статье мы подробно разберем, как правильно и цивилизованно решить эту задачу в конфигурации УТ 10.3. Мы рассмотрим математические формулы пересчета, использование типовых механизмов конфигурации, программные способы автоматизации процесса, а также важные сопутствующие настройки параметров системы.
Данная методология полностью применима как для исторического перехода со ставки 18% на 20%, так и для актуальной в настоящее время интеграции новых ставок НДС (например, льготных ставок 5% и 7% для плательщиков УСН с 2025 года).
---
Рассмотрим ситуацию, когда предприятие решает компенсировать увеличение НДС с 18% до 20% простым увеличением действующих цен на 2%. Выясним, почему такой подход математически неверен и ведет к искажению ценообразования.
Предположим, товар стоит 118 рублей (включая НДС 18%).
118 / 1.18 = 100 рублей.118 * 1.02 = 120.36 рублей.120.36 * 20 / 120 = 20.06 рублей.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С:Управление торговлей 10.3 реализован мощный встроенный механизм для группового изменения цен. Рассмотрим пошагово, как выполнить операцию пересчета цен без привлечения программистов.
Установка цен номенклатуры. Новые цены начнут действовать с даты, указанной в документе.---
Если позиций в базе данных очень много (десятки или сотни тысяч) и интерактивная работа с документом вызывает зависание системы, оптимальным решением будет написание небольшой внешней обработки, которая программно сформирует и запишет документ установки цен. Разберем пример кода, который автоматизирует данную задачу:
// Процедура программного создания документа переоценки
Процедура СоздатьУстановкуЦен(ТипЦеныСсылка, КоэффициентПересчета) Экспорт
НовыйДокумент = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДата();
НовыйДокумент.Комментарий = "Автоматический пересчет цен в связи с изменением ставки НДС";
// Добавляем тип цен в шапку документа
НоваяСтрокаТипа = НовыйДокумент.ТипыЦен.Добавить();
НоваяСтрокаТипа.ТипЦен = ТипЦеныСсылка;
// Получаем текущие цены по выбранному типу цен с помощью запроса
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныСрезПоследних.Номенклатура КАК Номенклатура,
| ЦеныСрезПоследних.ХарактеристикаНоменклатуры КАК Характеристика,
| ЦеныСрезПоследних.Цена КАК Цена,
| ЦеныСрезПоследних.Валюта КАК Валюта,
| ЦеныСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ТипЦен = &ТипЦен) КАК ЦеныСрезПоследних";
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("ТипЦен", ТипЦеныСсылка);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
// Рассчитываем новую цену с учетом коэффициента
НоваяЦена = Выборка.Цена * КоэффициентПересчета;
// Добавляем строку в табличную часть "Товары"
НоваяСтрокаТовара = НовыйДокумент.Товары.Добавить();
НоваяСтрокаТовара.Номенклатура = Выборка.Номенклатура;
НоваяСтрокаТовара.ХарактеристикаНоменклатуры = Выборка.Характеристика;
НоваяСтрокаТовара.ТипЦен = ТипЦеныСсылка;
НоваяСтрокаТовара.Цена = НоваяЦена;
НоваяСтрокаТовара.Валюта = Выборка.Валюта;
НоваяСтрокаТовара.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;
НоваяСтрокаТовара.СпособРасчетаЦены = Перечисления.СпособыРасчетаЦен.ПоСтрокамЭтогоДокумента;
КонецЦикла;
Если НовыйДокумент.Товары.Количество() > 0 Тогда
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
Сообщить("Успешно создан и проведен документ: " + НовыйДокумент.Ссылка);
Иначе
Сообщить("Нет данных для заполнения документа по указанному типу цен.");
КонецЕсли;
КонецПроцедуры
---
Начиная с релиза 10.3.50.1, фирма 1С добавила в типовую конфигурацию специализированную обработку — Помощник замены ставки НДС на 20%. Мы рекомендуем использовать именно этот инструмент, поскольку он автоматизирует не только изменение реквизита в карточке номенклатуры, но и корректирует смежные объекты информационной базы.
Для запуска помощника выполним следующие действия:
Номенклатура, но и в:
---
Часто администраторы баз данных забывают, что помимо справочника Номенклатура, старые ставки НДС могут сохраняться в настройках по умолчанию для пользователей системы. Разберем, как избежать появления старой ставки в новых документах.
Важное предупреждение о сохранении старых ставок: ни в коем случае не удаляйте старые налоговые ставки из справочника классификатора ставок НДС! В практике учета вам обязательно встретятся операции переходного периода (например, возвраты товаров от покупателей, отгруженных ранее по старой ставке НДС, или корректировочные счета-фактуры к документам прошлых лет). Система должна иметь возможность использовать исторические ставки НДС для корректного отражения таких операций в регламентированном учете.