Что такое сверка платежей? Связывание выплат PSP с главной книгой
Почему выплата Stripe никогда не совпадает с вашими счетами, как разбить транзакцию на продажи, комиссии и возвраты и как работают проводки в главной книге.
Сверка платежей (payment reconciliation) — это сопоставление фактических выплат от платежного провайдера (PSP) с тем, что вам задолжали клиенты. Эта задача отличается от банковской сверки и является более сложной, поскольку выплата PSP никогда не состоит из одного платежа по одному счету.
Главный симптом: вы продали товаров на 10 000 €, а на банковский счет поступило 9 712,40 €. Оба числа верны. Все, что находится между ними, объясняется в рамках этой сверки.
Почему выплата никогда не совпадает с продажами
Единая выплата от Stripe, Adyen или PayPal представляет собой нетто-партию (net batch). За время от момента оплаты клиентом до зачисления средств провайдер:
- агрегировал множество платежей за расчетный период;
- удержал свои комиссии по каждой транзакции;
- удержал суммы возвратов и чарджбэков, прошедших за то же окно;
- возможно, удержал резерв;
- перевел оставшуюся сумму несколькими днями позже в виде единого перевода.
В результате в банковской выписке отображается одна строка на сумму 9 712,40 €, в то время как в главной книге числятся десятки счетов, ни один из которых ей не равен. Напрямую сопоставить выплату со счетами невозможно: выплату необходимо предварительно разложить на составляющие (decomposed).
Декомпозиция
Расчетная партия распадается на категории, и каждая категория имеет свое значение для главной книги:
| Категория | Что это такое | Влияние на главную книгу |
|---|---|---|
| Платежи (Charges) | Оплаты от клиентов | Погашение дебиторской задолженности |
| Возвраты (Refunds) | Деньги, возвращенные клиентам | Сторно погашенной дебиторской задолженности |
| Комиссии (Fees) | Комиссия PSP | Расходы |
| Чарджбэки (Chargebacks) | Оспоренные платежи, списанные обратно | Восстановление дебиторской задолженности плюс комиссия |
| Корректировки / резервы (Adjustments / reserves) | Временные удержания и удержания на случай рисков | Задолженность PSP перед компанией |
Тождество, которое должно выполняться:
Валовые платежи − возвраты − комиссии − чарджбэки ± корректировки = Чистая выплата
Если оно не выполняется, партия была импортирована не полностью. Такая проверка ценнее любого отдельного сопоставления, поскольку она доказывает, что ничто не было потеряно без следа.
Проводки
Отражение в учете расчетной партии с валовыми платежами 10 000 €, комиссиями 250 € и возвратами 37,60 €:
| Счет | Дебет | Кредит |
|---|---|---|
| 2710 Расчетный счет (Bank) | 9 712,40 | |
| 6800 Финансовые расходы (комиссии PSP) | 250,00 | |
| 5000 Выручка / сторно дебиторской задолженности (возвраты) | 37,60 | |
| 2410 Дебиторская задолженность покупателей | 10 000,00 |
Читается так: задолженность клиентов на сумму 10 000 € погашена, PSP удержал 250 €, 37,60 € вернулись клиентам, а 9 712,40 € поступили на банковский счет. Комиссия представляет собой реальные расходы, которые никогда не появляются ни в одном клиентском счете. Именно поэтому валовая выручка и банковские поступления расходятся, а сверка исключительно по банковской строке приводит к тихому занижению как выручки, так и расходов.
Для торговых площадок (marketplaces) существует еще один уровень. Если выплата включает деньги, принадлежащие продавцам, выручкой платформы является только ее комиссия, а остальное — обязательство. Правила проводок Nordlet решают эту задачу с помощью специальных ключей — settlements.fees, settlements.commissionRevenue, settlements.sellerPayable и settlements.suspense. В результате расщепленная выплата относит комиссию на выручку, а долю продавца — на кредиторскую задолженность, вместо того чтобы раздувать выручку платформы.
Как это работает в Nordlet
Процесс состоит из трех эндпоинтов:
- Импорт. Эндпоинт
POST /v1/bank/settlements/importсчитывает отчет о сверке выплат Stripe и создает расчетную партию (провайдер, ID выплаты, валюта, валовая сумма, комиссии и чистая сумма) с одной строкой на каждую исходную транзакцию, причем каждая строка содержит свою категорию. Партии уникальны для каждого провайдера и ID выплаты, поэтому повторный импорт того же отчета не приведет к дволоному учету. - Сопоставление. Эндпоинт
POST /v1/bank/settlements/matchсвязывает строки платежей и возвратов с теми счетами на продажу, к которым они относятся. Строки имеют статус сопоставленияunmatched(не сопоставлено),matched(сопоставлено автоматически по заказу или ссылке на счет в отчете) илиmanual(решение принято оператором). Строки комиссий и корректировок со счетами не сопоставляются по задумке: попытка сделать это будет отклонена, а не угадана системой. - Проводка. Эндпоинт
POST /v1/bank/settlements/postформирует проводки в главной книге для всей партии с использованием описанных выше правил проводок и переводит статус партии изimportedвposted. Несопоставленные поступления попадают на транзитный счет (suspense account), а не принудительно привязываются к счету — они остаются на виду и вызывают обоснованный дискомфорт до тех пор, пока ситуация не будет разрешена.
Выплата в валюте, отличной от базовой валюты компании, проводится без ручной обработки. Журнал формируется в базовой валюте: партия конвертируется по курсу на дату проводки, дебиторская задолженность списывается по курсу выставления каждого счета, а разница между этими курсами отражается как реализованная курсовая разница (прибыль или убыток). Единственный случай, который по-прежнему отклоняется системой — это единая выплата, строки которой смешивают несколько валют.
Проведенная партия связывается со строкой банковской выписки по реальному банковскому счету. В разделе «Банк → Правила сопоставления» вы описываете, как выплата отображается в вашей выписке: текст, который строка содержит всегда, и, опционально, префикс ID выплаты внутри нее. При импорте выписки строка, подходящая под правило, привязывается к своей партии по ID выплаты или путем сопоставления чистой суммы партии в пределах заданного вами временного окна. После этого банковская строка содержит бухгалтерскую запись по выплате, избавляя от необходимости ждать вторую дублирующую проводку. Функции POST /v1/bank/settlements/link и /unlink устанавливают или исправляют эту связь вручную.
Как делать это правильно
- Сверяйте каждую выплату, а не месяц в целом. Выплата — это естественная единица учета; агрегирование месячных выплат перед сверкой уничтожает проверку тождества, которая позволяет находить ошибки.
- Никогда не отражайте чистую сумму как выручку. Это самая распространенная ошибка в бухгалтерском учете платформ: отражение выручки в размере 9 712,40 € занижает как продажи, так и расходы, искажает валовую маржу и, как правило, занижает НДС, поскольку НДС начисляется на валовую сумму, уплаченную клиентом, а не на то, что перечислил PSP.
- Следите за временным разрывом. Платеж, принятый 30 июня и выплаченный 3 июля, относится к выручке июня и денежным средствам июля. На конец периода эта разница учитывается как дебиторская задолженность от PSP — это реальные деньги, находящиеся на чужом счете.
- Сопоставляйте возвраты с исходной продажей. Возврат, который не был связан с исходной операцией, оставляет закрытый счет выглядящим оплаченным, а выручку — завышенной.
FAQ
В чем разница между сверкой платежей и банковской сверкой?
Банковская сверка сравнивает вашу главную книгу с банковской выпиской строка за строкой. Сверка платежей находится на один уровень раньше: она декомпозирует единую выплату PSP на множество платежей, возвратов и комиссий, стоящих за ней, чтобы эти банковские строки вообще можно было объяснить.
Почему моя выплата Stripe не совпадает с продажами?
Потому что выплата представляет собой нетто-партию: валовые платежи за минусом комиссий, возвратов, чарджбэков и возможных резервов, которые выплачиваются по графику PSP, а не по графику счетов. Каждый из этих компонентов должен учитываться отдельно, чтобы две суммы сошлись.
Следует ли уменьшать выручку на сумму комиссий PSP?
Нет. Выручка — это валовая сумма, уплаченная клиентом, а комиссия PSP — это расходы на ее инкассацию. Зачет комиссий занижает выручку и расходы в равной степени, искажает маржинальность и, как правило, приводит к неверному налогообложению НДС.
Как обрабатываются разделения средств на торговых площадках (marketplace splits)?
Выручка платформы — это ее комиссия; доля продавца является обязательством до тех пор, пока она не будет выплачена. Отражение всей выплаты в качестве выручки чудовищно занижает доходы платформы. Отдельные правила проводок для комиссионной выручки и задолженности перед продавцами существуют именно для того, чтобы разделять их.
Что происходит с несопоставленными расчетными строками?
Они попадают на транзитный счет (suspense account), а не привязываются принудительно к счету. Это поддерживает баланс главной книги и делает проблему видимой. Сальдо транзитного счета представляет собой список задач, который должен быть пустым до закрытия периода.