Документ «Расчёт налогов при поступлении активов и услуг (НДС за нерезидента)»

Документ исчисляет налоги и взносы организации-налогового агента (ИПН, ОПВ, ВОСМС, социальный налог, социальные отчисления) с дохода, выплаченного физическому лицу или ИП за поступившие активы и услуги. Создаётся на основании документа поступления, кнопкой «Рассчитать» заполняет налоговые таблицы и при проведении формирует движения по регистрам зарплаты и налогов — бухгалтерские проводки Дт/Кт он не делает.

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

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

Когда организация получает товары, работы или услуги от физического лица или ИП (например, по договору ГПХ, авторскому договору, договору подряда), она в ряде случаев становится налоговым агентом: обязана исчислить и удержать из дохода контрагента индивидуальный подоходный налог (ИПН), обязательные пенсионные взносы (ОПВ), взносы на обязательное социальное медицинское страхование (ВОСМС), а также начислить за свой счёт социальный налог (СН) и социальные отчисления (СО).

Документ «Расчёт налогов при поступлении активов и услуг» автоматизирует это: берёт сумму дохода из документа поступления, по кнопке «Рассчитать» подбирает ставки на нужный период и заполняет налоговые таблицы по каждому виду налога/взноса, а при проведении регистрирует начисленные суммы в регистрах учёта зарплаты, налогов и взаиморасчётов с физлицами.

Кто работает: бухгалтеры по расчётам с подрядчиками-физлицами и по зарплатным налогам. Применяется регулярно при работе с физлицами и ИП, оказывающими услуги или поставляющими активы.

⚠️ О подзаголовке «НДС за нерезидента». В заголовке темы он сохранён по заданию, но реальный код документа исчисляет ИПН/ОПВ/ВОСМС/СН/СО (зарплатные налоги налогового агента), а не НДС за нерезидента. НДС за нерезидента в типовой AccountingKZ30 регистрируется иными механизмами (счёт-фактура на аванс/реверсивный НДС в документах поступления). См. пробел [KZ30-RNP-0001] в разделе issues.

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

Документ не выведен отдельным пунктом в карте навигации Fresh (navigation-map.json), поэтому штатный способ — создать его «на основании» документа поступления:

раздел «Покупка» → «Поступление товаров и услуг» (либо «Поступление НМА», «Поступление доп. расходов») → открыть нужный документ → кнопка «Создать на основании» → «Расчёт налогов при поступлении активов и услуг».

раздел «Покупка», открытый журнал «Поступление товаров и услуг», выделен документ-основание. (AccountingKZ30 во Fresh; маршрут: Покупка → Поступление товаров и услуг)
раздел «Покупка», открытый журнал «Поступление товаров и услуг», выделен документ-основание. (AccountingKZ30 во Fresh; маршрут: Покупка → Поступление товаров и услуг)
⚠️ Пробел в навигации [KZ30-RNP-0002]. Прямой раздел/пункт для этого документа в navigation-map.json отсутствует. Маршрут «Покупка → Поступление → Создать на основании» определён по типам документов-оснований из кода (ЗаполнитьПоДокументуОснования) и по подсистеме объекта, а не из карты навигации. Точное расположение пункта (и наличие отдельного журнала) нужно сверить в конкретной конфигурации.

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

Проходим по шагам: от документа-основания до проведённого расчёта налогов и проверки результатов.

Урок 1. Расчёт налогов на основании поступления

Когда: организация получила услуги/товары/НМА от физлица или ИП и должна исчислить налоги налогового агента.

Шаг 1. Открываем документ-основание

В разделе «Покупка» открываем «Поступление товаров и услуг» (или «Поступление НМА», «Поступление доп. расходов»), которым оформлено приобретение у физлица.

📷 СКРИН 02
СКРИН 02 — открытый документ поступления — основание для расчёта налогов.

Шаг 2. Создаём расчёт «на основании»

Кнопка «Создать на основании» → выбираем «Расчёт налогов при поступлении активов и услуг». Система перенесёт в новый документ: - Организацию (налоговый агент), - Контрагента (физлицо/ИП — получатель дохода), - ДоговорКонтрагента (подтянется по контрагенту), - СуммуДокумента (сумму дохода — база для расчёта), - ПериодРегистрации (месяц по дате документа), - структурное подразделение и валютные параметры.

📷 СКРИН 03
СКРИН 03 — меню «Создать на основании» с выбором расчёта налогов.

Шаг 3. Проверяем шапку и заполняем обязательные поля

Убеждаемся, что заполнены: - Вид расчёта — определяет, какие налоги считать и по каким ставкам (вознаграждение по ГПХ, авторские и т. п.); - Вид учёта НУ — если ведётся учёт КПН; - Счёт затрат и Счёт затрат НУ — куда отнести расходы/налоги в учёте (могут подставиться); - Счёт учёта расчётов с контрагентом — счёт задолженности перед физлицом (как правило, 3350).

заполненная шапка документа расчёта налогов.
заполненная шапка документа расчёта налогов.

Шаг 4. Включаем нужные налоги

Ставим флажки тех налогов и взносов, которые нужно исчислить: Учитывать ИПН, Учитывать ОПВ, Учитывать ВОСМС, Учитывать СН, Учитывать СО. Состав доступных флажков зависит от периода и от того, является ли организация плательщиком СН.

💡 Подсказка. С 01.01.2025 обязательно должен быть выбран хотя бы один вид налога: ОПВ, ИПН, СН, ВОСМС или СО. До 2025 года — ОПВ, ИПН, СН или ВОСМС. Если не выбрать ни одного — документ не проведётся (см. валидации в Части 2).
📷 СКРИН 05
СКРИН 05 — блок флажков «Учитывать ИПН / ОПВ / ВОСМС / СН / СО».

Шаг 5. Нажимаем «Рассчитать»

Кнопка «Рассчитать»: документ предварительно сохраняется (и снимается с проведения), затем подбираются ставки на ПериодРегистрации и заполняются табличные части по каждому налогу — Исчисленный ИПН, Исчисленный ОПВ, Исчисленные ВОСМС, Исчисленный СН, Исчисленные СО, а также Вычеты ИПН (для периодов с 2018 года).

📷 СКРИН 06
СКРИН 06 — результат расчёта — заполненные закладки налогов.
⚠️ Важно. Расчёт работает только на записанном документе. Перед «Рассчитать» проверьте: заполнены организация, контрагент, вид расчёта, период и сумма. Если регламентированный производственный календарь на месяц не заполнен — расчёт прервётся с сообщением.

Шаг 6. Проверяем и проводим

Просматриваем суммы по закладкам, при необходимости правим (см. Урок 2). Нажимаем «Провести» или «Записать и закрыть». Документ зарегистрирует начисленные налоги, взносы и задолженность перед физлицом в регистрах.

панель проведения; результаты движений по регистрам (отчёт «Движения документа»).
панель проведения; результаты движений по регистрам (отчёт «Движения документа»).
💡 У этого документа нет привычной кнопки «Дт/Кт» с бухгалтерскими проводками в том виде, как у реализации/поступления, — он формирует регистры накопления (сведения о доходах, расчёты с фондами и бюджетом, взаиморасчёты с физлицами) плюс постоянные разницы в НУ. Смотрите движения через «Все движения документа».

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

Когда: автоматический расчёт нужно поправить вручную (например, скорректировать облагаемую базу, сумму налога или вычет).

  1. Открываем документ, переходим на нужную закладку (например, «Подоходный налог»).
  2. Ставим флажок «Ручная корректировка» — он отключает автоматическое проведение (документ перестаёт пересобирать движения сам).
  3. Правим значения в табличной части: Облагаемая база, Налог, Применённый вычет и т. п.
  4. Записываем. При установленном флаге документ сохраняется, но движения не переформировываются автоматически.
📷 СКРИН 08
СКРИН 08 — закладка налога с включённым флагом «Ручная корректировка».
⚠️ Важно. Пока флажок «Ручная корректировка» установлен, обработчик проведения сразу выходит и движения не формируются заново. Чтобы провести документ с автоматическим пересчётом — снимите флажок и нажмите «Провести».

Урок 3. Перерасчёт при смене периода или контрагента

Если изменить Период регистрации или Контрагента, программа очищает все налоговые таблицы (защита от рассинхронизации данных) и при смене контрагента переподбирает договор и счета учёта. После такого изменения обязательно нажмите «Рассчитать» заново.

💡 По вычетам ИПН: смена физлица или налогового периода удаляет ранее заполненные вычеты — их нужно пересчитать.

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

Источник: реальный код релиза 3.0.72.1 (Documents/РасчетНалоговПриПоступленииАктивовУслуг/Ext/ObjectModule.bsl, модуль небольшой — прочитан целиком), плюс разбор objects/ и business-logic/.

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

Ключевые реквизиты шапки (обязательные помечены в objects/ как ShowError): Организация, Контрагент, ДоговорКонтрагента, ДокументОснование, ВидРасчета, ВидУчетаНУ, ПериодРегистрации, СуммаДокумента, СчетЗатрат, СчетЗатратНУ, СчетУчетаРасчетовСКонтрагентом. Управляющие флаги: УчитыватьИПН, УчитыватьОПВ, УчитыватьВОСМС, УчитыватьСН, УчитыватьСО, УчитыватьКПН, РучнаяКорректировка. Аналитика затрат: СубконтоДт1..3, СубконтоДтНУ1..3.

Табличные части (по objects/): ИсчисленныйИПН, ИсчисленныйОПВ, ИсчисленныеВОСМС, ИсчисленныйСН, ИсчисленныеСО, ВычетыИПН. Каждая детализирована по физлицу и месяцу налогового периода (ФизЛицо, Налог/Взнос/Отчисление, ОблагаемаяБаза, МесяцНалоговогоПериода).

⚠️ Сверка [KZ30-RNP-0003]. В коде ОбработкаПроверкиЗаполнения фигурируют реквизиты ИсчисленныйСН, ИсчисленныеСО, а также СчетЗатрат/СчетЗатратНУ и ВидРасчета с реквизитами ОблагаетсяСН/ОблагаетсяСО. Это подтверждает состав ТЧ из objects/. Полный список реквизитов и точные типы нужно дочитать по Documents/.../Ext/ManagerModule.bsl (процедура Рассчитать, 481 строка) — он в разборе не приведён построчно.

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

Обработчик Что делает (по реальному коду)
ЗаполнитьНаборыЗначенийДоступа (экспорт) RLS: заполняет наборы доступа по организации и структурному подразделению через ОбщегоНазначенияБК
ОбработкаЗаполнения При вводе на основании вызывает ЗаполнитьПоДокументуОснования; для структуры — ЗаполнитьЗначенияСвойств; затем ЗаполнениеДокументов.ЗаполнитьШапкуДокумента
ОбработкаПроверкиЗаполнения Главная валидация (см. ниже): обязательность видов налогов, счетов затрат, соответствие способа обложения СН/СО, проверка физлица у контрагента; формирует массив непроверяемых реквизитов
ОбработкаПроведения При РучнаяКорректировка — сразу выход; иначе готовит параметры и делегирует формирование движений модулю РасчетЗарплатыСервер по каждому включённому налогу
ПриКопировании Ставит дату на текущую дату пользователя; при отключённой вариативности счетов СО — ОчиститьСчетаЗатрат
ПередЗаписью РаботаСДоговорамиКонтрагентов.ЗаполнитьДоговорПередЗаписью — автозаполнение договора
ЗаполнитьПоДокументуОснования (экспорт) Если основание — ПоступлениеТоваровУслуг / ПоступлениеНМА / ПоступлениеДопРасходов, делегирует менеджеру документа
ОчиститьСчетаЗатрат Обнуляет СчетЗатрат, СчетЗатратНУ и субконто Дт (БУ и НУ)

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

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

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

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

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

    ПараметрыПроведения = Документы.РасчетНалоговПриПоступленииАктивовУслуг.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
    Если Отказ Тогда Возврат; КонецЕсли;

    Реквизиты = ПараметрыПроведения.Реквизиты[0];

    Если УчитыватьИПН Тогда
        // … сведения о доходах ИПН, расчёты с бюджетом, сведения о вычетах ИПН …
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаИПНСведенияОДоходах, "ИПНСведенияОДоходах", Движения, Отказ);
        РасчетЗарплатыСервер.СформироватьДвиженияИПНРасчетыСБюджетом(Реквизиты, ПараметрыПроведения.ИсчисленныйИПН, Движения, Отказ, Реквизиты.УпрощенныйУчетИПНиОПВ);
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаСведенияОбИсчисленииВычетовИПН, "СведенияОбИсчисленииВычетовИПН", Движения, Отказ);
    КонецЕсли;

    Если УчитыватьОПВ Тогда
        // ОПВ к перечислению (при упрощённом учёте), сведения о доходах ОПВ, расчёты с фондами …
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаОПВСведенияОДоходах, "ОПВСведенияОДоходах", Движения, Отказ);
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаИсчисленныйОПВ, "ОПВРасчетыСФондами", Движения, Отказ);
    КонецЕсли;

    Если УчитыватьВОСМС Тогда
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаВОСМССведенияОДоходах, "ВОСМССведенияОДоходах", Движения, Отказ);
        РасчетЗарплатыСервер.СформироватьДвиженияВОСМСРасчетыСФондами(Реквизиты, ПараметрыПроведения.ИсчисленныеВОСМС, Движения, Отказ, Реквизиты.УпрощенныйУчетИПНиОПВ);
    КонецЕсли;

    // взаиморасчёты с физлицами и погашение задолженности
    РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаВзаиморасчетыСКонтрагентами, "ВзаиморасчетыОрганизацийСКонтрагентамиФизЛицами", Движения, Отказ);
    УправлениеВзаиморасчетамиСервер.СформироватьДвиженияПогашениеЗадолженности(ТаблицаВзаиморасчеты, ПараметрыПроведения.РеквизитыПогашенияЗадолженности, Движения, Отказ);

    Если УчитыватьСН И Реквизиты.ОрганизацияЯвляетсяПлательщикомСН Тогда
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаСНСведенияОДоходах, "СНСведенияОДоходах", Движения, Отказ);
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаИсчисленныйСН, "СНИсчисленный", Движения, Отказ);
    КонецЕсли;

    Если УчитыватьСО Тогда
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаСОСведенияОДоходах, "СОСведенияОДоходах", Движения, Отказ);
        РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаИсчисленныйСО, "СОРасчетыСФондами", Движения, Отказ);
    КонецЕсли;

    // отражение затрат по СН и СО в регл. учёте + постоянные разницы НУ
    РасчетЗарплатыСервер.СформироватьДвиженияОтраженияЗатратПоСНВРеглУчете(ТаблицаЗатратПоСоциальномуНалогу, Движения, Отказ);
    РасчетЗарплатыСервер.СформироватьДвиженияОтраженияЗатратПоСОВРеглУчете(ПараметрыПроведения.ТаблицаЗатратПоСоциальнымОтчислениям, Движения, Отказ);
    ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ(ПараметрыПроведения.Реквизиты, Движения, Отказ);

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

Кто что формирует (вызов → смысл):

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

Важные детали из кода: - РучнаяКорректировка = Истина → авто-проведение полностью пропускается (Возврат сразу после ПодготовитьНаборыЗаписейКПроведению) — движения остаются под ручным управлением. - Состав движений динамический: каждая ветка (Если УчитыватьИПН, Если УчитыватьОПВ, …) включается своим флагом. СН формируется только если УчитыватьСН И Реквизиты.ОрганизацияЯвляетсяПлательщикомСН. - Перед расчётами с бюджетом/фондами всегда пишутся «Сведения о доходах» — это база для отчётности (формы 200.00 и т. п.). - Бухгалтерское отражение затрат по СН/СО идёт через специализированные процедуры …ОтраженияЗатратПо…ВРеглУчете, то есть конкретные счета определяются логикой РасчетЗарплатыСервер/учётной политикой, а не «плоскими» проводками в документе.

⚠️ Несостыковка [KZ30-RNP-0004]. Разбор objects/ утверждает, что документ пишет проводки в регистры Типовой/Налоговый «Дт СчётЗатрат Кт СчётУчётаРасчётов с субконто». В реальном ОбработкаПроведения явных движений по РегистрБухгалтерии.Типовой/Налоговый нет — есть только регистры накопления (зарплатные/налоговые) и отражение затрат по СН/СО + постоянные разницы НУ через профильные модули. Источник истины — реальный код и отчёт «Движения документа» на проведённом объекте. Возможно, бухгалтерские проводки формируются внутри РасчетЗарплатыСервер.* или в ManagerModule/ПроведениеРасчетовСервер — это нужно проверить отдельно (см. issues).
💼 Партнёру / внедренцу. «Налоги посчитались не так» → смотреть не в документ, а в:

1) ВидРасчета (способы обложения ИПН/ОПВ/СН/СО/ВОСМС — реквизиты ОблагаетсяСН, ОблагаетсяСО и т. п.); 2) регистры ставок — СведенияОСтавкахОСМС, СведенияОСтавкахНалоговСборовОтчислений (нет ставки на период → налог не посчитается); 3) статусы организации — плательщик СН/ОПВ/налога на прибыль (УчетнаяПолитикаСервер.ОрганизацияЯвляетсяПлательщикомСН, ПроцедурыНалоговогоУчета); 4) регламентированный производственный календарь на месяц (без него Рассчитать прерывается). Документ — оркестратор; вся «начинка» расчёта и движений в РасчетЗарплатыСервер и ManagerModule.Рассчитать.

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

Реальная логика (фрагменты из кода):

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

РасчетЗарплатыСервер (ядро расчёта и формирования движений по всем налогам/взносам — ~29 вызовов), ПроцедурыНалоговогоУчета (статусы плательщика, постоянные разницы НУ), УчетнаяПолитикаСервер (плательщик СН), УправлениеВзаиморасчетамиСервер (взаиморасчёты/погашение задолженности), ПроведениеСервер (наборы записей), РаботаСДоговорамиКонтрагентов (договор при записи), ЗаполнениеДокументов/ЗаполнениеДокументов.ЗаполнитьШапкуДокумента, ОбщегоНазначения/ОбщегоНазначенияБК. Реальное проведение для менеджера делегируется ПроведениеРасчетовСервер (по разбору ManagerModule).

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

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

🆕 Что нового

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