При анализе торговой деятельности в конфигурации «1С:Управление торговлей 10.3» с помощью типового отчета «Валовая прибыль» пользователи нередко сталкиваются с ситуацией, когда по определенной номенклатуре или контрагенту отображается рентабельность 100%, хотя фактически товар был продан с минимальной наценкой или со скидкой.
Проанализируем типовую ситуацию: покупатель вернул ранее приобретенный товар, после чего в том же периоде этот же товар был продан ему повторно, но уже со скидкой. В свернутой группировке по контрагенту и номенклатуре количество равно нулю, себестоимость равна нулю, но рентабельность показывает ровно 100%. Разберем по шагам, почему возникает такой расчет, и рассмотрим практические способы получения корректной аналитики.
Выясним математическую причину такого поведения типового отчета. В 1С показатель рентабельности рассчитывается по формуле:
Рентабельность = (Валовая прибыль / Стоимость продаж) * 100%
где Валовая прибыль = Стоимость продаж - Себестоимость.
Посмотрим на пример движений по регистру накопления Продажи себестоимость:
Возврат товаров от покупателя: количество -2, сумма выручки -500 руб., себестоимость -300 руб.Реализация товаров и услуг (со скидкой): количество +2, сумма выручки +400 руб., себестоимость +300 руб.Когда отчет формирует итоги по группировке Контрагент — Номенклатура, показатели суммируются:
При расчете рентабельности программа делит валовую прибыль (-100 руб.) на стоимость продаж (-100 руб.). В результате деления отрицательного числа самого на себя получается единица (1), которая при умножении на 100% дает ровно 100%. Это математически корректно для заданной формулы, но абсолютно не отражает реальную экономику сделки.
Разберем базовое методическое правило анализа маржинальности при операциях возврата. Если клиент вернул товар, который был отгружен в прошлом месяце, для получения реальной картины необходимо формировать отчет за период, включающий в себя как первоначальную реализацию, так и последующий возврат с повторной отгрузкой.
Если в выборку отчета попадает только возврат и новая отгрузка, расчет искажается из-за отсутствия базы первой продажи. При установке периода, охватывающего всю цепочку взаимоотношений с клиентом по данной партии товара, итоговые суммы выручки и себестоимости сложатся корректно, и расчет рентабельности покажет фактическую маржинальность с учетом предоставленной скидки.
Если расширить период невозможно или требуется проанализировать конкретный месяц, наиболее наглядным решением является изменение группировок отчета.
Выполним следующие действия по настройке отчета:
Регистратор (или Документ движения) на нижний уровень иерархии.В результате отчет разделит операцию возврата и операцию продажи на две самостоятельные строки. По строке реализации рентабельность рассчитается корректно от ее фактической цены продажи и себестоимости, а возврат отобразится отдельной сторнирующей записью без искажения общей картины в свернутых итогах.
Если отчет работает на базе системы компоновки данных (СКД), можно предотвратить появление ложных 100% при нулевом количестве или нулевой себестоимости с помощью изменения формулы пользовательского или вычисляемого поля.
Рассмотрим пример выражения на языке СКД для поля Рентабельность:
ВЫБОР
КОГДА КоличествоОборот = 0 ИЛИ СтоимостьОборот = 0
ТОГДА 0
ИНАЧЕ ((СтоимостьОборот - СебестоимостьОборот) / СтоимостьОборот) * 100
КОНЕЦ
Такая проверка принудительно обнуляет показатель рентабельности в свернутых строках, где физическое движение товара отсутствует (количество равно нулю), что исключает отображение неверных показателей в сводных таблицах.
Проанализируем учетную сторону вопроса. Оформление возврата товара с целью его немедленной перепродажи по более низкой цене создает лишний документооборот и искусственные движения по складским партиям.
Для предоставления скидки на ранее отгруженную продукцию правильнее использовать специализированные механизмы:
Корректировка реализации (в конфигурациях, где он предусмотрен), что позволяет изменить цену и сумму взаиморасчетов без физического возврата партии на склад.Возврат товаров от покупателя обязательно указывать исходный документ партии (документ реализации), чтобы возврат себестоимости производился строго по той оценке, по которой товар списывался со склада.Проведение по партиям (при партионном учете), чтобы исключить расхождения по партиям и зависание нулевой себестоимости при списании.Для проверки и сверки показателей продаж и себестоимости рекомендуется использовать следующие стандартные отчеты: