Конец квартала и Excel
Организация на общей системе. Головная в одном регионе, два склада с рабочими местами в двух других, налоговая поставила подразделения на учет, КПП у каждого свой. Конец квартала, декларация по налогу на прибыль, и в ней Приложение 5 к листу 02: отдельный лист на каждое подразделение, в нем доля налоговой базы и сумма налога в бюджет субъекта.
В ПРОФ это приложение пустое. Дальше Excel: выгрузить численность по подразделениям, выгрузить остаточную стоимость основных средств на первое число каждого месяца, сложить, поделить, вбить руками. Следующий квартал по новой.
На форумах отвечают одинаково: в ПРОФ не автоматизировано, переходите на КОРП. Мне стало интересно, где именно проходит граница, и я залез в поставку обеих редакций. Заодно нашлась ошибка, которую легко сделать при самостоятельном расчете, — сам чуть не сделал.
Сто тридцать строк пустоты
Механизм живет в общем модуле НалоговыйУчетОбособленныхПодразделений. Он есть в обеих редакциях. Чтобы разница не объяснялась версиями, я взял две выгрузки одного релиза, 3.0.206.19.
| ПРОФ | КОРП | |
|---|---|---|
| Размер модуля | 7 844 байта | 355 062 байта |
| Строк | 130 | 4 255 |
| Процедур всего | 32 | 57 |
| Из них экспортных | 32 | 32 |
| Непустых | 0 | 57 |
Экспортный интерфейс совпадает до буквы: те же тридцать две процедуры, те же имена, те же параметры. В КОРП за ними четыре с половиной тысячи строк, в ПРОФ не стоит ничего. Вот начало файла в ПРОФ, ничего не вырезано:
Процедура ОпределитьВедениеУчетаВРазрезеНалоговыхОрганов(ВестиУчет) Экспорт КонецПроцедуры Процедура ЗаполнитьНалоговыеСтавкиРегиональныйБюджет(Ставки, Период, Организация, РегистрацииВНалоговомОргане) Экспорт КонецПроцедуры Процедура СоздатьТаблицуРегионов(МенеджерВременныхТаблиц, Организация, Период) Экспорт КонецПроцедуры
И так все сто тридцать строк. Ключевые для нас три выглядят ровно так же:
Процедура ПоказательОпределенияДолиПрибыли(ПоказательДляОпределенияДолиПрибыли, Организация, Период) Экспорт КонецПроцедуры Процедура ПодготовитьРасчетРаспределенияНалоговойБазы(КонтекстРасчета, МенеджерВременныхТаблиц) Экспорт КонецПроцедуры Процедура ЗаполнитьЛист2Приложение5ДекларацииПоПрибыли(Контейнер, ПараметрыОтчета, СписокОрганизаций, Лист02_Прил5) Экспорт КонецПроцедуры
Последнюю вызывает общий модуль НалоговыйУчет как раз там, где заполняется декларация. Вызов на месте, а за ним пустота, поэтому приложение и остается незаполненным.
Замок стоит не на расчете, а на редакции
Я полез смотреть, чем включается учет по подразделениям, и уперся вот в это:
Функция ВестиУчетПоПодразделениям() Экспорт
Если Не ТарификацияБПВызовСервераПовтИсп.РазрешенУчетОбособленныхПодразделений() Тогда
Возврат Ложь;
КонецЕсли;
Возврат ПолучитьФункциональнуюОпцию("ВестиУчетПоПодразделениям");
КонецФункции
А внутри проверки первой же строкой:
Функция РазрешенУчетОбособленныхПодразделений() Экспорт
Если Не ВариантыПриложений.ЭтоВерсияКОРП() Тогда
Возврат Ложь;
КонецЕсли;
...
Этот код в ПРОФ и в КОРП побайтно одинаковый, расходится только ответ ЭтоВерсияКОРП(). Дело не в том, что чего-то не дописали: учет обособленных подразделений выключен по редакции, и функциональной опцией его в ПРОФ не включить.
Проверил живьем в базе ПРОФ, чтобы не гадать по исходникам. Два следствия видны сразу:
- в карточке подразделения нет флажка «Обособленное подразделение», хотя реквизит
ОбособленноеПодразделениев справочнике есть и форма умеет с ним работать - в форме «Налоги и отчеты», в разделе «Налог на прибыль», нет группы «Определение доли прибыли». Ставки, метод амортизации, инвестиционный вычет, прямые расходы, порядок уплаты авансов есть. Доли прибыли нет.
Как считает КОРП
Основание — пункт 2 статьи 288 НК: доля прибыли подразделения есть средняя арифметическая двух удельных весов, по труду и по имуществу. В коде это процедура ПодготовитьРасчетРаспределенияНалоговойБазы:
Если ИтогПоказательОпределенияДолиПрибыли = 0 И ИтогСредняяСтоимостьИмущества = 0 Тогда
Запись.ДоляНалоговойБазы = 0;
ИначеЕсли ИтогПоказательОпределенияДолиПрибыли = 0 Тогда
Запись.ДоляНалоговойБазы = СтоимостьАмортизируемогоИмущества / ИтогСредняяСтоимостьИмущества;
ИначеЕсли ИтогСредняяСтоимостьИмущества = 0 Тогда
Запись.ДоляНалоговойБазы = ПоказательОпределенияДолиПрибыли / ИтогПоказательОпределенияДолиПрибыли;
Иначе
Запись.ДоляНалоговойБазы =
(СтоимостьАмортизируемогоИмущества / ИтогСредняяСтоимостьИмущества
+ ПоказательОпределенияДолиПрибыли / ИтогПоказательОпределенияДолиПрибыли)
/ 2;
КонецЕсли;
Четыре ветки, и три из них про вырожденные случаи: нет ни того ни другого, нет численности, нет имущества. В Excel это ровно те клетки, где вылезает деление на ноль.
А вот кусок, который сам не придумаешь:
РасчетДействующихПодразделений.Сортировать("НалоговаяБаза УБЫВ, ДоляНалоговойБазы УБЫВ, ...");
// Отклонение округления добавляем в самую большую долю
ПогрешностьОкругления = 1 - РасчетДействующихПодразделений.Итог("ДоляНалоговойБазы");
Если ЗначениеЗаполнено(РасчетДействующихПодразделений) И ПогрешностьОкругления <> 0 Тогда
ЗаписьМаксимальнойДоли = РасчетДействующихПодразделений[0];
ЗаписьМаксимальнойДоли.ДоляНалоговойБазы = ЗаписьМаксимальнойДоли.ДоляНалоговойБазы + ПогрешностьОкругления;
КонецЕсли;
Сумма долей обязана давать единицу. Если после округления вышло 0,99998, недостачу кладут в наибольшую долю, а не размазывают поровну и не дописывают в последнюю строку таблицы, как обычно выходит при ручном счете.
Саму формулу КОРП, кстати, печатает прямо в отчете. Справка-расчет называется «Распределение прибыли по бюджетам субъектов РФ» и лежит в разделе Операции, в справках-расчетах. Графа 9 там подписана буквально: Доля прибыли (гр.3 / итог гр.3 + гр.8 / итог гр.8) / 2.
Показатель по труду
Что брать, численность или расходы на оплату труда, организация решает сама и закрепляет в учетной политике. КОРП читает выбор из регистра НастройкиУчетаНалогаНаПрибыль, а если записи нет, берет расходы на оплату труда. Численность получает так:
// В соответствии с письмами Минфина России от 20.11.13 № 03-03-06/1/49980,
// от 27.12.2011 № 03-03-06/2/201, в вопросах расчета численности ориентируемся
// на правила Росстата по заполнению формы П-4.
// В частности, это Приказ от 30 ноября 2022 г. N 872
Возврат УчетЗарплаты.СреднесписочнаяЧисленностьДетальная(
Организация, НачалоПериода, КонецПериода,
ВсяОрганизация, ПоПодразделениям, Точность);
Эта функция есть и в ПРОФ, экспортная и с тем же параметром ПоПодразделениям, так что половина расчета собирается штатными средствами.
Показатель по имуществу
Средняя стоимость амортизируемого имущества считается по аналогии с пунктом 4 статьи 376 НК, на что в коде стоят ссылки на письма Минфина от 10.03.2006 № 03-03-04/1/199 и от 30.12.2004 № 03-06-01-02/26:
средняя стоимость = (остатки на 1-е число каждого месяца периода + остаток на 1-е число
следующего за периодом месяца) / (количество месяцев + 1)
В знаменателе число месяцев календарного года, а не отчетного периода, плюс единица. Берутся счета 01, 02 и 03, развернутые до субсчетов, по налоговому учету. Счет 01.К исключается: там корректировка стоимости арендованного имущества по подпункту 10 пункта 1 статьи 264, в стоимость основных средств она не входит.
Запрос КОРП выглядит примерно так:
ВЫБРАТЬ
ХозрасчетныйОстатки.Организация,
ХозрасчетныйОстатки.Подразделение,
ЕСТЬNULL(ХозрасчетныйОстатки.СуммаНУОстаток, 0)
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(...) КАК ХозрасчетныйОстатки
Подразделение берется прямо из измерения регистра бухгалтерии. Вот на этом месте меня и подловило.
Тот же запрос в ПРОФ вернет неправильное число
Регистр «Хозрасчетный» в обеих редакциях одинаковый, вместе с измерением Подразделение. Я так и написал сначала: запрос переносится как есть. Потом на всякий случай сверил план счетов. Флаг «учет по подразделениям» в поставке:
| Счет | ПРОФ | КОРП |
|---|---|---|
| 01 Основные средства | нет | да |
| 02 Амортизация основных средств | нет | да |
| 03 Доходные вложения в материальные ценности | нет | да |
| 20 Основное производство | да | да |
| 26 Общехозяйственные расходы | да | да |
| 44 Расходы на продажу | нет | да |
Затратные счета по подразделениям в ПРОФ ведутся, а счета основных средств нет. Значит в проводках по 01, 02 и 03 измерение Подразделение не заполняется, и перенесенный запрос не упадет и не вернет пусто — он выдаст всю стоимость одной строкой на пустом подразделении. По результату это выглядит как нормальный ответ, и поймать такое можно только если заранее знаешь, куда смотреть.
Как собрать имущество в ПРОФ
Обходной путь есть, и он не требует ни менять план счетов, ни перепроводить документы. Подразделение у основного средства в ПРОФ хранится отдельно, в регистре сведений МестонахождениеОСБухгалтерскийУчет: измерения ОсновноеСредство и Организация, ресурс Местонахождение типа СправочникСсылка.ПодразделенияОрганизаций.
А на счетах 01, 02 и 03 есть субконто «Основные средства», в ПРОФ оно на месте на всех трех. Значит стоимость разворачивается по конкретным ОС, а каждое ОС привязывается к подразделению через регистр:
ВЫБРАТЬ
ЕСТЬNULL(М.Местонахождение, ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)) КАК Подразделение,
СУММА(ЕСТЬNULL(О.СуммаНУОстаток, 0)) КАК Стоимость
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(
ДАТАВРЕМЯ(2026, 10, 1),
Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ОсновныеСредства),
ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.АмортизацияОсновныхСредств),
ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ДоходныеВложенияВ_МЦ)),
ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),) КАК О
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(
ДАТАВРЕМЯ(2026, 10, 1),) КАК М
ПО О.Субконто1 = М.ОсновноеСредство
СГРУППИРОВАТЬ ПО
ЕСТЬNULL(М.Местонахождение, ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка))
Амортизацию отдельно вычитать не надо: таблица остатков отдает разницу дебета и кредита, поэтому 02 приходит с минусом и сумма трех счетов сразу дает остаточную стоимость. Дату подставляете первым числом каждого месяца с начала года и первым числом месяца, следующего за отчетным периодом, потом складываете и делите на количество месяцев плюс один.
Запрос я прогнал в живой базе ПРОФ, он отрабатывает. И тут же уперся в следующее: в моей демобазе регистр местонахождения оказался пустым. Две записи на тридцать миллионов рублей основных средств, и обе без подразделения. Вся стоимость села на пустую строку. Регистр заполняют документы по основным средствам, а остатки, введенные документом ввода начальных остатков, его не трогают. В рабочей базе, где ОС принимали к учету как положено, данные будут. В базе, которую перевели из другой программы, скорее всего нет, и это первое, что стоит проверить перед расчетом.
Что меняется с 2027 года, а что нет
С 1 января 2027 года отменяется обязанность сдавать декларацию по месту нахождения каждого обособленного подразделения: головная организация подает одну декларацию, и показатели всех подразделений собираются в ней отдельными листами.
Шума вокруг этой нормы много, а на сам расчет доли она не влияет никак. Доля по каждому подразделению как считалась по статье 288, так и считается. Меняется адрес подачи и количество деклараций, а не арифметика. Приложение 5 остается, и в ПРОФ его по-прежнему заполнять руками.
Меняется цена ошибки. Раньше неверная доля портила одну декларацию из нескольких, теперь все подразделения лежат в одном документе, и ошибка ломает его целиком.
Чего этот способ не делает
Учетную политику он не отменяет. Если основные средства к подразделениям не отнесены, считать нечего, и никакой запрос этого не исправит.
Групп подразделений здесь нет. Если налог платится через ответственное подразделение за группу, в КОРП под это заведен отдельный регистр настроек, и расчет идет иначе.
Закрытые подразделения тоже остались за кадром. В КОРП под них отдельная ветка с замороженной долей: подразделение закрыли в середине года, доля на момент закрытия зафиксировалась и дальше не пересчитывается. В ручном расчете про это забывают чаще всего остального.
И сопоставление подразделений с регистрациями в налоговых органах в ПРОФ хранить негде: признака обособленности у подразделения нет, значит связку «подразделение — КПП» придется держать где-то у себя.
Зачем я это разбирал
Вопрос к тем, у кого обособленные подразделения на ПРОФ.
Расчет, который делает КОРП, воспроизводится на данных ПРОФ целиком, только не переносом запроса, а через субконто и регистр местонахождения. Напрашивается внешняя обработка: выбрал организацию и период, сопоставил подразделения с КПП один раз, получил таблицу с долями, средней стоимостью имущества и численностью, рядом готовые цифры для Приложения 5 и печатную справку-расчет. В базе ничего не меняет, только читает.
Есть смысл ее делать? Напишите в комментариях, как считаете сейчас и сколько времени уходит. Если тема живая, сделаю и выложу.
Вступайте в нашу телеграмм-группу Инфостарт