В торговой деятельности нередко возникают коммерческие расходы, непосредственно связанные с отгрузкой конкретной партии покупателю: оплата услуг сторонних грузчиков, транспортные расходы по доставке до клиента, экспедирование и такелажные работы. Если компания берет эти расходы на себя, возникает естественная потребность увидеть реальный финансовый результат конкретной сделки (например, выручка 1000 рублей минус закупочная стоимость 500 рублей и минус погрузка 300 рублей — итоговая прибыль 200 рублей).
Однако при попытке отразить такую операцию в типовой конфигурации «1С:Управление торговлей 10.3» пользователи сталкиваются с тем, что типовой отчет Валовая прибыль упорно показывает прибыль в размере 500 рублей, полностью игнорируя сопутствующие затраты на отгрузку. Разберем архитектурные причины такого поведения программы и рассмотрим все возможные варианты решения этой задачи.
Проанализируем структуру регистров конфигурации «Управление торговлей 10.3». Механизм расчета валовой прибыли жестко завязан на партионный учет и регистры накопления:
Валовая прибыль строится исключительно по данным регистра накопления ПродажиСебестоимость (ресурс Стоимость отражает себестоимость, ресурс Количество — объем проданного товара) и регистра Продажи (ресурс Стоимость отражает выручку с НДС/без НДС).ПродажиСебестоимость формируются документом РеализацияТоваровУслуг в момент списания себестоимости партий из регистра ПартииТоваровНаСкладах.ПоступлениеДопРасходов в типовой УТ 10.3 предназначен только для капитализации затрат в стоимость поступивших ТМЦ. Он увеличивает себестоимость партии в регистре ПартииТоваровНаСкладах, относясь к процессу закупки, а не к процессу продажи.Затраты, в который пишутся управленческие и коммерческие расходы, в УТ 10.3 является сугубо накопительным. В программе отсутствует регламентная процедура закрытия месяца с распределением накопленных коммерческих затрат на финансовый результат конкретных отгрузок (такой функционал появился только в редакциях УТ 11, КА и ERP).Рассмотрим первый путь, предложенный на форуме: использование документа ПрочиеЗатраты. Данный способ не требует изменения структуры метаданных и подходит для компаний, где типовая конфигурация находится на поддержке без возможности вмешательства в проведение документов.
Разберем по шагам, как оформляется операция:
РеализацияТоваровУслуг (на основании документа ЗаказПокупателя).ПрочиеЗатраты (или документом ПоступлениеТоваровУслуг на вкладке Услуги с указанием статьи затрат).ЗаказПокупателя.Важное ограничение: как справедливо отмечено в обсуждении, этот документ не изменит показатели стандартного отчета Валовая прибыль. Для получения итогового финансового результата необходимо создать внешний отчет (например, на базе системы компоновки данных), который соединит данные регистра ПродажиСебестоимость и регистра Затраты по общему заказу покупателя.
Если требуется получить финансовый результат с учетом затрат на отгрузку исключительно типовыми средствами без написания отчетов, проанализируем возможности сквозного учета по проектам:
Проекты.РеализацияТоваровУслуг (или ЗаказПокупателя).РасходныйКассовыйОрдер, ПлатежноеПоручениеИсходящее или ПоступлениеТоваровУслуг, в которых также указываем созданный проект.Доходы и расходы по проектам. Отчет сопоставит полученную выручку, себестоимость списанных товаров и все сопутствующие затраты, отнесенные на проект.Нередко предпринимаются попытки ввести документ ПоступлениеДопРасходов задним числом (до даты реализации), выбрав партию поступления проданного товара, и перезапустить проведение по партиям. Выясним причину, почему этот способ приводит к критическим ошибкам учета:
ПоступлениеДопРасходов после реализации, когда товар по партии уже полностью списан в ноль, в регистре ПартииТоваровНаСкладах образуется «зависший» суммовой остаток без количества. В себестоимость продаж эта сумма автоматически уже не попадет.Если руководство настаивает на том, чтобы расходы на отгрузку уменьшали прибыль именно в стандартном отчете Валовая прибыль, разберем техническое решение с доработкой механизма проведения.
Поскольку отчет читает данные из регистра накопления ПродажиСебестоимость, нам необходимо обеспечить появление дополнительных записей в этом регистре на сумму расходов. Для этого можно доработать документ регистрации услуг (например, ПоступлениеТоваровУслуг или специализированный документ) либо расширить логику документа ПоступлениеДопРасходов, добавив в табличную часть реквизит ДокументОтгрузки (тип ДокументСсылка.РеализацияТоваровУслуг).
Посмотрим на пример программного формирования движений в обработке проведения:
// В процедуре ОбработкаПроведения формируем дополнительные движения
Движения.ПродажиСебестоимость.Записывать = Истина;
Для Каждого Стр Из ТаблицаРасходовНаОтгрузку Цикл
Движение = Движения.ПродажиСебестоимость.Добавить();
Движение.Период = Дата;
Движение.Регистратор = Ссылка;
// Заполняем аналитику из документа отгрузки
Движение.Номенклатура = Стр.Номенклатура;
Движение.ХарактеристикаНоменклатуры = Стр.ХарактеристикаНоменклатуры;
Движение.ЗаказПокупателя = Стр.ДокументОтгрузки.Сделка;
Движение.ДоговорКонтрагента = Стр.ДокументОтгрузки.ДоговорКонтрагента;
Движение.ДокументДвижения = Стр.ДокументОтгрузки;
Движение.Подразделение = Стр.ДокументОтгрузки.Подразделение;
// Количество оставляем пустым, увеличиваем только себестоимость
Движение.Количество = 0;
Движение.Стоимость = Стр.СуммаРасхода;
КонецЦикла;
При таком подходе ресурс Стоимость в регистре ПродажиСебестоимость увеличится на сумму затрат на грузчиков без изменения проданного количества товара. В результате типовой отчет Валовая прибыль автоматически рассчитает корректную валовую прибыль с учетом расходов на доставку и погрузку.