С 1 января 2025 года налогоплательщики на упрощенной системе налогообложения (УСН) при достижении определенного порога доходов становятся плательщиками НДС со специальными ставками 5% и 7%. Для владельцев старых, сильно кастомизированных или просто необновляемых конфигураций, таких как 1С:Управление производственным предприятием (УПП) ред. 1.3 или УТ 10.3, это становится серьезным техническим вызовом. В данной статье мы разберем комплексный подход к адаптации системы, учитывая, что база используется как управленческая и «печатная машина», а отчетность планируется сдавать из современных конфигураций.
Первым делом нам необходимо внести изменения в структуру метаданных, чтобы система «узнала» о существовании новых ставок. Разберем, какие объекты необходимо затронуть в первую очередь. Основным объектом является перечисление СтавкиНДС. Проанализируем состав этого перечисления в конфигураторе и добавим новые значения:
НДС5 (Синоним: 5%)НДС5_105 (Синоним: 5/105) — для расчетных случаев.НДС7 (Синоним: 7%)НДС7_107 (Синоним: 7/107) — для расчетных случаев.Важный нюанс: простого добавления значений недостаточно. Система должна понимать числовой эквивалент этих ставок. В старых редакциях УПП часто используются функции, которые преобразуют значение перечисления в число. Рассмотрим пример того, как нужно будет доработать такие функции в общих модулях (например, в модуле ОбщегоНазначения или специализированных модулях по учету НДС):
Функция ПолучитьСтавкуНДСЧислом(СтавкаПеречисление) Экспорт
Если СтавкаПеречисление = Перечисления.СтавкиНДС.НДС20 Тогда
Возврат 20;
ИначеЕсли СтавкаПеречисление = Перечисления.СтавкиНДС.НДС10 Тогда
Возврат 10;
ИначеЕсли СтавкаПеречисление = Перечисления.СтавкиНДС.НДС5 Тогда
Возврат 5;
ИначеЕсли СтавкаПеречисление = Перечисления.СтавкиНДС.НДС7 Тогда
Возврат 7;
// ... и так далее для расчетных ставок
КонецЕсли;
КонецФункции
Одной из самых больших проблем старых конфигураций является «жесткое» прописывание (хардкод) ставок НДС в алгоритмах. Проанализируем ситуацию: разработчики 10-15 лет назад могли не предполагать появления ставок 5% и 7%. Выясним причину возможных ошибок, проведя глобальный поиск по всей конфигурации.
Рекомендуется использовать инструмент «Поиск во всех текстах» в конфигураторе. Нам нужно искать следующие фрагменты:
"20/120", "18/118", "10/110".20, 120, 1.2 в контексте расчетов суммы НДС.СтавкиНДС, где отсутствует ветка Иначе.Разберем типичный пример проблемного кода в обработке табличной части документа:
// Было:
СуммаНДС = ?(Строка.СтавкаНДС = Перечисления.СтавкиНДС.НДС20, Строка.Сумма * 20 / 120, Строка.Сумма * 10 / 110);
// Стало (правильный подход):
ЧисловаяСтавка = ПолучитьСтавкуНДСЧислом(Строка.СтавкаНДС);
СуммаНДС = Строка.Сумма * ЧисловаяСтавка / (100 + ЧисловаяСтавка);
При использовании обычных форм в УПП не забудьте проверить модули форм документов (ЗаказПокупателя, РеализацияТоваровУслуг, СчетФактураВыданный). В них часто содержатся обработчики событий ПриИзменении для колонки СтавкаНДС, которые также потребуют корректировки логики пересчета сумм. Для УТ 10.3 можно использовать готовые формы УПД, в том числе с учетом прослеживаемости и графой 5б.
Даже если мы научим формы документов рассчитывать 5% НДС, нам нужно обеспечить корректное отражение данных в регистрах. Проанализируем основные регистры накопления, задействованные в цепочке НДС в УПП:
НДС ПродажиНДС НачисленныйНДС Предъявленный (для входящего налога)Если ваша компания переходит на упрощенный НДС (5% или 7%), важно помнить, что право на налоговый вычет по входящему НДС в большинстве случаев теряется. Это означает, что при поступлении товаров входящий НДС должен включаться в стоимость (режим "НДС включен в стоимость"). Посмотрим, как это реализовано в УПП: за это отвечает флаг УчитыватьНДС и СуммаВключаетНДС в диалоге «Цены и валюта».
Если вы планируете автоматизировать этот процесс, рассмотрите возможность доработки механизма подстановки параметров в документы. Выясним, как система определяет ставку по умолчанию — обычно это берется из настроек номенклатуры. Следовательно, вам придется массово обновить ставку НДС в справочнике Номенклатура для всех позиций, переходящих на новые ставки.
Для корректного формирования печатных форм счетов-фактур и УПД необходимо модифицировать функции формирования текста. В УПП за это часто отвечает общая функция СформироватьТекстНДС(). Проанализируем ее код: она должна корректно подставлять строку «5%» или «7%» в колонку «Налоговая ставка» и правильно рассчитывать итоговые суммы.
Особое внимание уделим ЭДО (Электронному документообороту). ФНС предъявляет строгие требования к XML-файлам. Старые механизмы формирования XML в необновляемой УПП не знают о новых кодах ставок. Если вы отправляете документы через ЭДО непосредственно из УПП, вам потребуется вручную внедрить изменения в модули формирования XML (5.03), соответствующие актуальным приказам ФНС. Без этого контрагенты просто не смогут принять ваши документы, так как форматная проверка выдаст ошибку.
Как справедливо заметили участники обсуждения, сдавать декларацию по НДС из старой УПП — задача практически невыполнимая из-за постоянно меняющихся форматов выгрузки. Рассмотрим стратегию выгрузки данных в 1С:Бухгалтерию 3.0 (БП).
Для реализации этой схемы нам потребуется:
В правилах выгрузки для перечисления СтавкиНДС необходимо прописать соответствие: ваше новое значение НДС5 из УПП должно четко транслироваться в значение НДС5 в БП 3.0. Проанализируем ситуацию, если в БП ставки реализованы по-другому: в таком случае придется писать обработчик ПередВыгрузкой или ПриЗагрузке.
// Фрагмент правила конвертации значения
Если Источник = Перечисления.СтавкиНДС.НДС5 Тогда
Значение = "НДС5"; // Имя значения в конфигурации-приемнике
КонецЕсли;
Подводя итог, можно сказать, что переход на НДС 5% и 7% в старой УПП — это не только визуальное изменение форм. Посмотрим на критические точки, которые мы разобрали:
Выясним финальный объем работ: если ваша база используется только для внутреннего учета и выписки первичных документов на бумаге, объем правок минимален. Однако, если задействованы механизмы ККТ (кассы), ЭДО или автоматическое заполнение книги продаж, приготовьтесь к масштабному рефакторингу участков кода, отвечающих за налоговый учет.