Стандартный отчет «Анализ движения денежных средств» в конфигурации «Управление производственным предприятием» (УПП) версии 1.3 является незаменимым инструментом для финансового анализа. Однако бухгалтеры и экономисты часто сталкиваются с необходимостью видеть не только общую сумму движения денежных средств, но и выделенную сумму НДС. Это требуется для понимания чистого денежного потока и планирования налоговых выплат.
Сложность заключается в том, что в архитектуре УПП данные для этого отчета собираются из регистра накопления ДвиженияДенежныхСредств, в котором ресурс НДС попросту отсутствует. Рассмотрим подробно, как решить эту задачу, какие методические нюансы учесть и как правильно настроить логику формирования отчета.
Для начала проанализируем, почему нельзя просто «включить» колонку НДС в настройках СКД. Основной регистр ДвиженияДенежныхСредств фиксирует только общие суммы платежей в разрезе статей ДДС и банковских счетов. Сумма НДС в УПП хранится непосредственно в документах-регистраторах, таких как ПлатежноеПоручениеВходящее, ПлатежноеПоручениеИсходящее, ПКО и РКО, а именно в их табличных частях РасшифровкаПлатежа.
Разберем основные шаги реализации:
НДСРасчетыСПоставщиками). Оптимальным для оперативного отчета считается получение данных напрямую из документов-регистраторов.СуммаНДС по всем строкам табличной части, соответствующим конкретному движению.Важным требованием со стороны экономических служб является корректное отображение знаков в отчете. Проанализируем ситуацию: для наглядности НДС по расходным операциям должен выводиться с отрицательным значением, чтобы при суммировании итогов по группировкам мы получали корректный чистый поток.
Рассмотрим, как это реализовать в Системе компоновки данных (СКД). Выясним причину, по которой в типовой УПП нет жесткого признака «Приходная» или «Расходная» статья. В справочнике СтатьиДвиженияДенежныхСредств есть реквизит ВидДвиженияДенежныхСредств, который принимает значения перечисления (например, Поступление или Расход).
В схеме компоновки данных (СКД) мы можем использовать вычисляемое поле для определения знака НДС. Пример логики:
Выбор
Когда ВидДвижения = Значение(Перечисление.ВидыДвиженийДенежныхСредств.Расход)
Тогда СуммаНДС * -1
Иначе СуммаНДС
Конец
Это позволит корректно считать итоговое сальдо (денежный поток за вычетом НДС) в подвалах и группировках отчета.
Одной из главных проблем при разработке такого отчета является возникновение «лишнего» НДС там, где его быть не должно. Например, в статье «Оплата налогов» или «Перечисление НДС в бюджет». По таким операциям НДС в колонке «НДС» должен быть равен нулю, так как сама сумма платежа и есть налог.
Разберем по шагам, как настроить исключения:
ПеречислениеНалога, то сумму НДС в отчете следует принудительно обнулять.Дополнительных сведений и свойств. Создадим для справочника СтатьиДвиженияДенежныхСредств свойство типа «Булево» с названием ИсключатьИзРасчетаНДС. В отчете добавим условие: если это свойство установлено, сумма НДС не выводится.Для обеспечения высокой производительности отчета (особенно если база большая) не стоит соединять основную таблицу регистра с табличными частями документов напрямую. Посмотрим на пример более эффективного построения запроса:
Сначала создадим временную таблицу с движениями денежных средств за период:
ВЫБРАТЬ
ДДС.Регистратор КАК Регистратор,
ДДС.СтатьяДвиженияДенежныхСредств КАК Статья,
ДДС.Сумма КАК СуммаОборот
ПОМЕСТИТЬ ВТ_Движения
ИЗ
РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ДДС
;
Затем соединим эту таблицу с табличными частями платежных документов для получения НДС:
ВЫБРАТЬ
ВТ_Движения.Статья,
ВТ_Движения.СуммаОборот,
ЕСТЬNULL(Док.СуммаНДС, 0) КАК НДС
ИЗ
ВТ_Движения КАК ВТ_Движения
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК Док
ПО ВТ_Движения.Регистратор = Док.Ссылка И ВТ_Движения.Статья = Док.СтатьяДвиженияДенежныхСредств
Важный момент: соединение должно происходить не только по ссылке на документ, но и по статье ДДС, так как в одном платежном поручении может быть несколько строк с разными статьями и разными суммами НДС.
При построении отчета следует учитывать, что сумма НДС в платежном документе является справочной информацией. Если ваша организация ведет сложный учет НДС (например, экспорт со ставкой 0% или операции без НДС), бухгалтер должен внимательно проверять заполнение поля Ставка НДС в платежках. Если в документе указано «Без НДС», отчет должен подтягивать 0, а не пытаться вычислить налог расчетным путем (например, 20/120).
Также проанализируем ситуацию с авансами. Если отчет строится по «прямому методу» (Direct Method Cash Flow), то выделение НДС из аванса в момент платежа является методически верным, даже если счет-фактура еще не получен. Это позволяет видеть реальный остаток средств, который останется в распоряжении компании после исполнения налоговых обязательств.
Создание внешнего отчета с выделением НДС в УПП 1.3 — это не просто добавление колонки, а настройка сложной бизнес-логики. Мы рассмотрели, что для корректной работы необходимо:
Соблюдение этих рекомендаций позволит получить прозрачный и точный инструмент для управления финансами предприятия.