Почему себестоимость товаров по ФИФО в 1С:ERP рассчитывается некорректно при списании в производство?

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

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

Проблема некорректного расчета себестоимости по ФИФО в 1С:ERP при списании в производство — это не редкость. Она может возникать из-за целого ряда причин, начиная от неправильных настроек учетной политики и заканчивая некорректной работой регламентных заданий. Давайте вместе выясним основные причины и рассмотрим пошаговые решения, которые помогут нам добиться точного учета себестоимости.

Понимание принципов работы ФИФО и расчета себестоимости в 1С:ERP

Прежде чем перейти к конкретным решениям, важно понимать, как 1С:ERP обрабатывает расчет себестоимости, особенно по методу ФИФО. Мы должны помнить, что документ Передача материалов в производство сам по себе не формирует окончательную стоимость списания по методу ФИФО. Этот документ регистрирует факт передачи материалов и формирует движения по регистрам затрат. Окончательный расчет себестоимости списанных партий по ФИФО происходит на отдельном, очень важном этапе – закрытии месяца, с помощью регламентного задания Расчет себестоимости товаров. Это ключевое отличие от более простых конфигураций, где себестоимость может рассчитываться в момент проведения документа.

Таким образом, наша задача — обеспечить, чтобы все подготовительные этапы были выполнены корректно и регламентные задания отработали без ошибок.

Основные причины некорректного расчета себестоимости по ФИФО и их устранение

Рассмотрим наиболее частые причины, по которым себестоимость по ФИФО может рассчитываться неверно, и предложим конкретные шаги для их решения.

1. Проверка настроек учетной политики и метода оценки запасов

Первое, что мы должны проверить, это основные настройки системы, определяющие метод оценки запасов для организации.

  1. Перейдем в раздел НСИ и администрирование.
  2. Далее выберем Финансовый результат и контроллинг.
  3. Откроем пункт Учет товаров.
  4. Убедимся, что в поле Методы оценки стоимости запасов установлено значение ФИФО (взвешенная оценка). Если там стоит "Средняя за месяц" или "По средней", то система будет использовать соответствующий метод, игнорируя наши ожидания по ФИФО.

Важно: Проверим, что эти настройки применены к конкретной организации, по которой происходит расчет.

2. Регламентные задания: активация и контроль выполнения

Это одна из самых частых и критичных причин. В 1С:ERP для корректного расчета себестоимости, особенно по ФИФО, необходима регулярная работа регламентных заданий.

  1. Регламентное задание Расчет себестоимости товаров:

    Это основное задание, которое производит окончательный расчет себестоимости на этапе закрытия месяца. Мы должны убедиться, что оно успешно выполняется в рамках процедуры Закрытие месяца.

    • Перейдем в раздел Финансовый результат и контроллинг.
    • Откроем Закрытие месяца.
    • При выполнении процедуры закрытия месяца, внимательно проанализируем статус всех этапов. Нас интересует этап Расчет себестоимости товаров. Он должен быть выполнен без ошибок. Если есть ошибки, рассмотрим их детально в журнале регистрации.
    • Если месяц уже был закрыт, но с ошибками или до внесения изменений, мы должны перезакрыть месяц после исправления всех настроек и проблем.
  2. Регламентное задание для партионного учета (Расчет партий (регл. задание)):

    Для корректного построения партий и их учета по ФИФО крайне важно, чтобы выполнялось регламентное задание, связанное с расчетом партий. Его название может немного отличаться в разных версиях ERP, но обычно это Расчет партий (регл. задание) или похожее.

    • Перейдем в раздел Администрирование.
    • Выберем Обслуживание.
    • Откроем Регламентные операции, затем Регламентные и фоновые задания.
    • В открывшемся списке найдем задание, похожее на Расчет партий (регл. задание) или Восстановление последовательности расчетов партий.
    • Убедимся, что оно включено (галочка активности установлена) и имеет расписание, обеспечивающее его регулярное выполнение после всех документов движения. Если оно было отключено, это могло быть главной причиной проблемы.
    • После включения задания, мы можем запустить его вручную для текущего периода или дождаться его автоматического выполнения.

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


// Пример программного запуска регламентного задания (для отладки или специфических сценариев)
// Обычно не рекомендуется для регулярного использования, но полезно для понимания
// и тестирования после внесения изменений.

// Получим ссылку на регламентное задание
РегламентноеЗаданиеСсылка = ПланыОбмена.РегламентныеЗадания.НайтиПоНаименованию("Расчет партий (регл. задание)");

Если РегламентноеЗаданиеСсылка <> Неопределено Тогда
    // Создадим объект регламентного задания
    РегламентноеЗадание = РегламентноеЗаданиеСсылка.ПолучитьОбъект();

    Если РегламентноеЗадание.Использование Тогда
        // Запустим задание немедленно
        ВыполнитьРегламентноеЗадание(РегламентноеЗаданиеСсылка);
        Сообщить("Регламентное задание 'Расчет партий (регл. задание)' запущено.");
    Иначе
        Сообщить("Регламентное задание 'Расчет партий (регл. задание)' отключено. Включите его вручную или программно.");
    КонецЕсли;
Иначе
    Сообщить("Регламентное задание 'Расчет партий (регл. задание)' не найдено.");
КонецЕсли;

3. Отсутствие отрицательных остатков

Отрицательные остатки на складах в момент списания — это серьезная проблема, которая нарушает логику любого метода оценки запасов, особенно ФИФО. Система просто не может определить, какую партию списать, если товара физически нет на складе по данным учета. Для более глубокого поиска подобных расхождений рекомендуем выполнить сравнение товаров на складах организаций и себестоимости товаров, что поможет быстро локализовать ошибки в регистрах.

  1. Для проверки отрицательных остатков используем отчет Остатки и доступность товаров (раздел Склад и доставка).
  2. Сформируем отчет за период, включающий даты списания материалов в производство.
  3. Тщательно проанализируем результаты на предмет наличия отрицательных значений в колонке "Остаток".
  4. Если обнаружены отрицательные остатки, нам необходимо устранить их. Это может потребовать ввода недостающих документов поступления задним числом или корректировки дат существующих документов, чтобы поступление предшествовало списанию.

Совет: Мы можем настроить контроль отрицательных остатков в системе, чтобы предотвращать их появление. Это настраивается в НСИ и администрирование -> Настройка разделов -> Склад и доставка -> Обеспечение потребностей -> Контроль остатков.

4. Документы поступления и их корректность

Мы должны удостовериться, что документы поступления полуфабрикатов (Поступление товаров и услуг, Приобретение товаров и услуг и т.д.) проведены корректно и с указанием верных цен. Если цены в партиях поступления искажены, то и себестоимость по ФИФО будет некорректной.

  1. Проверим все документы поступления материалов, используемых в производстве, за анализируемый период.
  2. Убедимся, что суммы и цены указаны верно.
  3. Если обнаружены ошибки, скорректируем и перепроведем соответствующие документы.

5. Сложные схемы учета и их влияние

В некоторых случаях на расчет ФИФО могут влиять более сложные факторы:

6. Анализ результатов после закрытия месяца

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

  1. Перейдем в Финансовый результат и контроллинг -> Закрытие месяца.
  2. Выполним процедуру закрытия месяца.
  3. После успешного выполнения всех этапов, воспользуемся отчетом Анализ себестоимости товаров (раздел Финансовый результат и контроллинг). Этот отчет позволяет нам детально увидеть, как система рассчитала себестоимость каждой номенклатурной позиции, с детализацией по партиям и движениям.
  4. В этом деле отличным подспорьем станут остатки товаров организаций с себестоимостью по ФИФО, позволяющие сопоставить учетные данные с датами последних закупок. Дополнительно стоит провести анализ изменения себестоимости за период, чтобы отследить движение цены единицы товара от прихода до расхода.
  5. Мы можем использовать Отчеты по складу -> Ведомость по товарам на складах, чтобы увидеть движение товаров по партиям и проверить, соответствуют ли цены списания принципам ФИФО.

Пример анализа в отчете "Анализ себестоимости товаров":

В отчете мы можем установить отборы по конкретной номенклатуре и складу. Далее мы детализируем строки, чтобы увидеть движения по партиям. Если ФИФО работает корректно, мы увидим, что при списании первыми выбывают те партии, которые поступили раньше, по их закупочным ценам. Если видим списание по средней или другим ценам, значит, что-то все еще работает не так.


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

Заключение

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

← На главную