Документ «Списание НМА»
Документ оформляет выбытие нематериального актива без передачи покупателю — ликвидацию, моральный износ, утрату: доначисляет и списывает накопленную амортизацию, списывает остаточную стоимость НМА на счёт расходов, снимает актив с учёта (состояние НМА, фиксированные активы, объекты налогового учёта ФА), а при необходимости — с учёта по имущественному налогу. Готовит печатный акт списания ДА-3 с составом инвентаризационной комиссии. Сам документ проводок «руками» не пишет: ОбработкаПроведения собирает таблицы и делегирует формирование всех движений общим модулям УчетНМА и УправлениеВнеоборотнымиАктивамиСервер, поэтому конкретные счета Дт/Кт определяются учётной политикой и счетами учёта НМА, а не самим документом.
🎯 Что это и зачем
Нематериальный актив (лицензия, патент, право пользования, товарный знак, программное обеспечение) рано или поздно перестаёт приносить пользу: истекает срок действия, актив морально устаревает, утрачивается или ликвидируется. В отличие от продажи (для неё есть отдельный документ peredacha-nma), здесь нет покупателя, нет дохода и нет НДС — актив просто снимают с баланса, а его остаточную стоимость относят на расходы организации.
Что закрывает документ за одно проведение:
- доначисление амортизации за период до даты выбытия (БУ) и её распределение по направлениям затрат;
- списание остаточной стоимости и накопленной амортизации НМА — стоимость уходит на счёт затрат/расходов (СчетЗатратБУ), который выбирает пользователь;
- снятие НМА с учёта — изменение состояния актива (регистр состояний НМА), исключение из фиксированных активов и из объектов налогового учёта ФА;
- снятие с учёта по имущественному налогу — если установлен признак СнятьСУчетаПоНалогам;
- отражение постоянных разниц в налоговом учёте (КПН) — если организация является плательщиком налога на прибыль.
Кто работает: бухгалтер по учёту НМА / внеоборотных активов, эпизодически (по факту выбытия — от единичных случаев до нескольких раз в год). Документ можно вводить с нуля либо вручную связать с актом инвентаризации НМА (реквизит ДокументОснование типа Документ.ИнвентаризацияНМА).
УчетНМА, УправлениеВнеоборотнымиАктивамиСервер) по счетам учёта НМА и учётной политике. Поэтому набор и значения проводок зависят от настроек, а не зашиты в документ (подробно — в Части 2).🧭 Где найти в программе
Раздел «ОС и НМА» → пункт «Списание НМА». Откроется журнал документов; новый создаём кнопкой «Создать».
navigation-map.json объект Документ.СписаниеНМА отсутствует (там описаны только документы разделов «Продажа», «Покупка», «Банк и касса»). Раздел «ОС и НМА» и пункт «Списание НМА» восстановлены по типовому размещению документов учёта внеоборотных активов в Бухгалтерии для Казахстана 3.0 (рядом со «Списанием ОС», «Передачей НМА», «Принятием к учёту НМА»). Точное название пункта меню сверьте в своей базе; это помечено как пробел в поле issues.👤 Часть 1. Для пользователя
Проходим по шагам, как в курсе: от пустого документа до проведённого списания и проверки движений.
Урок 1. Списание одного НМА
Когда: единичное выбытие — например, истёк срок действия лицензии или морально устарело программное обеспечение, числящееся в составе НМА.
Шаг 1. Создаём документ
Раздел «ОС и НМА» → «Списание НМА» → «Создать». Откроется пустая форма документа.
Шаг 2. Заполняем шапку
- Дата — дата выбытия НМА. От неё зависят расчёт амортизации и налоговые признаки, поэтому ставим её до заполнения остальных полей (см. подсказку ниже).
- Организация — подставится основная или выбираем вручную (обязательно).
- Нематериальный актив — выбираем из справочника НМА, находящихся на учёте у выбранной организации (обязательно). Это главный реквизит документа.
- Структурное подразделение — если НМА закреплён за подразделением.
Шаг 3. Указываем счёт затрат
- Счёт затрат (БУ) — счёт расходов, на который списывается остаточная стоимость НМА (обязательно). При его выборе система автоматически подбирает соответствующий Счёт затрат (НУ) и показывает/скрывает нужные субконто.
- Субконто затрат БУ 1/2/3 — заполняем аналитику счёта (подразделение, статья затрат и т. п.), если счёт её требует. Если аналитика не нужна — поля останутся скрытыми.
Шаг 4. Налоговый учёт (КПН)
Если организация — плательщик корпоративного подоходного налога, установите флаг «Учитывать КПН». Откроется блок налоговых реквизитов: - Вид учёта НУ — подставляется по организации и дате; - Счёт затрат (НУ) и его субконто — заполнены автоматически из счёта БУ; - Сумма НУ — остаточная стоимость НМА в налоговом учёте; её можно рассчитать кнопкой (см. Урок 2) или ввести вручную.
Вид учёта НУ и Счёт затрат НУ исключаются из обязательной проверки (это видно прямо в коде — см. Часть 2).Шаг 5. Снятие с учёта по налогам
Если по этому НМА вёлся учёт по имущественному налогу, установите флаг «Снять с учёта по налогам» — при проведении объект будет исключён из налоговой базы.
Шаг 6. Инвентаризационная комиссия
Переходим на закладку «Инвентаризационная комиссия» и через «Подбор» добавляем членов комиссии из справочника физических лиц. У одного из них ставим флаг «Председатель». Комиссия нужна для печатного акта списания ДА-3.
Шаг 7. Проводим
«Провести» или «Записать и закрыть». Чтобы проверить учёт — открываем Дт/Кт (отчёт о движениях документа).
Урок 2. Расчёт суммы списания по налоговому учёту
Когда: нужно получить остаточную стоимость НМА в налоговом учёте автоматически, а не вводить вручную.
- В заполненном документе (организация, НМА, дата) установите «Учитывать КПН» и заполните Вид учёта НУ, Счёт затрат НУ.
- Нажмите кнопку расчёта суммы НУ.
- Система обратится к остаткам регистра налогового учёта и рассчитает остаточную стоимость НМА на дату документа с учётом накопленной амортизации (за это отвечает функция
ПолучитьСтоимостьВАПоНУв модуле менеджера — см. Часть 2). - Поле Сумма НУ заполнится рассчитанным значением.
Урок 3. Связь с инвентаризацией и ручная корректировка
На основании инвентаризации. Документ «Списание НМА» не создаётся автоматически из других документов, но вы можете вручную указать Документ-основание типа Документ.ИнвентаризацияНМА — например, сначала провести инвентаризацию, выявить НМА к списанию, а затем сослаться на её акт. Это связывает документы для отчётности.
Ручная корректировка. Если нужно провести документ с нестандартными суммами (исправление прошлых периодов, нетиповая ситуация), установите флаг «Ручная корректировка» = Истина до проведения. В этом режиме автоматический расчёт амортизации и движений пропускается — документ проведётся ровно с теми значениями, которые задал пользователь (в т. ч. через ручное редактирование движений в Дт/Кт).
🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 (Documents/СписаниеНМА/Ext/ObjectModule.bsl), плюс разбор objects/Документ_СписаниеНМА.md и business-logic/Документ_СписаниеНМА_*.md. Часть процедур проведения (ПодготовитьПараметрыПроведения, ПолучитьСтоимостьВАПоНУ, печать ДА-3) живёт в ManagerModule.bsl — он большой, цитируется по разбору business-logic.
Структура объекта
Ключевые реквизиты шапки:
- Обязательные (проверка ОбработкаПроверкиЗаполнения/ShowError): НематериальныйАктив (Справочник.НематериальныеАктивы), Организация, СчетЗатратБУ (ПланСчетов.Типовой). Условно-обязательные у плательщика КПН: ВидУчетаНУ, СчетЗатратНУ (ПланСчетов.Налоговый).
- Аналитика затрат: СубконтоЗатратБУ1/2/3, СубконтоЗатратНУ1/2/3 (видимость и обязательность зависят от видов субконто выбранного счёта).
- Управляющие флаги: УчитыватьКПН, СнятьСУчетаПоНалогам, РучнаяКорректировка.
- Прочее: СтруктурноеПодразделение, СуммаНУ (остаточная стоимость по НУ), ДокументОснование (Документ.ИнвентаризацияНМА), Ответственный, Автор, Комментарий.
Табличные части:
- ИнвентаризационнаяКомиссия — состав комиссии для акта ДА-3: ФизЛицо (Справочник.ФизическиеЛица), Председатель (Булево).
Формы: ФормаДокумента (создание/редактирование, кнопка расчёта суммы НУ, подбор комиссии), ФормаСписка (журнал), ФормаВыбора.
objects/ тип субконто помечен как «не определено» — это нормально: типы субконто определяются видами субконто плана счетов и разрешаются динамически на форме, а не фиксированным типом реквизита.Жизненный цикл проведения (обработчики ObjectModule)
| Обработчик | Что делает (по реальному коду 3.0.72.1) |
|---|---|
ЗаполнитьНаборыЗначенийДоступа (экспорт) |
Заполняет наборы значений доступа по Организация + СтруктурноеПодразделение (RLS) через ОбщегоНазначенияБК.ЗаполнитьНаборыПоОрганизацииСтурктурномуПодразделению |
ОбработкаЗаполнения |
При заполнении из структуры удаляет служебный Автор, копирует свойства, затем ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(…, ВалютаРегламентированногоУчета) |
ОбработкаПроверкиЗаполнения |
Если организация не плательщик налога на прибыль или УчитыватьКПН = Ложь — исключает из проверки ВидУчетаНУ и СчетЗатратНУ |
ОбработкаПроведения |
Готовит наборы и параметры, при РучнаяКорректировка выходит сразу; иначе считает амортизацию и делегирует все движения модулям УчетНМА/УправлениеВнеоборотнымиАктивамиСервер |
ПриКопировании |
Ставит Дата = НачалоДня(ТекущаяДатаПользователя()) |
objects/ утверждал, что ОбработкаЗаполнения вызывает УправлениеВнеоборотнымиАктивамиСервер.ИнициализироватьДокумент, а ОбработкаПроверкиЗаполнения — ПроцедурыНалоговогоУчета.ОрганизацияЯвляетсяПлательщикомНалога. Реальный код 3.0.72.1 показывает другое: заполнение шапки идёт через ЗаполнениеДокументов.ЗаполнитьШапкуДокумента, а признак плательщика — через ПроцедурыНалоговогоУчета.ПолучитьПризнакПлательщикаНалогаНаПрибыль(Организация, Дата). Ориентируемся на реальный код.Как формируется проведение — реальный код (3.0.72.1)
Главное: проводки не «зашиты» в документ. ОбработкаПроведения подготавливает наборы записей и таблицы, рассчитывает амортизацию, а затем вызывает профильные общие модули — каждый пишет «свой» учёт. Поэтому конкретные счета Дт/Кт определяются учётной политикой и счетами учёта НМА, а не телом документа.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 71–130), приведена целиком:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект, Ложь);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями
КонецЕсли;
ПараметрыПроведения = Документы.СписаниеНМА.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// если параметры не получены, но Отказ не взведён — просто выходим
Если ПараметрыПроведения = Неопределено Тогда
Возврат;
КонецЕсли;
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
УчетНМА.ПроверитьСведенияПоНМА(ПараметрыПроведения.Реквизиты, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// Таблица с данными по расчёту амортизации (БУ, регл.)
ТаблицаАмортизацииНМА = УчетНМА.ПодготовитьТаблицуАмортизацииНМАБухРегл(
ПараметрыПроведения.Реквизиты, ПараметрыПроведения.Реквизиты, Ложь);
ТаблицаНМАРаспределениеАмортизацииПоНаправлениямРегл =
УправлениеВнеоборотнымиАктивамиСервер.ПодготовитьТаблицуРаспределениеАмортизацииПоНаправлениямРегл(
ТаблицаАмортизацииНМА, ПараметрыПроведения.Реквизиты, Отказ);
ОбщегоНазначенияБКВызовСервера.ДобавитьКолонкуВТаблицуЗначений(
ПараметрыПроведения.РеквизитыСтоимостьНМА, "НомерЖурнала", НСтр("ru = 'НА'", ...));
ОбщегоНазначенияБКВызовСервера.ДобавитьКолонкуВТаблицуЗначений(
ПараметрыПроведения.РеквизитыРаспределениеАмортизации, "НомерЖурнала", НСтр("ru = 'НА'", ...));
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ — каждый модуль пишет «свой» учёт:
УправлениеВнеоборотнымиАктивамиСервер.СформироватьДвиженияАмортизацииПоНаправлениямРегл(
ТаблицаНМАРаспределениеАмортизацииПоНаправлениямРегл,
ПараметрыПроведения.РеквизитыРаспределениеАмортизации, Движения, Отказ);
УчетНМА.СформироватьДвиженияИзменениеСостоянияНМА(
ПараметрыПроведения.ТаблицаСостоянийНМА, Движения, Отказ);
УправлениеВнеоборотнымиАктивамиСервер.СформироватьДвиженияОбъектыНалоговогоУчетаФА(
ПараметрыПроведения.ТаблицаОбъектыНалоговогоУчетаФА, ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетНМА.СформироватьДвиженияОбъектыИмущественногоНалога(
ПараметрыПроведения.ТаблицаОбъектыИмущественногоНалога,
ПараметрыПроведения.РеквизитыОбъектыИмущественногоНалога, Движения, Отказ);
УправлениеВнеоборотнымиАктивамиСервер.СформироватьДвиженияФАУчитываемыхОтдельно(
ПараметрыПроведения.ТаблицаФАУчитываемыеОтдельно, ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетНМА.СформироватьДвиженияСписаниеНМА(
ПараметрыПроведения.РеквизитыСтоимостьНМА, ПараметрыПроведения.ТаблицаСтоимостьНМА,
ТаблицаАмортизацииНМА, Движения, Отказ);
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ(
ПараметрыПроведения.Реквизиты, Движения, Отказ)
КонецПроцедуры
Разбор по шагам:
1. ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект, Ложь) — инициализирует наборы записей регистров.
2. РучнаяКорректировка = Истина → Возврат — авто-проведение полностью пропускается, движения остаются такими, как их задал пользователь.
3. Документы.СписаниеНМА.ПодготовитьПараметрыПроведения(Ссылка, Отказ) — вся подготовка данных вынесена в ManagerModule (по разбору — ~95 строк: временные таблицы состояний НМА, стоимости, объектов НУ ФА и имущественного налога).
4. УчетНМА.ПроверитьСведенияПоНМА(…) — проверка корректности данных по НМА перед формированием движений (может взвести Отказ).
5. Расчёт амортизации: УчетНМА.ПодготовитьТаблицуАмортизацииНМАБухРегл → распределение по направлениям через УправлениеВнеоборотнымиАктивамиСервер.ПодготовитьТаблицуРаспределениеАмортизацииПоНаправлениямРегл.
6. Серия Сформировать… — каждый вызов пишет свой пласт учёта (таблица ниже).
Кто что формирует (вызов → смысл):
| Вызов в коде | Какой учёт пишет |
|---|---|
УправлениеВнеоборотнымиАктивамиСервер.СформироватьДвиженияАмортизацииПоНаправлениямРегл |
доначисление амортизации НМА за период до выбытия и её распределение по направлениям затрат |
УчетНМА.СформироватьДвиженияИзменениеСостоянияНМА |
перевод НМА в состояние «Списан» (регистр состояний НМА) |
УправлениеВнеоборотнымиАктивамиСервер.СформироватьДвиженияОбъектыНалоговогоУчетаФА |
снятие НМА с учёта объектов налогового учёта фиксированных активов |
УчетНМА.СформироватьДвиженияОбъектыИмущественногоНалога |
снятие с учёта по имущественному налогу (если установлен признак) |
УправлениеВнеоборотнымиАктивамиСервер.СформироватьДвиженияФАУчитываемыхОтдельно |
обновление реестра ФА, учитываемых отдельно |
УчетНМА.СформироватьДвиженияСписаниеНМА |
ядро: списание остаточной стоимости и накопленной амортизации НМА (бухгалтерские проводки) |
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ |
постоянные разницы в налоговом учёте (КПН) |
Движения по регистрам
Список регистров — из objects/ и разбора ManagerModule; значения проводок собирают модули учёта, документ задаёт только данные.
| Регистр | Тип / движение | Что пишет |
|---|---|---|
Типовой |
Бухгалтерия (БУ) | Списание остаточной стоимости и накопленной амортизации НМА (через УчетНМА.СформироватьДвиженияСписаниеНМА) + доначисленная амортизация по направлениям |
Налоговый |
Бухгалтерия (НУ) | Списание остаточной стоимости НМА по НУ на СуммаНУ (+ постоянные разницы) |
СостоянияНМАОрганизаций |
Сведения | Событие «Списание»: дата снятия с учёта = дата документа |
ОбъектыНалоговогоУчетаФА |
Сведения | Снятие НМА с налогового учёта ФА |
ФиксированныеАктивыУчитываемыеОтдельно |
Сведения | Обновление реестра отдельно учитываемых ФА |
ОбъектыИмущественногоНалога |
Сведения | Снятие с учёта по имущественному налогу (если СнятьСУчетаПоНалогам = Истина) |
Иллюстрация Дт/Кт (план счетов КЗ) — не из тела документа, а ожидаемая картина проводок. Точные счета даёт УчетНМА по счетам учёта НМА и выбранному СчетЗатратБУ; сверяйте по отчёту «Дт/Кт» на проведённом документе:
- списание накопленной амортизации НМА: Дт 2740 «Амортизация НМА» → Кт 2730 «НМА» (на сумму накопленной амортизации, включая доначисленную за месяц выбытия);
- списание остаточной стоимости НМА на расходы: Дт 7210/7480 (счёт затрат
СчетЗатратБУ, выбранный пользователем) → Кт 2730 «НМА» (на остаточную стоимость).
objects/ подавал проводки в виде «Кт 2730 → Дт СчетЗатратБУ» и «Дт 2740 → Кт 2730» как зашитые в документ. В реальном коде 3.0.72.1 таких прямых Движения.Типовой.Добавить(...) в ObjectModule нет — всё формирует УчетНМА.СформироватьДвиженияСписаниеНМА. Кроме того, разбор objects/ упоминал счёт 2410/2420 (это ОС, а не НМА) и российские формулировки — для НМА в плане счетов КЗ корректны 2730 (НМА) и 2740 (амортизация НМА). Точные Дт/Кт — только по отчёту «Дт/Кт» на проведённом документе.СчетаУчетаНМА), выбранном счёте затрат СчетЗатратБУ и учётной политике, а не в документе. Документ — оркестратор; вся логика счетов и сумм в УчетНМА, УправлениеВнеоборотнымиАктивамиСервер, УчетнаяПолитикаСервер. Если списание не закрывает имущественный налог — проверьте флаг СнятьСУчетаПоНалогам и признак учёта объекта по имущественному налогу. Если не сходится остаточная стоимость по НУ — проверьте СуммаНУ и расчёт ПолучитьСтоимостьВАПоНУ (остатки регистра НУ на дату документа).Валидации (ОбработкаПроверкиЗаполнения)
- Обязательные реквизиты шапки:
НематериальныйАктив,Организация,СчетЗатратБУ(механизмShowError). - Условная обязательность НУ:
ВидУчетаНУиСчетЗатратНУобязательны, только если организация — плательщик налога на прибыль (ПроцедурыНалоговогоУчета.ПолучитьПризнакПлательщикаНалогаНаПрибыль(Организация, Дата)) иУчитыватьКПН = Истина. Иначе эти поля исключаются из проверки черезОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива. - Проверка данных НМА при проведении:
УчетНМА.ПроверитьСведенияПоНМАможет взвестиОтказ(например, нет сведений/остатков по НМА). - Уникальность в комиссии (форма): одно физлицо нельзя добавить дважды; председатель — ровно один (
ПредседательПриИзмененииснимает флаг с прочих строк).
Зависимости (общие модули)
УчетНМА— ядро: проверка сведений по НМА, расчёт амортизации, формирование движений списания, состояния НМА, имущественного налога.УправлениеВнеоборотнымиАктивамиСервер— распределение амортизации по направлениям, движения по ФА (налоговый учёт, отдельный учёт).ПроцедурыНалоговогоУчета— признак плательщика налога на прибыль, постоянные разницы в НУ.ПроведениеСервер— подготовка наборов записей к проведению.ЗаполнениеДокументов— заполнение шапки документа при создании.ОбщегоНазначения,ОбщегоНазначенияБК,ОбщегоНазначенияБКВызовСервера— утилиты (массивы непроверяемых реквизитов, наборы доступа RLS, работа с таблицами значений).Документы.СписаниеНМА(ManagerModule) —ПодготовитьПараметрыПроведения,ПолучитьСтоимостьВАПоНУ, печать ДА-3 (черезУправлениеПечатью).- Форма:
ПроцедурыБухгалтерскогоУчета(КлиентСервер)(синхронизация счетов/субконто БУ↔НУ),РаботаСДиалогами(Клиент),ПодключаемыеКоманды(КлиентСервер),УправлениеДоступомСлужебный.
РучнаяКорректировка = Истина→ проведение пропускается (раннийВозврат) — движения заполняет пользователь. Это первая проверка после подготовки наборов записей.- Подготовка данных — в
ManagerModule, а не в объекте:ПодготовитьПараметрыПроведениясобирает все временные таблицы. При отладке «пустых» движений смотрите туда (и проверяйте, что заполнены НМА/организация/дата — иначе таблицы пустые).- Расчёт
СуммаНУделаетПолучитьСтоимостьВАПоНУ(модуль менеджера, ~29 строк) — берёт остатки регистра НУ на дату документа. Для корректного результата НМА должен числиться в НУ.- Признаки НУ критичны:
СнятьСУчетаПоНалогам, признаки объекта ФА и отдельного учёта управляют тем, формируются ли движения поОбъектыИмущественногоНалога,ОбъектыНалоговогоУчетаФА,ФиксированныеАктивыУчитываемыеОтдельно.ОбработкаЗаполненияудаляетАвториз структуры заполнения — иначе при создании из структуры перетёрся бы автор. Учитывайте при программном создании документа.- RLS: доступ ограничивается по организации и подразделению (
ЗаполнитьНаборыЗначенийДоступа).
🔗 Связанные разделы
- spisanie-os — списание основного средства (зеркальный документ для ОС; счета 2410/2420)
- peredacha-nma — выбытие НМА с реализацией контрагенту (доход + НДС), а не списание
- prinyatie-k-uchetu-nma — постановка НМА на учёт (начало жизненного цикла)
- postuplenie-nma — поступление НМА от поставщика
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание документа «Списание НМА» (на релизе 3.0.72.1) | 🆕 |