В мире 1С:Бухгалтерии вопрос о том, как получить «себестоимость с НДС», часто вызывает дискуссии. С точки зрения регламентированного бухгалтерского учета, себестоимость товаров, работ или услуг традиционно формируется без учета налога на добавленную стоимость. НДС является косвенным налогом: он либо возмещается из бюджета (входящий НДС), либо уплачивается в бюджет при реализации (исходящий НДС). Однако для управленческого учета, анализа полных затрат и оценки реального денежного оттока понимание «себестоимости с НДС» может быть весьма актуальным. Давайте подробно разберем, как мы можем подойти к решению этой задачи в 1С:Бухгалтерии.
Прежде чем погрузиться в код, давайте проанализируем, что может означать «себестоимость с НДС» и почему она отличается от стандартного бухгалтерского понимания:
Когда мы говорим о «себестоимости с НДС» в контексте данной темы, чаще всего подразумевается либо включение входящего НДС, который не был принят к вычету (и уже сидит в себестоимости), либо, как в обсуждаемом случае, добавление к себестоимости (по счету 90.02) суммы НДС, начисленного при реализации (по счету 90.03). Последний вариант позволяет увидеть общие прямые расходы, связанные с продажей, включая налоговое обязательство по НДС от этой продажи.
Для начала рассмотрим стандартный подход, который часто используется для получения данных о выручке и себестоимости из регистра бухгалтерии. В этом запросе выручка (счет 90.01) включает НДС, а себестоимость (счет 90.02) не включает НДС. Это классический способ формирования валовой прибыли до вычета НДС с продаж.
Вот пример такого запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОбороты.Регистратор КАК Регистратор,
ХозрасчетныйОбороты.Регистратор.Контрагент КАК Контрагент,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетВыручка)
ТОГДА ХозрасчетныйОбороты.СуммаОборот * -1
ИНАЧЕ NULL
КОНЕЦ КАК Выручка,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетСебестоимость)
ТОГДА ХозрасчетныйОбороты.СуммаОборот
ИНАЧЕ NULL
КОНЕЦ КАК Себестоимость,
ХозрасчетныйОбороты.СуммаОборот * -1 КАК ВалПрибыль,
ХозрасчетныйОбороты.КорСубконто1 КАК КорСубконто1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон, Запись, , , , , ) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор.Контрагент В ИЕРАРХИИ(&СписокКонтрагентов)
И (ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
ИЛИ ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя)
И (ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетВыручка)
ИЛИ ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетСебестоимость))
ИТОГИ
СУММА(Выручка),
СУММА(Себестоимость),
СУММА(ВалПрибыль)
ПО
Контрагент,
Регистратор
Для выполнения этого запроса мы должны установить следующие параметры:
Запрос.УстановитьПараметр("СчетСебестоимость",ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.02"));
Запрос.УстановитьПараметр("СчетВыручка",ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01"));
В данном запросе:
90.01 для расчета Выручка (оборот по кредиту, поэтому умножаем на -1). Этот счет содержит выручку уже с учетом НДС.Себестоимость мы берем обороты по счету 90.02 (оборот по дебету). Этот счет отражает себестоимость без НДС.ВалПрибыль здесь рассчитывается как `Выручка - Себестоимость`. Обратите внимание, что это будет прибыль, включающая НДС в выручке, но не включающая его в себестоимости.Если под «себестоимостью с НДС» для целей управленческого учета мы подразумеваем себестоимость товаров или услуг (по счету 90.02), дополненную суммой НДС, начисленного к уплате при реализации (по счету 90.03), то нам потребуется модифицировать наш запрос. Такой подход позволяет увидеть полные прямые расходы, связанные с каждой продажей, включая налоговое обязательство по НДС.
Мы можем расширить наш предыдущий запрос, добавив в него выборку оборотов по счету 90.03, который аккумулирует суммы НДС, начисленные к уплате в бюджет по реализованным товарам (работам, услугам).
Рассмотрим по шагам, как это сделать:
ВЫБРАТЬ мы добавим условие для счета 90.03.ГДЕ нам потребуется включить счет 90.03 в список счетов, по которым мы хотим получать обороты.ИТОГИ мы добавим суммирование нового поля.Пример модифицированного запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОбороты.Регистратор КАК Регистратор,
ХозрасчетныйОбороты.Регистратор.Контрагент КАК Контрагент,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетВыручка)
ТОГДА ХозрасчетныйОбороты.СуммаОборот * -1
ИНАЧЕ NULL
КОНЕЦ КАК Выручка,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетСебестоимость)
ТОГДА ХозрасчетныйОбороты.СуммаОборот
ИНАЧЕ NULL
КОНЕЦ КАК Себестоимость,
ВЫБОР
КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетНДС)
ТОГДА ХозрасчетныйОбороты.СуммаОборот
ИНАЧЕ NULL
КОНЕЦ КАК СуммНДС,
ХозрасчетныйОбороты.СуммаОборот * -1 КАК ВалПрибыль,
ХозрасчетныйОбороты.КорСубконто1 КАК КорСубконто1
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНач, &ДатаКон, Запись, , , , , ) КАК ХозрасчетныйОбороты
ГДЕ
ХозрасчетныйОбороты.Регистратор.Контрагент В ИЕРАРХИИ(&СписокКонтрагентов)
И (ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
ИЛИ ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя)
И (ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетВыручка)
ИЛИ ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетСебестоимость)
ИЛИ ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетНДС))
ИТОГИ
СУММА(Выручка),
СУММА(Себестоимость),
СУММА(СуммНДС),
СУММА(ВалПрибыль)
ПО
Контрагент,
Регистратор
Для этого запроса нам также потребуется установить параметр для счета НДС:
Запрос.УстановитьПараметр("СчетНДС",ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.03"));
Теперь в результате выполнения запроса мы получим отдельную колонку СуммНДС, которая будет показывать сумму НДС, начисленную с каждой реализации. Если нам нужна «себестоимость с НДС» в понимании «себестоимость продаж + НДС, начисленный при продаже», мы можем просто сложить поля Себестоимость и СуммНДС уже после выполнения запроса или добавить это вычисляемое поле непосредственно в запрос.
// Пример добавления вычисляемого поля в запрос:
// ...
// ВЫБРАТЬ РАЗРЕШЕННЫЕ
// ...
// (ВЫБОР
// КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетСебестоимость)
// ТОГДА ХозрасчетныйОбороты.СуммаОборот
// ИНАЧЕ NULL
// КОНЕЦ + ВЫБОР
// КОГДА ХозрасчетныйОбороты.Счет В ИЕРАРХИИ (&СчетНДС)
// ТОГДА ХозрасчетныйОбороты.СуммаОборот
// ИНАЧЕ NULL
// КОНЕЦ) КАК СебестоимостьСНДС,
// ...
Важный момент: Мы объединяем данные из разных счетов (90.01, 90.02, 90.03) по одному регистратору (документу реализации). Это означает, что для каждой строки реализации мы получим ее выручку, себестоимость и сумму НДС. Последующая группировка по регистратору и контрагенту позволит агрегировать эти данные.
Как мы уже выяснили, «себестоимость с НДС» не является стандартным термином в регламентированном учете. Для целей управленческого учета, однако, понимание полной суммы затрат, включая НДС, может быть критически важным для принятия решений.
Вот несколько рекомендаций, которые помогут нам выстроить эффективный управленческий учет с учетом НДС:
Пример того, как в стандартных отчетах 1С (например, "Анализ продаж") обрабатывается НДС при расчете выручки без НДС, демонстрирует сложность и необходимость детального подхода:
// Фрагмент из типового запроса "Анализ продаж"
ВЫБРАТЬ
СУММА(Продажи.Количество) КАК Количество,
Продажи.Контрагент КАК Контрагент,
...
СУММА(Продажи.ВыручкаБезНДС) КАК ВыручкаБезНДС,
...
ПОМЕСТИТЬ Продажи
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОбороты.КоличествоОборотКт КАК Количество,
...
ВЫБОР
КОГДА ХозрасчетныйОбороты.КорСубконто2 ССЫЛКА Справочник.ДоговорыКонтрагентов
И ВЫРАЗИТЬ(ХозрасчетныйОбороты.КорСубконто2 КАК Справочник.ДоговорыКонтрагентов).УчетАгентскогоНДСПокупателем
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
КОГДА ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_18 ИЛИ ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_118
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт * 100 / 118
КОГДА ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_10 ИЛИ ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_110
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт * 100 / 110
КОГДА ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_20 ИЛИ ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_120
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт * 100 / 120
КОГДА ХозрасчетныйОбороты.Субконто2 = &СтавкаНДС_0
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
КОГДА ХозрасчетныйОбороты.Субконто2 = &БезНДС
ТОГДА ХозрасчетныйОбороты.СуммаОборотКт
КОНЕЦ КАК ВыручкаБезНДС,
...
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Авто, Счет В (&СчетаВыручки), &НоменклатурнаяГруппаСтавкаНДСНоменклатура, {(Организация).* КАК Организация, (Подразделение).* КАК Подразделение, (Субконто1).* КАК НоменклатурнаяГруппа, (Субконто2) КАК СтавкаНДС, (Субконто3).* КАК Номенклатура, (КорСубконто1).* КАК Контрагент, (КорСубконто2).* КАК Договор}, КорСчет В (&СчетаРасчетовСПокупателями), ) КАК ХозрасчетныйОбороты
...
) КАК Продажи
...
В этом фрагменте мы видим, как система 1С использует сложную логику ВЫБОР КОГДА ... ТОГДА ... КОНЕЦ для определения выручки без НДС, исходя из ставки НДС, указанной для каждой позиции. Это подчеркивает, что НДС — это не просто добавка к сумме, а глубоко интегрированный элемент, который требует правильного выделения и учета, особенно при формировании управленческих отчетов.
Получение «себестоимости с НДС» в 1С:Бухгалтерии является, прежде всего, задачей управленческого учета, поскольку в регламентированном учете НДС и себестоимость учитываются раздельно. Мы выяснили, что наиболее прямой способ получить сумму себестоимости продаж с учетом НДС, начисленного при реализации, — это добавить в запрос обороты по счету 90.03. Однако крайне важно четко понимать, что именно мы подразумеваем под «себестоимостью с НДС», чтобы не получить искаженные данные и использовать отчетность для корректного анализа.
Всегда стоит помнить о том, что для глубокого и гибкого управленческого учета с расширенными возможностями по работе с НДС, специализированные конфигурации 1С, такие как 1С:УНФ или 1С:ERP, могут предложить более мощные инструменты.