Документ «Платёжный ордер: поступление денежных средств»
Документ отражает зачисление денег на расчётный (валютный) счёт организации: оплату от покупателя, возврат от поставщика, заём, инкассацию, покупку/продажу валюты. Гасит дебиторскую/кредиторскую задолженность по расшифровке платежа, ставит счёт на оплату в статус «оплачен» и формирует банковские проводки. Рабочая лошадка раздела «Банк и касса».
🎯 Что это и зачем
Когда банк прислал выписку и на счёт организации пришли деньги, это поступление надо отразить в учёте: показать рост остатка на расчётном счёте (счёт 1030), закрыть долг контрагента (по какому договору/сделке) и пометить, что выставленный счёт оплачен. Всё это делает «Платёжный ордер: поступление денежных средств».
Один документ закрывает шесть типов входящих операций (поле Вид операции), и от выбранного вида зависит и набор полей формы, и логика проводок:
- Оплата покупателя — зачисление оплаты за отгруженные товары/услуги;
- Возврат денежных средств поставщиком — поставщик вернул аванс/переплату;
- Расчёты по кредитам и займам — получение/возврат заёмных средств;
- Поступления от продажи иностранной валюты — на счёт пришла нацвалюта от продажи валютной выручки;
- Приобретение иностранной валюты — на валютный счёт зачислена купленная валюта;
- Прочее поступление безналичных денежных средств — всё остальное (инкассация, прочие зачисления).
Кто работает: бухгалтер банковского участка, ежедневно, по факту получения выписки. Документ часто создаётся на основании реализации, возврата или счёта на оплату — тогда контрагент, договор и сумма подставляются автоматически.
🧭 Где найти в программе
Раздел «Банк и касса» → пункт «Платёжные ордера». Откроется журнал; новый документ создаём кнопкой «Создать» и сразу выбираем вид операции.
(Маршрут по navigation-map.json: section: "Банк и касса", item: "Платежные ордера", createButton: "Создать". В некоторых вариантах интерфейса Fresh поступления и списания показаны единым журналом «Платёжные ордера» или в составе «Банковских выписок» — фактический пункт сверьте в своей базе.)
👤 Часть 1. Для пользователя
Идём по шагам: от пустого документа до проведённого поступления и проверки проводок. Главное правило — сначала выбрать вид операции, остальные поля зависят от него.
Урок 1. Оплата от покупателя
Когда: покупатель перечислил оплату за товары/услуги, в выписке — приход на расчётный счёт.
Шаг 1. Создаём документ и выбираем вид операции
«Создать» → Вид операции = «Оплата покупателя». От вида операции зависит видимость табличной части и состав обязательных полей.
Шаг 2. Заполняем шапку
- Организация — получатель платежа (подставится основная).
- Счёт организации — расчётный счёт, на который пришли деньги. При выборе подтянутся валюта документа и счёт учёта денег (
1030). - Контрагент — плательщик (покупатель). Для оплаты покупателя контрагент обязателен.
- Сумма документа — общая сумма поступления из выписки.
- Вид учёта НУ — нужен, только если организация — плательщик КПН и включён учёт КПН (иначе поле проверяться не будет).
Шаг 3. Заполняем расшифровку платежа
Табличная часть «Расшифровка платежа» — это распределение суммы по основаниям. Заполняем построчно: - Договор контрагента — по какому договору оплата; - Сделка — документ-основание (реализация, счёт), который гасится; - Сумма платежа — сумма по строке (сумма строк должна совпасть с суммой документа); - проверяем автозаполнение ставки/суммы НДС и статьи движения денежных средств.
Шаг 4. Проверяем назначение и реквизиты выписки
Поле «Назначение платежа» — текст из банковской выписки. Номер/дата входящего документа заполнятся автоматически (из номера ордера и даты), если вы их не указали.
Шаг 5. Проводим и проверяем учёт
«Провести» или «Записать и закрыть». Чтобы убедиться в правильности — открываем Дт/Кт (отчёт о движениях документа).
Урок 2. Возврат от поставщика и расчёты по займам
Отличия от оплаты покупателя — только в виде операции и счетах расчётов (подставляются автоматически):
- Возврат денежных средств поставщиком — выбираем этот вид, контрагент = поставщик, в расшифровке указываем договор и сделку (аванс/поставку), которые возвращаются.
- Расчёты по кредитам и займам — выбираем этот вид; здесь, в отличие от прочих, может потребоваться счёт расчётов в налоговом учёте построчно (если организация — плательщик КПН и ведётся учёт временных/постоянных разниц). Поле НУ-счёта станет обязательным.
Урок 3. Покупка и продажа валюты
Валютные операции требуют, чтобы валюта документа правильно соотносилась с валютой регламентированного учёта (для Казахстана — тенге, KZT):
- Приобретение иностранной валюты — на валютный счёт зачислена купленная валюта. Валюта документа должна ОТЛИЧАТЬСЯ от KZT (вы покупаете не-тенге). Валюта договора, наоборот, должна быть равна KZT.
- Поступления от продажи иностранной валюты — на счёт пришли тенге от продажи валюты. Валюта документа должна РАВНЯТЬСЯ KZT, а валюта договора — отличаться (это реализуемая валюта).
Урок 4. Прочее поступление и инкассация
Вид операции «Прочее поступление безналичных денежных средств» — для зачислений, которые не гасят расчёты с конкретным контрагентом по сделке (например, инкассация наличных из кассы на расчётный счёт, прочие приходы).
- Для прочего поступления расшифровка платежа не используется — контрагент по сделке не обязателен.
- Для прочего поступления доступно поле Структурное подразделение-отправитель (для остальных видов оно автоматически приравнивается к подразделению-получателю).
Урок 5. Создание на основании
Чтобы не вводить реквизиты заново, документ удобно создавать «на основании». Поддерживаются (из списка «Вводится на основании»): Реализация ТМЗ и услуг, Возврат товаров поставщику, Счёт на оплату покупателю, Оплата от покупателя платёжной картой, акты и передачи ОС/НМА и др. При этом контрагент, договор, сумма и строки расшифровки заполняются автоматически, а реквизиты расчётного документа подтягиваются из основания.
ПередЗаписью.🛠 Часть 2. Для программиста
Источник истины — реальный код релиза 3.0.72.1: Documents/ПлатежныйОрдерПоступлениеДенежныхСредств/Ext/ObjectModule.bsl (модуль небольшой, 343 строки, прочитан целиком). Дополнительно использованы разборы objects/ и business-logic/. Где objects/ расходится с кодом — приоритет у кода, расхождения вынесены в issues.
Структура объекта
Ключевые реквизиты шапки (по реальному коду): ВидОперации (Перечисление.ВидыОперацийПоступлениеБезналичныхДенежныхСредств), Организация, ВалютаДокумента, СуммаДокумента, Контрагент, ВидУчетаНУ, СчетУчетаРасчетовСКонтрагентомБУ, СчетУчетаРасчетовСКонтрагентомНУ, СтруктурноеПодразделениеПолучатель, СтруктурноеПодразделениеОтправитель. Управляющие флаги/служебные: УчитыватьКПН, Оплачено (выставляется в Истина при записи), РучнаяКорректировка, НомерВходящегоДокумента, ДатаВходящегоДокумента, Ответственный.
Перечисление видов операции ВидыОперацийПоступлениеБезналичныхДенежныхСредств. Значения, явно встречающиеся в ObjectModule.bsl: ОплатаПокупателя, РасчетыПоКредитамИЗаймам, ПоступленияОтПродажиИностраннойВалюты, ПриобретениеИностраннойВалюты, ПрочееПоступлениеБезналичныхДенежныхСредств. Вид «Возврат денежных средств поставщиком» в этом модуле по имени не упоминается (обрабатывается общей веткой погашения задолженности) — точный состав перечисления сверяйте по метаданным/ManagerModule.
Табличная часть РасшифровкаПлатежа (используется не для всех видов — наличие определяется функцией ЕстьРасшифровкаПлатежа(ВидОперации)): ДоговорКонтрагента, Сделка, СуммаПлатежа, КурсВзаиморасчетов, КратностьВзаиморасчетов, СуммаВзаиморасчетов, СтавкаНДС, СуммаНДС, СтатьяДвиженияДенежныхСредств, СчетУчетаРасчетовСКонтрагентомБУ, СчетУчетаРасчетовПоАвансам, СчетУчетаРасчетовСКонтрагентомНУ, СчетНаОплату. Ключевой инвариант из кода: табличная часть «Расшифровка платежа» имеет хотя бы одну строку всегда, независимо от вида операции, — поэтому при «бесрасшифровочных» видах обязательные реквизиты строк программно исключаются из проверки.
objects/. Авто-разбор objects/ перечисляет в шапке поля СчетОрганизации, СчетБанк, СтатьяДвиженияДенежныхСредств, КурсНаДатуПриобретенияРеализацииВалюты, СтатьяДДС…Инкассация, СубконтоКтБУ1…3 и описывает операции «Инкассация» как отдельный вид. В реальном ObjectModule.bsl 3.0.72.1 этих имён нет (инкассация попадает в «Прочее поступление»). Состав реквизитов шапки сверяйте по метаданным/форме конкретного релиза. См. issues.Жизненный цикл (обработчики ObjectModule)
| Обработчик | Что делает (по реальному коду) |
|---|---|
ЗаполнитьНаборыЗначенийДоступа (экспорт, RLS) |
Наборы доступа по Организация + СтруктурноеПодразделениеПолучатель через ОбщегоНазначенияБК |
ОбработкаПроверкиЗаполнения |
Гибко формирует список непроверяемых реквизитов от вида операции/КПН/учёта по договорам; проверяет валюту vs валюта регл. учёта; сверяет итог расшифровки с суммой документа; построчная проверка ТЧ |
ОбработкаЗаполнения |
Заполнение «на основании» (ЗаполнитьПоДокументуОснованию) либо из структуры; реквизиты расчётного документа; автор/ответственный |
ПередЗаписью |
Договор в ТЧ перед записью; отправитель=получатель (кроме «Прочее»); автонумерация; авто-НомерВходящегоДокумента/Дата; Оплачено = Истина; при отмене проведения «Оплаты покупателя» — пересбор статусов счетов на оплату |
ПриКопировании |
Очистка номера/даты входящего; перезаполнение реквизитов расчётного документа |
ОбработкаПроведения |
Готовит наборы записей и таблицы, делегирует формирование движений общим модулям учёта (см. ниже) |
ПроверитьЗаполнениеТабличнойЧастиПострочно (служебная) |
Сопоставление валюты договора и документа для валютных видов; для остальных — ВозможноПроведениеВ_БУ_НУ |
Как формируется проведение — реальный код (3.0.72.1)
Главное: проводки не «зашиты» в документ. ОбработкаПроведения собирает входные таблицы и делегирует формирование движений профильным общим модулям (УправлениеВзаиморасчетамиСервер, УправлениеДенежнымиСредствамиСервер, СтатусыДокументов, УчетДоходовРасходов, ПроцедурыНалоговогоУчета). Конкретные счета Дт/Кт определяются учётной политикой и настройками счетов, а не телом документа.
Источник: ObjectModule.bsl, процедура ОбработкаПроведения (стр. 224), целиком:
Процедура ОбработкаПроведения(Отказ, Режим)
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
Если РучнаяКорректировка Тогда
Возврат; // ручное управление движениями — авто-проведение пропускается
КонецЕсли;
ПараметрыПроведения = Документы.ПлатежныйОрдерПоступлениеДенежныхСредств.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
Если Отказ Тогда
Возврат;
КонецЕсли;
// ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ИНФОРМАЦИОННОЙ БАЗЫ
ТаблицаВзаиморасчеты = УправлениеВзаиморасчетамиСервер.ПодготовитьТаблицуВзаиморасчетовПогашениеЗадолженности(
ПараметрыПроведения.РасшифровкаПлатежа, ПараметрыПроведения.Реквизиты, Отказ);
// Изменение статуса счетов на оплату
ГрупповоеПерепроведение = Неопределено;
Если ЭтотОбъект.ДополнительныеСвойства.Свойство("ГрупповоеПерепроведение") Тогда
ГрупповоеПерепроведение = ЭтотОбъект.ДополнительныеСвойства.ГрупповоеПерепроведение;
Иначе
ГрупповоеПерепроведение = Ложь;
КонецЕсли;
Если Не ГрупповоеПерепроведение Тогда
ТаблицаСтатусовСчетов = СтатусыДокументов.ПодготовитьТаблицуСтатусовОплатыСчетов(
ПараметрыПроведения.ОплатаСчетов, ПараметрыПроведения.Реквизиты);
КонецЕсли;
// ФОРМИРОВАНИЕ ДВИЖЕНИЙ
УправлениеВзаиморасчетамиСервер.СформироватьДвиженияПогашениеЗадолженности(ТаблицаВзаиморасчеты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УправлениеДенежнымиСредствамиСервер.СформироватьДвиженияПриобретениеВалюты(ПараметрыПроведения.ПриобретениеВалюты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УправлениеДенежнымиСредствамиСервер.СформироватьДвиженияПродажаВалюты(ПараметрыПроведения.ПродажаВалюты,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УправлениеДенежнымиСредствамиСервер.СформироватьДвиженияПрочееПоступление(ПараметрыПроведения.РеквизитыПрочее,
Движения, Отказ);
// Переоценка валютных остатков - после формирования проводок всеми другими механизмами
ТаблицаПереоценкаДвиженийДокумента = УчетДоходовРасходов.ПодготовитьТаблицуПереоценкаВалютныхОстатковПоПроводкамДокумента(
ПараметрыПроведения.Реквизиты, Движения, Отказ);
УчетДоходовРасходов.СформироватьДвиженияПереоценкаВалютныхОстатков(ТаблицаПереоценкаДвиженийДокумента,
ПараметрыПроведения.Реквизиты, Движения, Отказ);
СтатусыДокументов.СформироватьДвиженияОплатаСчетов(
ПараметрыПроведения.ОплатаСчетов, ПараметрыПроведения.Реквизиты, Движения, Отказ);
Если Не ГрупповоеПерепроведение Тогда
СтатусыДокументов.СформироватьДвиженияСтатусовДокументов(
ТаблицаСтатусовСчетов, ПараметрыПроведения.Реквизиты);
КонецЕсли;
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ(ПараметрыПроведения.Реквизиты, Движения, Отказ);
КонецПроцедуры
Кто что формирует (вызов → смысл):
| Вызов в коде | Какой учёт пишет |
|---|---|
УправлениеВзаиморасчетамиСервер.СформироватьДвиженияПогашениеЗадолженности |
гашение дебиторской/кредиторской задолженности по расшифровке (оплата покупателя, возврат поставщика, займы) + банковская проводка по 1030 |
УправлениеДенежнымиСредствамиСервер.СформироватьДвиженияПриобретениеВалюты |
покупка иностранной валюты (зачисление на валютный счёт) |
УправлениеДенежнымиСредствамиСервер.СформироватьДвиженияПродажаВалюты |
поступления от продажи иностранной валюты |
УправлениеДенежнымиСредствамиСервер.СформироватьДвиженияПрочееПоступление |
прочие зачисления / инкассация (без расшифровки по сделке) |
УчетДоходовРасходов.СформироватьДвиженияПереоценкаВалютныхОстатков |
курсовая переоценка валютных остатков (строго после всех прочих проводок) |
СтатусыДокументов.СформироватьДвиженияОплатаСчетов |
регистр оплаты счетов: фиксирует, что счёт на оплату оплачен |
СтатусыДокументов.СформироватьДвиженияСтатусовДокументов |
статусы документов (счетов на оплату) — пропускается при групповом перепроведении |
ПроцедурыНалоговогоУчета.ОтразитьПостоянныеРазницыВНУ |
постоянные разницы в налоговом учёте (КПН) |
Важные детали из кода:
- РучнаяКорректировка = Истина → авто-проведение полностью пропускается (Возврат в начале) — движения заполняет пользователь.
- Один документ ветвится по типу зачисления: погашение задолженности / покупка валюты / продажа валюты / прочее. Какой вызов «сработает» — определяется тем, какие из таблиц ПараметрыПроведения непустые (а это, в свою очередь, зависит от вида операции).
- Порядок строгий: взаиморасчёты → покупка валюты → продажа валюты → прочее поступление → переоценка валюты в конце → оплата счетов → статусы документов → постоянные разницы НУ.
- ГрупповоеПерепроведение (из ДополнительныеСвойства) подавляет пересчёт статусов счетов — оптимизация для массовых операций.
objects/ подаёт «плоские» проводки (Дт 1030 Кт 3310 / 1210 / 3010 / 4010 / 1010). Реальный код таких счетов не содержит — конкретные Дт/Кт вычисляют модули УправлениеВзаиморасчетамиСервер / УправлениеДенежнымиСредствамиСервер по учётной политике и счетам учёта расчётов. «Плоский» список — лишь иллюстрация типового результата; точные проводки сверяйте по отчёту «Дт/Кт» проведённого документа.СчетаУчетаВДокументах; (2) договор и сделку в расшифровке — без правильной сделки взаиморасчёты не свяжутся; (3) валюту документа vs валюту договора для валютных видов. Документ — оркестратор; вся «арифметика счетов» в общих модулях УправлениеВзаиморасчетамиСервер, УправлениеДенежнымиСредствамиСервер, СчетаУчетаВДокументах, УчетнаяПолитикаСервер. Туда и смотреть при настройке у клиента.Движения по регистрам (карта)
Точный состав наборов записей задаётся метаданными регистраторов и общими модулями. По коду документ затрагивает как минимум:
| Область | Что пишется | Чем формируется |
|---|---|---|
| Регистр бухгалтерии (Типовой/Налоговый) | Банковская проводка зачисления (1030) и гашение расчётов; постоянные разницы НУ |
УправлениеВзаиморасчетамиСервер, ПроцедурыНалоговогоУчета |
| Денежные средства / валютные операции | Покупка/продажа валюты, прочее поступление, переоценка валютных остатков | УправлениеДенежнымиСредствамиСервер, УчетДоходовРасходов |
| Взаиморасчёты с контрагентами | Погашение дебиторской/кредиторской задолженности по сделке/договору | УправлениеВзаиморасчетамиСервер |
| Оплата счетов / статусы документов | Отметка «счёт на оплату оплачен», статус документа | СтатусыДокументов |
objects/-разборе таблица регистров обрывается на заголовке (данные не дошли). Поэтому конкретные имена регистров здесь намеренно не выдуманы — это пробел в источнике; снимать состав движений нужно по конфигуратору/«Дт/Кт». См. issues.Валидации (ОбработкаПроверкиЗаполнения) — по реальному коду
Логика «от обратного»: процедура собирает МассивНепроверяемыхРеквизитов и снимает проверки там, где они неуместны:
ВидУчетаНУне проверяется, если организация не плательщик налога на прибыль или не включёнУчитыватьКПН.- Если у вида операции есть расшифровка (
ЕстьРасшифровкаПлатежа): снимается проверкаСчетУчетаРасчетовСКонтрагентомБУ/НУв шапке; НУ-счёт строки проверяется только для «Расчётов по кредитам и займам» при необходимости отражения в НУ. - Если расшифровки нет: из проверки убирается
Контрагенти все обязательные реквизиты строкРасшифровкаПлатежа.*(т.к. ТЧ всё равно содержит пустую строку). - Если не ведётся учёт по договорам (
ПолучитьФункциональнуюОпцию("ВестиУчетПоДоговорам")= Ложь) — снимается проверкаРасшифровкаПлатежа.ДоговорКонтрагента. - Валютные виды: для «Поступления от продажи валюты» — валюта документа должна равняться валюте регл. учёта; для «Приобретения валюты» — отличаться. Иначе
СообщитьПользователю(..., Отказ). - Сверка сумм:
РасшифровкаПлатежа.Итог("СуммаПлатежа") <> СуммаДокумента→ ошибка «Не совпадает сумма документа и её расшифровка». - Построчная проверка ТЧ (
ПроверитьЗаполнениеТабличнойЧастиПострочно): для валютных видов — соответствие валюты договора; для остальных —УправлениеВзаиморасчетамиСервер.ВозможноПроведениеВ_БУ_НУ. - Финал —
СчетаУчетаВДокументах.ПроверитьЗаполнение(...)(корректность счетов учёта).
Зависимости (общие модули)
УправлениеВзаиморасчетамиСервер (таблица и движения погашения задолженности, ВозможноПроведениеВ_БУ_НУ), УправлениеДенежнымиСредствамиСервер (реквизиты расчётного документа, движения покупки/продажи валюты и прочего поступления), СтатусыДокументов (оплата счетов, статусы), УчетДоходовРасходов (переоценка валютных остатков), ПроцедурыНалоговогоУчета (постоян/временные разницы, плательщик налога на прибыль), УчетнаяПолитикаСервер (ПлательщикНалогаНаПрибыль), СчетаУчетаВДокументах (заполнение/проверка счетов), РаботаСДоговорамиКонтрагентов / РаботаСДоговорамиКонтрагентов (договор в ТЧ), ОбщегоНазначения, ОбщегоНазначенияБК, ПрефиксацияОбъектовКлиентСервер.
ПередЗаписьюставитОплачено = Истинавсегда — даже при простой записи без проведения. Если строите свою логику «оплачено по факту проведения», учитывайте это.- Отмена проведения «Оплаты покупателя» с привязанными счетами на оплату запускает отдельный пересбор статусов прямо в
ПередЗаписью(черезТаблицаОплатаСчетов→ПодготовитьТаблицуСтатусовОплатыСчетов→СформироватьДвиженияСтатусовДокументов). Не дублируйте эту логику вОбработкаПроведения.- Инвариант «всегда минимум одна строка расшифровки» — причина «странных» снятий проверок. Прежде чем добавлять свою валидацию строк, повторите паттерн с
МассивНепроверяемыхРеквизитов.- Переоценка валюты — строго последней (после всех прочих движений). При вставке новых формирователей движений не нарушайте порядок.
ОбменДанными.ЗагрузкавПередЗаписью→ раннийВозврат: при загрузке/обмене бизнес-логика шапки пропускается.
🔗 Связанные разделы
- platezhnoe-poruchenie-vhodyashchee — входящее платёжное поручение (другой способ ввода поступления)
- platezhnyy-order-spisanie — зеркальный документ списания денежных средств
- realizaciya-tmz-i-uslug — типовое основание для оплаты покупателя
- schet-na-oplatu-pokupatelyu — счёт, статус которого закрывает поступление
🆕 Что нового
| Версия | Изменение | Тип |
|---|---|---|
| 3.0.72.1 | Первичное описание (на релизе 3.0.72.1) | 🆕 |