Документ «Расчёт удержаний работников организаций»
Документ ежемесячно рассчитывает все удержания из зарплаты работников: ИПН, ОПВ, ВОСМС, налоговые вычеты и прочие удержания (алименты, исполнительные листы, займы). Запускается после начисления зарплаты и перед выплатой. Бухгалтерских проводок не делает — пишет только в специализированные регистры накопления и сведений по зарплате; проводки в учёт формирует отдельный документ «Отражение зарплаты в регламентированном учёте».
🎯 Что это и зачем
После того как зарплата начислена, из неё нужно удержать обязательные платежи и прочие суммы, прежде чем выдать работнику деньги на руки. Документ «Расчёт удержаний работников организаций» автоматизирует этот шаг:
- ИПН — индивидуальный подоходный налог;
- ОПВ — обязательные пенсионные взносы (удерживаются из дохода работника);
- ВОСМС — взносы на обязательное социальное медицинское страхование;
- Налоговые вычеты по ИПН — уменьшают облагаемую базу налога;
- Прочие удержания — алименты и иные удержания по исполнительным листам, возврат займов, профсоюзные взносы и т. п.
Это ключевое звено цепочки расчёта зарплаты: начисление → удержания → выплата → отражение в учёте. Документ рассчитывает суммы по каждому работнику и регистрирует их в регистрах, из которых затем формируются ведомость на выплату, платёжные документы в бюджет и фонды, а также регламентированная отчётность (форма 200.00).
Кто работает: расчётчики зарплаты и бухгалтеры по зарплате, ежемесячно по каждой организации.
🧭 Где найти в программе
Раздел «Зарплата» → пункт со списком документов «Расчёт удержаний работников организаций». Откроется журнал документов; новый создаём кнопкой «Создать».
Документ.РасчетУдержанийРаботниковОрганизаций отсутствует в navigation-map.json (на момент релиза 3.0.72.1 в карте есть только НачислениеЗарплатыРаботникамОрганизаций в разделе «Зарплата»). Раздел «Зарплата» определён по подсистеме и по соседнему зарплатному документу; точный пункт меню/команду журнала нужно сверить в конфигураторе (командный интерфейс подсистемы «Зарплата»). Помечено как пробел навигации.👤 Часть 1. Для пользователя
Проходим по шагам: от пустого документа до проведённого расчёта удержаний и проверки результата по регистрам и отчётам.
Урок 1. Ежемесячный расчёт удержаний по всей организации
Когда: в конце расчётного месяца, после проведения начисления зарплаты и перед формированием ведомости на выплату.
Шаг 1. Создаём документ
Раздел «Зарплата» → журнал «Расчёт удержаний работников организаций» → «Создать».
Шаг 2. Заполняем шапку
- Организация — подставится текущая организация пользователя или выбираем вручную (обязательно).
- Период регистрации — месяц, за который считаем удержания, например «Декабрь 2024» (обязательно). От месяца зависят ставки, лимиты и схема вычетов.
- Дата — дата документа; должна попадать в месяц периода и быть рабочим днём (см. подсказку ниже).
- Подразделение организации — опционально, чтобы ограничить расчёт сотрудниками одного подразделения.
Шаг 3. Подбираем сотрудников
Нажимаем «По всем сотрудникам» — система заполнит список физлиц по организации (и подразделению, если оно указано). Альтернатива — «Списком сотрудников»: открывается диалог выбора, отмечаем нужных работников.
Шаг 4. Запускаем расчёт
Нажимаем «Рассчитать». Расчёт выполняется на сервере в строгой последовательности: налоговые вычеты → ИПН, ОПВ, ВОСМС → прочие удержания.
Шаг 5. Проверяем результат по вкладкам
Переходим по вкладкам и сверяем суммы: - Подоходный налог — облагаемая база, исчисленный ИПН, применённые вычеты; - Пенсионные взносы — облагаемая база и сумма ОПВ; - Взносы ОСМС — облагаемая база и сумма ВОСМС; - Прочие удержания — вид удержания, документ-основание, размер и результат.
Шаг 6. Проводим
«Провести» или «Записать и закрыть». Документ зарегистрирует удержания в регистрах по зарплате. Проверить результат можно через отчёт «Движения документа» (кнопка на форме) — там видны записи по регистрам взаиморасчётов, расчётов с бюджетом/фондами и сведений о доходах.
Урок 2. Расчёт по выбранным сотрудникам и ручная корректировка
Когда: нужно пересчитать удержания только по части работников (например, после корректировки начислений отдельным сотрудникам).
- Создаём/открываем документ, заполняем Организацию и Период регистрации.
- «Списком сотрудников» → отмечаем нужных работников.
- «Рассчитать» — суммы посчитаются только по выбранным.
- При необходимости правим суммы вручную и ставим флаг «Ручная корректировка», чтобы повторное проведение не перезаписало ваши значения.
Урок 3. Налоговые вычеты и удержания по исполнительным листам
Налоговые вычеты по ИПН. Чтобы вычеты применились, в системе должны быть зарегистрированы заявления (документ «ИПН Заявление на предоставление вычета»). После расчёта проверьте вкладку вычетов: Разрешённый вычет (максимум по нормативу) и Применённый вычет (фактически использованный — может быть меньше, если дохода не хватает). Вычет уменьшает облагаемую базу ИПН.
Удержания по исполнительным листам (алименты и пр.). Основанием служит документ «Исполнительный лист» с видом удержания и размером. После расчёта на вкладке «Прочие удержания» проверьте: Физлицо, Вид расчёта, Документ-основание (ссылка на исполнительный лист), Размер (процент или фиксированная сумма) и Результат (итоговая сумма с учётом ограничений).
🛠 Часть 2. Для программиста
Источник: реальный код релиза 3.0.72.1 (Documents/РасчетУдержанийРаботниковОрганизаций/Ext/ObjectModule.bsl и Ext/ManagerModule.bsl), плюс разбор objects/ и business-logic/.
Структура объекта
Реквизиты шапки. Обязательные (fill_value_required: ShowError): Организация, ПериодРегистрации. Прочие: СтруктурноеПодразделение, ПодразделениеОрганизации (фильтр сотрудников/аналитика), ВидРасчета (ПланВидовРасчета.УдержанияОрганизаций, для документов с единственным видом), РучнаяКорректировка (Булево — отключает авторасчёт при проведении), стандартные Дата, Ответственный, Автор, Комментарий, служебный КраткийСоставДокумента.
Табличные части:
| ТЧ | Назначение | Ключевые колонки |
|---|---|---|
ИсчисленныйИПН |
Подоходный налог по работнику | ФизЛицо, МесяцНалоговогоПериода, ОблагаемаяБаза, Налог, ПримененныйВычет, РазрешенныйВычет |
ИсчисленныйОПВ |
Пенсионные взносы (удержание) | ФизЛицо, МесяцНалоговогоПериода, ОблагаемаяБаза, Взнос |
ИсчисленныеВОСМС |
Взносы ОСМС | ФизЛицо, МесяцНалоговогоПериода, ОблагаемаяБаза, Взнос |
Удержания |
Прочие удержания (ИЛ, алименты, займы) | ФизЛицо, ВидРасчета, ДокументОснование, Размер, Результат |
НалоговыеВычеты |
Вычеты ИПН до 2018 г. (исторические) | ФизЛицо, МесяцНалоговогоПериода, ВычетИПН, ДокументОснование, СуммаВычета |
ВычетыИПН |
Вычеты ИПН с 2018 г. | ФизЛицо, МесяцНалоговогоПериода, ВидВычета, РазрешенныйВычет, ПримененныйВычет |
ФизическиеЛица |
Служебная ТЧ для наборов доступа | ФизическоеЛицо |
Жизненный цикл проведения (обработчики ObjectModule)
| Обработчик | Что делает |
|---|---|
ОбработкаЗаполнения |
Заполняет шапку при создании (удаляет служебный Автор из структуры заполнения); вызывает ЗаполнениеДокументов.ЗаполнитьШапкуДокумента |
ОбработкаПроверкиЗаполнения |
Если заполнена хотя бы одна расчётная ТЧ (ИПН/ОПВ/ВОСМС/Удержания/Вычеты) — исключает сами ТЧ из проверки обязательности (контроль идёт по факту наличия строк) |
ПередЗаписью |
Формирует КраткийСоставДокумента по физлицам из всех расчётных ТЧ; пропускается при ОбменДанными.Загрузка |
ОбработкаПроведения |
Формирует движения по регистрам накопления/сведений через РасчетЗарплатыСервер; при РучнаяКорректировка — выходит сразу после подготовки наборов |
ПриКопировании |
Ставит Дата = начало текущего дня пользователя |
ЗаполнитьНаборыЗначенийДоступа (обл. «УправлениеДоступом») |
Наборы RLS по организации, структурному подразделению и списку физлиц |
Как формируется проведение — реальный код (3.0.72.1)
Главное: документ не делает бухгалтерских проводок. ОбработкаПроведения собирает таблицы движений и делегирует их формирование общему модулю РасчетЗарплатыСервер. Конкретные суммы готовятся запросами в ManagerModule.ПодготовитьПараметрыПроведения. Все целевые регистры — накопления и сведений по зарплате, ни одного регистра бухгалтерии.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 95), сокращённо с сохранением порядка:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект, Ложь);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями
КонецЕсли;
ПараметрыПроведения = Документы.РасчетУдержанийРаботниковОрганизаций.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда Возврат; КонецЕсли;
Реквизиты = ПараметрыПроведения.Реквизиты[0];
// ИПН: сведения о доходах + расчёты с бюджетом
ТаблицаИПНСведенияОДоходах = РасчетЗарплатыСервер.ПодготовитьТаблицуСведенияОДоходах(Реквизиты,
ПараметрыПроведения.ИПНСведенияОДоходах, "Целиком", Движения.ИПНСведенияОДоходах.ВыгрузитьКолонки(), Отказ);
РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаИПНСведенияОДоходах, "ИПНСведенияОДоходах", Движения, Отказ);
РасчетЗарплатыСервер.СформироватьДвиженияИПНРасчетыСБюджетом(Реквизиты,
ПараметрыПроведения.ИсчисленныйИПН, Движения, Отказ, Реквизиты.УпрощенныйУчетИПНиОПВ);
// ОПВ: сведения о доходах + расчёты с фондами
ТаблицаОПВСведенияОДоходах = РасчетЗарплатыСервер.ПодготовитьТаблицуСведенияОДоходах(Реквизиты,
ПараметрыПроведения.ОПВСведенияОДоходах, "Целиком", Движения.ОПВСведенияОДоходах.ВыгрузитьКолонки(), Отказ);
РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаОПВСведенияОДоходах, "ОПВСведенияОДоходах", Движения, Отказ);
ТаблицаИсчисленныйОПВ = РасчетЗарплатыСервер.ПодготовитьТаблицуИсчисленныхНалоговВзносовОтчислений(Реквизиты,
ПараметрыПроведения.ИсчисленныйОПВ, Движения.ОПВРасчетыСФондами.ВыгрузитьКолонки(), Отказ);
РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаИсчисленныйОПВ, "ОПВРасчетыСФондами", Движения, Отказ);
// ВОСМС: сведения о доходах + расчёты с фондами (аналогично ОПВ)
// … ВОСМССведенияОДоходах → "ВОСМССведенияОДоходах", ИсчисленныеВОСМС → "ВОСМСРасчетыСФондами" …
Если Реквизиты.УпрощенныйУчетИПНиОПВ Тогда
// ОПВ/ВОСМС "ПодлежитПеречислениюВФонды" — упрощённый учёт ИПН и ОПВ
// … СформироватьДвижения → "ОПВПодлежитПеречислениюВФонды" / "ВОСМСПодлежитПеречислениюВФонды" …
ИначеЕсли Реквизиты.ЕжемесячныйРасчетВзносовИОтчисленийЗаИП Тогда
// та же пара регистров — для ежемесячного расчёта взносов ИП
КонецЕсли;
// Взаиморасчёты: с получателями ИЛ, с работниками, с контрагентами-физлицами (ВидДвиженияНакопления.Приход)
РасчетЗарплатыСервер.СформироватьДвижения(…, "ВзаиморасчетыОрганизацийСПолучателямиИЛ", Движения, Отказ);
РасчетЗарплатыСервер.СформироватьДвижения(…, "ВзаиморасчетыСРаботникамиОрганизаций", Движения, Отказ);
РасчетЗарплатыСервер.СформироватьДвижения(…, "ВзаиморасчетыОрганизацийСКонтрагентамиФизЛицами", Движения, Отказ);
// Выплаченные доходы по НУ
РасчетЗарплатыСервер.СформироватьДвижения(…, "ВыплаченныеДоходыРаботникамОрганизацийНУ", Движения, Отказ);
// Вычеты ИПН (сведения об исчислении вычетов)
РасчетЗарплатыСервер.СформироватьДвижения(…, "СведенияОбИсчисленииВычетовИПН", Движения, Отказ);
КонецПроцедуры
Разбор ключевых моментов кода:
РучнаяКорректировка = Истина→ авто-проведение пропускается (Возвратсразу послеПодготовитьНаборыЗаписейКПроведению) — движения заполняет пользователь.- Все данные сумм готовятся запросами в
ПодготовитьПараметрыПроведения(ManagerModule.bsl, стр. 1764): пакетТекстЗапроса…по каждому регистру (ИсчисленныйИПН,ИПНСведенияОДоходах,ИсчисленныйОПВ,ОПВСведенияОДоходах,ОПВПодлежитПеречислениюВФонды,ИсчисленныеВОСМС,ВОСМССведенияОДоходах,ВОСМСПодлежитПеречислениюВФонды, взаиморасчёты,ВыплаченныеДоходыНУи др.). - Две развилки учётной политики, влияющие на набор движений:
УпрощенныйУчетИПНиОПВиЕжемесячныйРасчетВзносовИОтчисленийЗаИП(добавляют движения в регистры «…ПодлежитПеречислениюВФонды»). Отдельная веткаРаспределятьНалогиПоСтруктурнымЕдиницамуправляет распределением по подразделениям ещё на этапе подготовки таблиц. - Ни одного обращения к регистру бухгалтерии: в
ObjectModuleиManagerModuleнетДвижения.Типовой/Движения.Налоговый/РегистрБухгалтерии/СчётДт/СчётКт. Проверено поиском по реальному коду 3.0.72.1.
Движения по регистрам
Все движения — регистры накопления и сведений по зарплате (бухгалтерских проводок нет). Имена регистров взяты прямо из обращений Движения.<Имя> в коде:
| Регистр | Тип / движение | Что пишет |
|---|---|---|
ИПНСведенияОДоходах |
Накопление | Доход, облагаемая база, исчисленный ИПН (для формы 200.00) |
ИПНРасчетыСБюджетом |
Накопление | Расчёты с бюджетом по ИПН (через СформироватьДвиженияИПНРасчетыСБюджетом) |
ОПВСведенияОДоходах / ОПВРасчетыСФондами |
Накопление | Облагаемый доход и расчёты с ЕНПФ по ОПВ |
ВОСМССведенияОДоходах / ВОСМСРасчетыСФондами |
Накопление | Облагаемый доход и расчёты с фондом по ВОСМС |
ОПВПодлежитПеречислениюВФонды / ВОСМСПодлежитПеречислениюВФонды |
Накопление | Обязательства к перечислению — при упрощённом учёте ИПН/ОПВ либо ежемесячном расчёте за ИП |
ВзаиморасчетыСРаботникамиОрганизаций |
Накопление / Приход | Задолженность перед работниками (удержания уменьшают сумму к выплате) |
ВзаиморасчетыОрганизацийСПолучателямиИЛ |
Накопление / Приход | Обязательства перед получателями по исполнительным листам |
ВзаиморасчетыОрганизацийСКонтрагентамиФизЛицами |
Накопление / Приход | Расчёты с физлицами-контрагентами (нестандартные случаи) |
ВыплаченныеДоходыРаботникамОрганизацийНУ |
Накопление / Приход | Выплаченные доходы для налогового учёта |
СведенияОбИсчисленииВычетовИПН |
Накопление | Детализация применённых вычетов ИПН |
objects/ (раздел 6.3) перечисляет 13 регистров и описывает движения по ВзаиморасчетыСРаботниками как тип «Расход». В реальном коде 3.0.72.1 видно 10 уникальных имён регистров в ОбработкаПроведения, а взаиморасчёты формируются с ВидДвиженияНакопления.Приход (знак суммы определяет уже РасчетЗарплатыСервер при подготовке таблицы). Источник истины — код; описание objects/ помечено как расхождение. Полный список движений сверяйте по отчёту «Движения документа» на проведённом документе.ManagerModule (business-logic) встречается опечатка имени регистра «ИРНСведенияОДоходах» — в коде такого регистра нет; корректное имя — ИПНСведенияОДоходах / СведенияОбИсчисленииВычетовИПН. Информационно, на содержание методички не влияет.Где появляются бухгалтерские проводки (счета КЗ)
Сам документ удержаний проводок не делает. В регламентированный учёт зарплата попадает через документ «Отражение зарплаты в регламентированном (бухгалтерском) учёте», который читает накопленные регистры и формирует проводки по плану счетов РК. Ориентировочно (точные счета зависят от настроек отражения и учётной политики):
- удержания уменьшают обязательство по оплате труда — счёт 3350 «Краткосрочная задолженность по оплате труда»;
- ИПН к перечислению — 3120;
- ОПВ / соц. отчисления / соц. налог / ВОСМС — группа 3210 / 3220 / 3230 / 3240 (по виду платежа);
- расходы на оплату труда (база начисления) — 7210 / 8410.
Валидации (ОбработкаПроверкиЗаполнения и смежные)
- Шапка:
ОрганизацияиПериодРегистрацииобязательны (ShowError). - Расчётные ТЧ: если заполнена хотя бы одна из
ИсчисленныйИПН/ИсчисленныйОПВ/ИсчисленныеВОСМС/Удержания/НалоговыеВычеты— эти ТЧ исключаются из проверки обязательности (контроль ведётся по наличию строк, а не по флагам). Если все расчётные ТЧ пусты — проведение вернёт ошибку заполнения. - Производственный календарь: должен быть заполнен на весь месяц периода — проверяется в начале
ManagerModule.Рассчитать(черезПроцедурыУправленияПерсоналомСервер), иначе расчёт прерывается. - Дата документа (форма): должна быть рабочим днём месяца —
ДатаПриИзменениипредлагает заменить на последний рабочий день (предупреждение, не блокировка). - Организация ↔ подразделение (форма):
СтруктурноеПодразделениеОрганизацияПриИзмененииочищает подразделение, не принадлежащее организации.
Зависимости (общие модули)
РасчетЗарплатыСервер (формирование всех движений; в ObjectModule ~30 вызовов), ПроведениеСервер (подготовка наборов записей), ЗаполнениеДокументов (заполнение шапки), ПроцедурыУправленияПерсоналомСервер (краткий состав, проверка календаря), ОбщегоНазначения / ОбщегоНазначенияБКВызовСервера (служебные), УправлениеДоступом / УправлениеДоступомСлужебный (RLS-наборы). Расчётная логика форм — ПроведениеРасчетовСервер (Рассчитать, РассчитатьНалогиИВзносы, РассчитатьУдержания, РассчитатьНалоговыеВычеты).
УпрощенныйУчетИПНиОПВ, ЕжемесячныйРасчетВзносовИОтчисленийЗаИП, поддержка структурных подразделений; (4) актуальность исполнительных листов и заявлений на вычеты. «Нет проводок по зарплате» — это нормально: проводки делает «Отражение зарплаты в регламентированном учёте», его и нужно создать/провести после удержаний и ведомости.
РучнаяКорректировка = Истина— авто-проведение пропускается (Возвратв началеОбработкаПроведения): движения заполняет пользователь. Не запускайте авторасчёт, если флаг стоит.- Документ не создаётся «на основании» (
based_onпуст); ссылки на источники живут в колонкахДокументОснованиеТЧ (ИсполнительныйЛист,ИПНЗаявлениеНаПредоставлениеВычета).- Схема вычетов зависит от периода: до 01.01.2018 — ТЧ
НалоговыеВычеты, с 2018 —ВычетыИПН. УчитывайтеПериодРегистрациипри автозаполнении.- Тяжёлая логика — в
ManagerModule:Автозаполнение,Рассчитать,РассчитатьНалогиИВзносы,РаспределитьРезультатыПоСтруктурнымЕдиницам(распределение по подразделениям). Подготовка движений —ПодготовитьПараметрыПроведения(запросы по каждому регистру).- Имена наборов движений в
Движения.<Имя>— единственный надёжный источник списка регистров; на текстовые перечни вobjects/не опирайтесь без сверки.
🔗 Связанные разделы
- nachislenie-zarplaty-rabotnikam-organizacij — начисление зарплаты (источник базы для удержаний)
- otrazhenie-zarplaty-v-reglamentirovannom-uchete — формирует бухгалтерские проводки по зарплате
- vedomost-na-vyplatu-zarplaty — выплата зарплаты за вычетом удержаний
- vvod-svedenij-o-planovyh-uderzhaniyah — плановые удержания работников
- registraciya-razovyh-uderzhanij — разовые удержания
- ispolnitelnyj-list — основание для удержаний по алиментам/исполнительным производствам
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |