Как распределить прочие расходы и курсовые разницы на заказы клиентов в управленческом учете 1С:ERP 2.5

Бизнес-аналитик 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← На главную

В процессе ведения внешнеэкономической деятельности (ВЭД) предприятия часто сталкиваются с необходимостью точного калькулирования себестоимости под конкретные заказы клиентов. Одна из наиболее сложных методологических задач в 1С:ERP — это корректное отнесение прочих расходов, в частности курсовых разниц, возникающих при расчетах с иностранными поставщиками сырья, на финансовый результат или себестоимость конкретного заказа клиента в управленческом учете (УУ).

По умолчанию в 1С:ERP курсовые разницы рассчитываются регламентной процедурой закрытия месяца и списываются на финансовый результат как прочие расходы (на предопределенные статьи внереализационных расходов) без аналитики конкретных торговых сделок. Бухгалтерский учет требует именно такого отражения. Однако в управленческом учете менеджменту важно видеть реальную рентабельность заказа, включающую все сопутствующие валютные колебания по закупке сырья.

В этой статье мы подробно разберем, как решить эту задачу в 1С:ERP 2.5, рассмотрим доступные механизмы, их ограничения и предоставим готовые алгоритмы для автоматизации процесса.

---

Почему возникает сложность и как это устроена в типовой системе

Проанализируем классическую бизнес-цепочку:

  1. Под Заказ клиента резервируется или закупается импортное сырье.
  2. Оформляется Заказ поставщику и документ Приобретение товаров и услуг у иностранного контрагента в валюте.
  3. Происходит оплата поставщику (до или после поставки). Из-за разницы курсов валют на дату оплаты и дату накладной возникает курсовая разница.
  4. Сырье передается в производство, выпускается готовая продукция (ГП) и оформляется Реализация товаров и услуг по исходному Заказу клиента.

Сложность заключается в том, что оперативные регистры расчетов с поставщиками (например, Расчеты с поставщиками по срокам) не хранят в себе сквозную аналитику Заказ клиента, если закупка не была жестко обособлена. Даже при наличии обособления регламентный документ Расчет курсовых разниц формирует проводки и движения по регистру Прочие расходы на общую статью без привязки к конкретной сделке продажи. Нам необходимо "протянуть" эту сумму в финансовый результат конкретного заказа.

---

Вариант 1. Использование механизма Реклассификации расходов в Управленческом учете

Этот метод является наиболее гибким и методологически чистым. Мы позволяем системе рассчитать курсовые разницы в стандартном режиме, а затем "перенаправляем" (реклассифицируем) эти суммы в УУ на статью расходов, распределяемую на продажи с аналитикой Заказ клиента. При этом в регламентированном учете (БУ и НУ) суммы остаются на 91 счете, как того требует законодательство.

Выполним настройку по шагам:

Шаг 1. Настройка статьи расходов для реклассификации

Создадим новую статью расходов, которая будет аккумулировать перенесенные курсовые разницы в управленческом учете:

  1. Перейдем в раздел Финансовый результат и контроллинг -> Статьи расходов.
  2. Создадим статью с наименованием, например, "Курсовые разницы по закупкам УУ (на заказы)".
  3. На вкладке Основное укажем вариант распределения: Направление деятельности или Расходы на продажу (при продаже).
  4. Укажем тип аналитики расходов: Заказ клиента. Это критически важно, так как именно эта аналитика свяжет расход с нашей сделкой.
  5. На вкладке Регламентированный учет для БУ и НУ можно указать стандартный счет 91.02, но поскольку мы будем делать движения только по УУ, в регламентированном учете эта статья использоваться практически не будет.

Шаг 2. Отражение реклассификации расходов

Для переноса сумм используется документ Отражение прочих доходов и расходов с видом операции Реклассификация расходов.

  1. В табличной части на вкладке "Расходы" (источник) подбираем исходную статью прочих расходов, на которую автоматически начислилась курсовая разница.
  2. В поле "Статья-получатель" указываем нашу созданную статью "Курсовые разницы по закупкам УУ (на заказы)".
  3. В качестве аналитики расходов выбираем целевой Заказ клиента.
  4. Важный нюанс: В колонках с суммами заполняем только сумму в валюте управленческого учета (УУ). Колонки "Сумма БУ" и "Сумма НУ" оставляем пустыми.

В результате проведения документа в управленческом балансе и отчете Валовая прибыль предприятия сумма курсовой разницы уменьшит маржинальность конкретного заказа клиента, не затрагивая официальную бухгалтерскую отчетность.

---

Вариант 2. Обособление сырья и распределение дополнительных расходов на себестоимость товаров

Если закупка сырья у импортного поставщика изначально велась под конкретный заказ клиента в рамках обособленного учета, мы можем попробовать отнести эти расходы непосредственно на себестоимость ТМЦ.

Рассмотрим особенности этого подхода:

Ограничение метода: Курсовые разницы рассчитываются в конце месяца. К этому моменту сырье уже может быть полностью списано в производство, а готовая продукция — продана. В 1С:ERP 2.5 для решения этой проблемы необходимо убедиться, что в настройках распределения включена опция "Распределение дополнительных расходов по выбывшим товарам". Если она активна, система скорректирует стоимость уже списанных партий и перенесет доп. расходы на финансовый результат продаж.

---

Автоматизация процесса: пишем обработку автоматической реклассификации

Поскольку ручное заполнение документов реклассификации при больших объемах поставок нереализуемо, логично автоматизировать этот процесс. Создадим внешнюю обработку, которая запускается после проведения процедуры закрытия месяца и автоматического расчета курсовых разниц.

Выясним логику связи, которую должен реализовать алгоритм обработки:

  1. Находим документы Приобретение товаров и услуг, которые были оформлены под конкретные Заказы клиентов (через обособление/назначение в ТЧ или по структуре подчиненности через цепочку сделок).
  2. Находим оплаты по этим приобретениям (документы Списание с безналичных денежных средств).
  3. Анализируем регистр сведений Расчеты с поставщиками по срокам (или регистр накопления Расчеты с поставщиками) для вычисления сумм курсовых разниц, начисленных по данным операциям.
  4. Автоматически создаем и заполняем документ Отражение прочих доходов и расходов с операцией Реклассификация расходов по УУ.

Рассмотрим пример шаблона кода для получения связи между закупкой, оплатой и заказом клиента:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	РасчетыСПоставщиками.Регистратор КАК ДокументРасчетов,
    |	РасчетыСПоставщиками.АналитикаУчетаПоПартнерам.Партнер КАК Поставщик,
    |	РасчетыСПоставщиками.СуммаБезНДСРеглОборот КАК СуммаКурсовойРегл,
    |	РасчетыСПоставщиками.СуммаБезНДСУУОборот КАК СуммаКурсовойУУ,
    |	ЕСТЬNULL(НоменклатураНазначения.Назначение.ЗаказДанные, НЕОПРЕДЕЛЕНО) КАК ЗаказКлиента
    |ИЗ
    |	РегистрНакопления.ПрочиеРасходы.Обороты(&НачалоПериода, &КонецПериода, Авто, СтатьяРасходов = &СтатьяКурсовыхРазниц) КАК РасчетыСПоставщиками
    |	// Соединяем с данными о назначении из приобретения ТМЦ для поиска связи с заказом
    |	ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(&НачалоПериода, &КонецПериода) КАК Продажи
    |	ПО РасчетыСПоставщиками.Регистратор.Сделка = Продажи.ЗаказКлиента
    |ГДЕ
    |	РасчетыСПоставщиками.СуммаБезНДСУУОборот <> 0";

Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца);
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца);
Запрос.УстановитьПараметр("СтатьяКурсовыхРазниц", Справочники.СтатьиРасходов.НайтиПоНаименованию("ПредопределеннаяСтатьяКурсовых"));

РезультатЗапроса = Запрос.Выполнить();

Полученную таблицу соответствия сумм УУ и заказов клиентов мы программно переносим в табличную часть документа реклассификации:


ДокРекласс = Документы.ОтражениеПрочихДоходовРасходов.СоздатьДокумент();
ДокРекласс.Дата = ТекущаяДата();
ДокРекласс.Организация = ВыбраннаяОрганизация;
ДокРекласс.Операция = Перечисления.ТипыОперацийОтраженияПрочихДоходовРасходов.РеклассификацияРасходов;

Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
    СтрокаТЧ = ДокРекласс.Расходы.Добавить();
    СтрокаТЧ.СтатьяРасходов = Выборка.СтатьяКурсовыхРазниц; // Откуда списываем
    СтрокаТЧ.СтатьяРасходовПолучатель = СтатьяПолучательУУ; // Куда списываем
    СтрокаТЧ.АналитикаРасходовПолучатель = Выборка.ЗаказКлиента;
    СтрокаТЧ.СуммаУУ = Выборка.СуммаКурсовойУУ;
КонецЦикла;

ДокРекласс.Записать(РежимЗаписиДокумента.Проведение);

---

Важные организационные и технические моменты

При внедрении данного механизма обязательно учитывайте следующие аспекты:

Резюмируя: распределение прочих затрат и курсовых разниц на финансовый результат конкретных сделок в УУ — абсолютно решаемая задача средствами типового функционала 1С:ERP 2.5 с использованием документа реклассификации. Это позволяет руководству компании видеть честную, очищенную от методологических ограничений бухучета прибыль по каждому клиенту и заказу.

← На главную