Документ «Движение НЗП (незавершённое производство)»

Служебный документ производственного учёта. Фиксирует остатки незавершённого производства (НЗП) на конец периода и формирует бухгалтерские (счёт 1340 «Незавершённое производство») и налоговые проводки. Создаётся автоматически при закрытии месяца (раздел «Операции»), реже вводится вручную для корректировки. Два вида операции: «Отнесение на НЗП» и «Возврат из НЗП». Проводки не «зашиты» в документ — их формирует общий модуль УчетПроизводства по учётной политике.

Бухгалтерия для Казахстана, ред. 3.0 · v3.0.72.1 · обновлено 2026-06-04

🎯 Что это и зачем

В производстве часть затрат на конец месяца ещё не превратилась в готовую продукцию — это незавершённое производство (НЗП): материалы в работе, недоделанные изделия, накопленные но не закрытые затраты цеха. Эти суммы нельзя списать на себестоимость готовой продукции — их нужно «оставить» на счёте НЗП и перенести на следующий период.

Документ «Движение НЗП» делает ровно это: при закрытии месяца он переносит затраты, признанные незавершёнными, на счёт учёта НЗП (1340), а в начале следующего периода (операцией возврата) возвращает их обратно на счета затрат, чтобы они снова участвовали в калькуляции. Параллельно документ отражает то же самое в налоговом учёте (НУ) — для расчёта КПН и временных разниц.

Кто работает: бухгалтер по производству / расчёту себестоимости. В 95% случаев документ создаёт и проводит сама программа в составе регламентной операции «Закрытие месяца» — пользователь его не вводит руками. Ручной ввод нужен только для разовой корректировки остатков НЗП.

⚠️ Это служебный документ. Он не оформляет хозяйственную операцию с контрагентом (нет покупателя, склада отгрузки, накладной). Его «вход» — данные о затратах за период, его «выход» — две группы проводок: бухгалтерская (БУ) и налоговая (НУ).

🧭 Где найти в программе

Отдельного журнала «Движение НЗП» в боковом меню Fresh нет — документ подчинён закрытию месяца и порождается им.

📷 СКРИН 01
СКРИН 01 — раздел «Операции», открытый документ «Закрытие месяца» со структурой регламентных операций; в списке видна строка, ведущая к движению НЗП. (AccountingKZ30 во Fresh; маршрут: Операции → Закрытие месяца)
⚠️ Пробел в навигации. В карте маршрутов Fresh (navigation-map.json) объект Документ.ДвижениеНЗП не описан — у него нет собственного пункта в боковом меню (это нормально для служебного документа закрытия месяца). Путь выше определён по метаданным и реквизиту ДокументЗакрытиеМесяца. Если в конкретной поставке пункт всё же выведен — уточните у администратора командного интерфейса.

👤 Часть 1. Для пользователя

Большинству пользователей отдельно «заполнять» этот документ не нужно — он формируется автоматически. Ниже сначала штатный сценарий (через закрытие месяца), затем — ручная корректировка для тех, кому она действительно нужна.

Урок 1. Штатный сценарий — закрытие месяца (рекомендуется)

Когда: в конце месяца, при выполнении регламентных операций производственного учёта.

Шаг 1. Открываем «Закрытие месяца»

Раздел «Операции» → «Закрытие месяца». Создаём (или открываем) документ закрытия за нужный месяц и организацию.

📷 СКРИН 02
СКРИН 02 — форма документа «Закрытие месяца» с перечнем регламентных операций.

Шаг 2. Выполняем расчёт НЗП

Запускаем выполнение регламентных операций (кнопка «Выполнить закрытие месяца» / по отдельной операции). На этапе расчёта незавершённого производства программа определяет остатки НЗП по подразделениям, номенклатурным группам и статьям затрат.

📷 СКРИН 03
СКРИН 03 — ход выполнения закрытия месяца, операция расчёта НЗП.

Шаг 3. Документ создаётся и проводится сам

По итогам расчёта программа автоматически создаёт документ «Движение НЗП», заполняет шапку (организация, подразделение, вид операции «Отнесение на НЗП», ссылка на закрытие месяца) и табличную часть «Состав» (счета затрат, статьи, суммы БУ и НУ), после чего проводит его.

💡 Вмешательство пользователя не требуется — документ «живёт» внутри закрытия месяца.

Шаг 4. Открываем документ и проверяем проводки

Из структуры закрытия месяца переходим по ссылке на сформированное «Движение НЗП». Кнопка Дт/Кт показывает проводки.

📷 СКРИН 04
СКРИН 04 — окно «Движения документа: Дт/Кт» для движения НЗП (Дт 1340 …).
💡 Подсказка. Видите в проводках счёт 1340 «Незавершённое производство» в дебете и счета затрат (8110/8210/8310/8410 и т. п.) в кредите — значит затраты корректно «осели» в НЗП на конец месяца.
⚠️ Важно. Не редактируйте автоматически созданный документ вручную: при следующем перепроведении закрытия месяца он будет пересоздан, и правки потеряются. Корректируйте исходные данные (затраты, настройки распределения), а не сам документ НЗП.

Урок 2. Ручная корректировка остатков НЗП

Когда: нужно разово поправить сумму НЗП вне обычного закрытия месяца (например, исправить ошибку прошлого периода). Сценарий для опытных бухгалтеров.

Шаг 1. Создаём документ

Открываем список документов «Движение НЗП» (через «Все функции» или ссылку из закрытия месяца) → «Создать».

📷 СКРИН 05
СКРИН 05 — форма нового документа «Движение НЗП».

Шаг 2. Заполняем шапку

📷 СКРИН 06
СКРИН 06 — заполненная шапка с выбранным видом операции и подразделением.

Шаг 3. Заполняем табличную часть «Состав»

Для каждой строки: - Счёт затрат БУ — счёт производственных затрат (например, 8110/8210/8310/8410). - Номенклатурная группа и Статья затрат — аналитика. - Сумма — сумма корректировки в БУ. - Для налогового учёта: Счёт затрат НУ, Вид учёта НУ, Сумма НУ.

Шаг 4. Проводим

«Провести» или «Записать и закрыть», затем проверяем Дт/Кт.

⚠️ Важно (валидация). Если организация — плательщик КПН и установлен флаг «Учитывать КПН», табличная часть «Состав» обязательна — пустой документ не проведётся (проверяются Состав.ВидУчетаНУ, Состав.СчетЗатратНУ, Состав.СуммаНУ). Если снят флаг «Отражать в бухгалтерском учёте», поля БУ (Состав.СчетЗатратБУ, Состав.Сумма) не проверяются.
⚠️ Флаг «Ручная корректировка». Если у документа установлен признак ручной корректировки, при проведении автоматические проводки не формируются вовсе — движения нужно вводить вручную. Подробнее — в части для программиста.

Урок 3. Возврат из НЗП и связь документов

Операция «Возврат из НЗП» возвращает ранее отнесённые суммы обратно на счета затрат (зеркально к «Отнесению на НЗП»). При закрытии месяца пара «отнесение → возврат» формируется автоматически и жёстко связана:

💡 Поэтому если нужно «откатить» НЗП — работайте с документом-основанием (отнесением), а не с возвратом по отдельности. Программа сама проведёт/снимет связанный документ.

🛠 Часть 2. Для программиста

Источник: реальный код релиза 3.0.72.1 (Documents/ДвижениеНЗП/Ext/ObjectModule.bsl и ManagerModule.bsl), метаданные документа и перечисления ВидыОперацийДвиженияНЗП, плюс разбор objects/ и business-logic/.

Структура объекта

Реквизиты шапки (по objects/ и коду):

Реквизит Тип Обязательность Назначение
ВидОперации Перечисление.ВидыОперацийДвиженияНЗП ShowError ОтнесениеНаНЗП или ВозвратИзНЗП; управляет логикой связей и проведения
Организация Справочник.Организации ShowError Организация движения НЗП
ДокументЗакрытиеМесяца Документ.ЗакрытиеМесяца ShowError Регламентный документ, в рамках которого создано движение
ДокументОснование Документ.ДвижениеНЗП DontCheck Для ВозвратИзНЗП — ссылка на парное ОтнесениеНаНЗП
ПодразделениеОрганизации Справочник.ПодразделенияОрганизаций DontCheck Подразделение учёта НЗП
СтруктурноеПодразделение Справочник.ПодразделенияОрганизаций DontCheck МВЗ для аналитики НЗП
ОтражатьВБухгалтерскомУчете Булево ShowError Формировать ли проводки БУ
УчитыватьКПН Булево DontCheck Включать ли операцию в НУ/КПН
РучнаяКорректировка Булево DontCheck Полностью отключает авто-проведение
СуммаДокумента Число DontCheck Итог для журналов; считается в ПередЗаписью
⚠️ Несостыковка [KZ30-NZP-01]. Перечисление objects/ называет среди видов операции «перемещение НЗП». Реальные метаданные Enums/ВидыОперацийДвиженияНЗП.xml содержат ровно два значения: ОтнесениеНаНЗП («Отнесение на НЗП») и ВозвратИзНЗП («Возврат из НЗП»). «Перемещения» в перечислении нет.

Табличная часть Состав — детализация остатков НЗП: СчетЗатратБУ (План счетов «Типовой»), НоменклатурнаяГруппа, СтатьяЗатрат, Сумма, СчетЗатратНУ (План счетов «Налоговый»), ВидУчетаНУ, СуммаНУ.

⚠️ Несостыковка [KZ30-NZP-02]. Разбор business-logic/..._ObjectModule.md (и комментарии в нём) называет проверяемую табличную часть «Товары». В реальном коде ОбработкаПроверкиЗаполнения оперирует частью Состав (Состав.ВидУчетаНУ, Состав.СчетЗатратНУ, Состав.Сумма, Состав.СуммаНУ). Корректное имя — Состав.

Жизненный цикл проведения (обработчики ObjectModule)

Обработчик Что делает (по реальному коду)
ЗаполнитьНаборыЗначенийДоступа Заполняет наборы доступа по организации и структурному подразделению (RLS)
ОбработкаПроверкиЗаполнения Снимает с проверки поля НУ, если организация не плательщик КПН или УчитыватьКПН = Ложь; снимает поля БУ, если ОтражатьВБухгалтерскомУчете = Ложь
ОбработкаПроведения При РучнаяКорректировка — Возврат; иначе готовит параметры и делегирует формирование движений модулю УчетПроизводства; для пары возврат↔отнесение перепроводит связанный документ
ОбработкаУдаленияПроведения Синхронизирует отмену проведения между ВозвратИзНЗП и его основанием ОтнесениеНаНЗП
ПередЗаписью Синхронизирует пометку удаления связанных документов; пересчитывает СуммаДокумента через УчетНДСИАкциза.ПолучитьСуммуДокументаСНДС

Как формируется проведение — реальный код (3.0.72.1)

Главное: проводки не «зашиты» в документ. ОбработкаПроведения готовит данные и делегирует формирование движений общему модулю УчетПроизводства — конкретные счета Дт/Кт определяются учётной политикой, а не самим документом.

Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 65):

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

    // ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
    ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);

    Если РучнаяКорректировка Тогда
        Возврат;                                    // ручное управление движениями
    КонецЕсли;

    ПараметрыПроведения = Документы.ДвижениеНЗП.ПодготовитьПараметрыПроведения(Ссылка, Отказ);

    Если Отказ Тогда
        Возврат;
    КонецЕсли;

    // ФОРМИРОВАНИЕ ДВИЖЕНИЙ — учёт пишет общий модуль производства:
    УчетПроизводства.СформироватьДвиженияНЗПБУ(ПараметрыПроведения.ТаблицаНЗПБУ, ПараметрыПроведения.Реквизиты, Движения, Отказ);
    УчетПроизводства.СформироватьДвиженияНЗПНУ(ПараметрыПроведения.ТаблицаНЗПНУ, ПараметрыПроведения.Реквизиты, Движения, Отказ);

    // Связка возврат ↔ отнесение: автопроведение документа-основания
    Если ЗначениеЗаполнено(ДокументОснование) Тогда
        Если (мПроведениеОперацииИзвне = Неопределено) И (ВидОперации = Перечисления.ВидыОперацийДвиженияНЗП.ОтнесениеНаНЗП) И
            ДокументОснование.ВидОперации = Перечисления.ВидыОперацийДвиженияНЗП.ВозвратИзНЗП Тогда
            // … сообщение пользователю …
            ТекущийДокументОснование = ДокументОснование.ПолучитьОбъект();
            ТекущийДокументОснование.мПроведениеОперацииИзвне = Истина;
            ТекущийДокументОснование.Записать(РежимЗаписиДокумента.Проведение);
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

Разбор по строкам:

Строка кода Смысл
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект) Инициализация наборов записей регистров перед проведением
Если РучнаяКорректировка Тогда Возврат Полный пропуск авто-проведения — движения вводит пользователь вручную
Документы.ДвижениеНЗП.ПодготовитьПараметрыПроведения(...) Менеджер собирает временные таблицы ТаблицаНЗПБУ/ТаблицаНЗПНУ, реквизиты, проверяет учётную политику
УчетПроизводства.СформироватьДвиженияНЗПБУ(...) Формирует бухгалтерские проводки НЗП (счета по учётной политике)
УчетПроизводства.СформироватьДвиженияНЗПНУ(...) Формирует налоговые проводки НЗП (НУ/КПН)
блок ДокументОснование Перепроводит парный документ при связке Отнесение ↔ Возврат

Что делает менеджерская ПодготовитьПараметрыПроведения (из ManagerModule.bsl, стр. 40), кратко: - запросом загружает реквизиты документа и признак ЕстьСоставНЗП; - проверяет существование учётной политики организации и за период по БУ и НУ — если её нет, выставляет Отказ и возвращает пустые параметры (Возврат); - вычисляет НеобходимостьОтраженияВНУ = организация-плательщик налога на прибыль И УчитыватьКПН И (поддержка временных разниц ИЛИ ВидУчетаНУ = НУ); - запросами ТекстЗапросаНЗПБУ / ТекстЗапросаНЗПНУ готовит итоговые таблицы движений ТаблицаНЗПБУ и ТаблицаНЗПНУ.

Движения по регистрам

По метаданным документа (RegisterRecords) движения пишутся в два регистра бухгалтерии (не накопления):

Регистр Тип Что пишет
AccountingRegister.Типовой Регистр бухгалтерии (БУ) Проводки НЗП в бухучёте — формирует УчетПроизводства.СформироватьДвиженияНЗПБУ
AccountingRegister.Налоговый Регистр бухгалтерии (НУ) Проводки НЗП в налоговом учёте — формирует УчетПроизводства.СформироватьДвиженияНЗПНУ
⚠️ Несостыковка [KZ30-NZP-03]. objects/ и business-logic/ местами говорят о «регистре накопления, связанном с типом операции». По метаданным Документ.ДвижениеНЗП пишет только в регистры бухгалтерии Типовой и Налоговый — регистров накопления среди RegisterRecords нет.

Иллюстрация проводок (сверяйте по Дт/Кт и плану счетов КЗ)

Точные счета определяет УчетПроизводства по учётной политике; ниже — типовая логика для плана счетов Казахстана, как ориентир:

Операция Дт Кт Смысл
Отнесение на НЗП (конец месяца) 1340 «Незавершённое производство» 8110/8210/8310/8410 (счета затрат) Незакрытые затраты остаются в НЗП
Возврат из НЗП (начало периода) 8110/8210/8310/8410 (счета затрат) 1340 «Незавершённое производство» Возврат НЗП в калькуляцию
⚠️ Несостыковка [KZ30-NZP-04]. В objects/ приведена «плоская» схема «Дт счёт НЗП — Кт счёт затрат» как факт. Это лишь иллюстрация: в коде нет жёстких счетов — их выдаёт УчетПроизводства по учётной политике. Точные Дт/Кт сверяйте по отчёту «Дт/Кт» на проведённом документе. Российские счета (20/43/91 и т. п.) к KZ30 не применять; счёт НЗП — 1340 (при необходимости — 1350 для прочего НЗП, по настройке).
💼 Партнёру / внедренцу. «НЗП считается неправильно / не на тот счёт» → причина почти всегда в учётной политике и настройках производственного учёта (счета НЗП, методы распределения затрат, статьи), а не в самом документе. Документ — оркестратор: вся логика счетов и сумм в УчетПроизводства и УчетнаяПолитикаСервер. Если документ вообще «пустой» (нет проводок) — проверьте флаг «Ручная корректировка» и наличие учётной политики по БУ и НУ за период (без неё ПодготовитьПараметрыПроведения выставляет Отказ).

Валидации (ОбработкаПроверкиЗаполнения)

Обработчик работает «от обратного» — формирует массив непроверяемых реквизитов: - если организация не плательщик КПН (функциональная опция ПлательщикКПН) или УчитыватьКПН = Ложь → из проверки убираются Состав.ВидУчетаНУ, Состав.СчетЗатратНУ, Состав.СуммаНУ; - если ОтражатьВБухгалтерскомУчете = Ложь → убираются Состав.СчетЗатратБУ, Состав.Сумма.

То есть при плательщике КПН и включённом УчитыватьКПН поля НУ в Состав становятся обязательными; при отражении в БУ — обязательны поля БУ. Обязательность шапочных реквизитов (ВидОперации, Организация, ДокументЗакрытиеМесяца, ОтражатьВБухгалтерскомУчете) задана на уровне свойств (ShowError).

Связи документов (возврат ↔ основание)

Логика в ОбработкаПроведения, ОбработкаУдаленияПроведения, ПередЗаписью через служебные флаги мПроведениеОперацииИзвне и мУдалениеИзвне: - проведение ОтнесениеНаНЗП с основанием-ВозвратИзНЗП → перепроводит основание; - отмена проведения / удаление одной стороны → синхронно обрабатывает вторую (с сообщением пользователю), не допуская «висящих» половин пары.

Зависимости (общие модули)

УчетПроизводства (формирование движений НЗП БУ/НУ), ПроведениеСервер (наборы записей), УчетнаяПолитикаСервер (проверка и параметры учётной политики), ПроцедурыНалоговогоУчета (признак плательщика налога на прибыль, временные разницы), УчетНДСИАкциза (расчёт СуммаДокумента), ОбщегоНазначенияБК / ОбщегоНазначения / СтроковыеФункцииКлиентСервер (утилиты, доступ, сообщения).

🧩 Заметки для разработчика.
  1. РучнаяКорректировка = Истина → Возврат в самом начале ОбработкаПроведения: документ не пишет ни одной проводки. Для UI-автоматизации это «пустой» с точки зрения движений документ.
  2. ПодготовитьПараметрыПроведения жёстко требует учётную политику по БУ и НУ за период — нет политики, Отказ = Истина и проведение прерывается.
  3. Не заполняйте Организация и СтруктурноеПодразделение напрямую через UI: форма использует составное поле СтруктурноеПодразделениеОрганизация с диалогом (РаботаСДиалогамиКлиент), которое обнуляет оба реквизита и заполняет их вместе.
  4. ВидОперации — первичен: от него зависят обязательность ДокументОснование, синхронизация пар и набор движений. Значений ровно два (ОтнесениеНаНЗП, ВозвратИзНЗП).
  5. Имя проверяемой табличной части — Состав (не «Товары», как в части преварительных разборов).

🔗 Связанные разделы

🆕 Что нового

Версия Изменение Тип
3.0.72.1 Первичное описание (на релизе 3.0.72.1) 🆕