Ваш дашборд Stripe говорит, что за прошлый месяц вы собрали $48 000. Ваш отчёт о прибылях и убытках говорит о $52 000. Ваш банковский счёт показывает поступления на общую сумму $41 000. Все три числа получены от одних и тех же клиентов, оплачивающих одни и те же счета, — так какое же из них является вашей фактической выручкой?
Если вы управляете SaaS-компанией на Stripe Billing, это расхождение трёх чисел не является ошибкой ваших инструментов. Это предсказуемый результат одного экономического события — клиент платит за подписку — которое проявляется в четырёх разных местах: в подписке, в счёте, в платеже и в выплате. Учтите более одного из них как выручку — и вы задвоите сумму. Учтите не тот — и ваши налоги, ваши метрики и любая будущая проверка при инвестировании будут опираться на завышенные цифры.
Это руководство показывает, где именно каждый объект Stripe должен находиться в ваших книгах, три ловушки двойного учёта, в которые попадают большинство основателей SaaS, и рабочий процесс с клиринговым счётом, который позволяет вашей ежемесячной сверке сходиться до копейки.
Почему Stripe так упрощает двойной учёт
Традиционное выставление счетов даёт вам один документ на продажу: счёт. Stripe Billing даёт вам цепочку связанных объектов для одних и тех же денег:
- Подписка — периодическое соглашение (ваш тариф $99 в месяц).
- Счёт — документ, который Stripe генерирует каждый цикл, включая пропорциональные пересчёты, зачёты и налог.
- Платёж (списание) — фактическое движение денег в счёт этого документа.
- Выплата — сгруппированный банковский депозит, который Stripe отправляет вам, за вычетом комиссий, возвратов и корректировок.
Каждый объект имеет свой дашборд, свой отчёт и свой итог. Основатель, который суммирует «итоги счетов» как выручку, а затем ещё и учитывает «депозиты по выплатам» как доход, учёл одни и те же доллары дважды. Добавьте сюда годовые предоплаты — один счёт на $12 000 сегодня за двенадцать месяцев обслуживания — и мышление на основе кассового метода учтёт полный год выручки в январе.
Основной принцип, предотвращающий всё это: каждый доллар клиентских денег учитывается ровно один раз как валовая выручка, в момент её заработка, а всё остальное — это комиссия, возврат, временная разница или движение по балансу. Остальная часть этого поста посвящена тому, как применить этот принцип.
Ловушка 1: Учёт счетов и выплат как выручки
Это самый распространённый двойной учёт в бухгалтерии SaaS. Симптом безошибочен: выручка в вашем P&L примерно равна счетам плюс банковским депозитам, и ваши книги показывают рост, который ваш банковский баланс никогда не подтверждает.
Вот что на самом деле происходит, когда клиент оплачивает ежемесячный счёт на $1 000:
- Stripe создаёт счёт на $1 000 и собирает платёж на $1 000.
- Stripe вычитает свою комиссию за обработку (скажем, $30,30) и любые возвраты.
- Несколько дней спустя Stripe объединяет ваш доступный баланс в депозит-выплату.
Счёт и выплата — это два представления одних и тех же $1 000, а не $1 000 выручки плюс ещё $970 выручки. Правильный подход:
- Учтите $1 000 валовой выручки один раз, когда счёт оплачен (или заработан, для метода начисления).
- Учтите комиссию $30,30 как расход на обработку, а не как уменьшение выручки.
- Учтите выплату как перевод с вашего клирингового баланса Stripe на ваш банковский счёт — никогда как доход.
Зачёт комиссий против выручки (учёт только депозита в $969,70 как продаж) — это зеркальная ошибка: она занижает валовую выручку и скрывает вычитаемые расходы на обработку. При выручке в семизначных числах эти скрытые комиссии легко достигают десятков тысяч долларов в год в виде упущенных вычетов и вводящих в заблуждение метрик.
Решение с клиринговым счётом
Относитесь к Stripe как к отдельному мини-банковскому счёту — клиринговому счёту — в вашем плане счетов. Каждое событие Stripe сначала попадает туда:
- Платёж клиента прошёл: дебет клирингового счёта Stripe $1 000, кредит выручки (или отложенной выручки, о чём ниже) $1 000.
- Stripe берёт свою комиссию: дебет расхода на обработку $30,30, кредит клирингового счёта Stripe $30,30.
- Возврат выдан: дебет возвратов (контр-выручка) и кредит клирингового счёта Stripe.
- Выплата пришла на ваш банк: дебет вашего банковского счёта, кредит клирингового счёта Stripe на сумму выплаты.
После проведения выплаты на клиринговом счёте должен оставаться только ваш нерасчитанный баланс Stripe. Если он из месяца в месяц несёт растущий остаток, что-то — обычно неучтённый возврат или пропущенная комиссия — утекает. Этот остаток — ваш сигнал раннего предупреждения, и именно ради него существует клиринговый счёт.
Ловушка 2: Признание годовых предоплат сразу целиком
Клиент платит $12 000 авансом за годовой тариф. При кассовом учёте вы могли бы назвать это выручкой января в $12 000. При учёте методом начисления — которого ожидают инвесторы, кредиторы и GAAP, — вы заработали один месяц обслуживания и должны ещё одиннадцать.
Правильный подход распределяет признание по периоду обслуживания:
- При оплате: дебет клирингового счёта Stripe $12 000, кредит отложенной выручки (обязательство) $12 000. Выручки пока нет.
- Каждый месяц: дебет отложенной выручки $1 000, кредит выручки от подписок $1 000.
Учёт полного счёта как выручки в первом месяце завышает прибыль января на $11 000 и занижает следующие одиннадцать месяцев. Это также ломает метрики, которые фактически оценивают покупатели: ежемесячная повторяющаяся выручка, чистое удержание выручки и остатки отложенной выручки — все они выводятся из заработанной выручки, а не из собранных денег.
Пропорциональные пересчёты, апгрейды и изменения в середине цикла
Stripe обрабатывает изменения тарифа с помощью счетов пропорционального пересчёта — зачёта за неиспользованное время по старому тарифу плюс начисления за новый. В сумме они дают небольшие суммы, но каждая часть всё равно требует правильного подхода: зачёт уменьшает выручку (или увеличивает отложенную выручку), а новое начисление следует тому же правилу заработка с течением времени. Упрощение с учётом только чистого пропорционального пересчёта обычно работает для месячных тарифов, но для апгрейдов годовых тарифов график отложенной выручки необходимо перестроить, иначе остаток вашего обязательства отклонится от реальности.
Купоны и клиентские зачёты заслуживают такого же внимания. Купон на 20% означает валовую выручку $800 по счёту с прейскурантной ценой $1 000 — а не $1 000 выручки плюс $200 маркетинговых расходов. Учитывайте то, что вы фактически заработали.
Ловушка 3: Считать возвраты, споры и зачёты новыми расходами — или игнорировать их
Возвраты уменьшают выручку; это не отдельный операционный расход, и уж точно они не невидимы. Когда вы возвращаете $500 по счёту:
- Дебет возвратов (счёт контр-выручки, который противопоставляется валовой выручке) $500.
- Кредит клирингового счёта Stripe $500.
Почему контр-выручка, а не расход? Потому что валовая выручка минус возвраты равна чистой выручке — числу, которое нужно вашей налоговой декларации, вашей презентации для совета директоров и вашей юнит-экономике. Похоронить возвраты в общих расходах означает завысить и вашу верхнюю строку, и вашу структуру затрат, а также сделать анализ доли возвратов невозможным.
Чарджбэки и споры требуют промежуточного состояния: когда открывается спор, переместите сумму на счёт дебиторской задолженности по спорам или убытков по чарджбэкам, а не оставляйте признанную выручку нетронутой. Если вы выиграете, сторнируйте её; если проиграете, она становится окончательным уменьшением выручки плюс любая комиссия за спор как расход. Неудавшиеся платежи и повторные попытки взыскания, тем временем, ничего не затрагивают, пока деньги фактически не двинутся — неоплаченный счёт — это дебиторская задолженность, а не дважды собранная выручка.
Ваш контрольный список ежемесячной сверки Stripe
Выделите час после конца месяца и проработайте этот список по порядку. Каждый шаг выявляет свой класс ошибок:
- Выгрузите отчёт о сверке выплат. Для каждой выплаты, зачисленной в течение месяца, подтвердите, что валовые списания минус комиссии, возвраты и корректировки равны банковскому депозиту до копейки.
- Сверьте клиринговый счёт. Его конечный остаток должен равняться вашему нерасчитанному балансу Stripe (ожидающие выплаты плюс любой резервный удержанный остаток). Исследуйте любой другой остаток перед закрытием.
- Перенесите отложенную выручку вперёд. Начальный остаток плюс новые предоплаты минус признанная выручка должны равняться конечному остатку, а конечный остаток должен совпадать с суммой не заработанной стоимости подписок в Stripe.
- Сопоставьте счета с признанной выручкой. Общая признанная выручка от подписок за месяц должна сверяться с заработанными строками счетов — после купонов, зачётов и пропорциональных пересчётов, — а не с собранными деньгами.
- Закройте возвраты и споры. Каждый возврат в Stripe должен появиться в контр-выручке; каждый открытый спор должен находиться в своём промежуточном счёте, а не в признанной выручке.
- Проверьте мультивалютность и налоги. Если вы выставляете счета в нескольких валютах, подтвердите, что курсовые прибыли и убытки проводятся отдельно от выручки. Подтвердите, что собранный налог с продаж и НДС находятся в обязательстве по налогам к уплате, никогда в выручке.
Когда все шесть шагов сходятся, ваши три числа наконец согласуются друг с другом: валовая активность Stripe, заработанная выручка в P&L и банковские депозиты, связанные чистым следом комиссий, временных разниц и движений по балансу.
Отчёты и автоматизация, которые берут на себя основную работу
Вам не нужно строить этот рабочий процесс из электронных таблиц. Собственный набор отчётов Stripe напрямую отображается на контрольный список:
- Отчёты о сверке выплат детализируют каждое списание, возврат, комиссию и корректировку внутри каждого банковского депозита — документ, который действительно нужен вашему бухгалтеру.
- Балансовые транзакции — это неизменяемый реестр каждого цента, прошедшего через Stripe. Поскольку Stripe никогда не изменяет балансовую транзакцию после создания, они являются источником истины для закрытия, а не списания или счета.
- Отчёты о признании выручки автоматизируют перенос отложенной выручки согласно ASC 606 и IFRS 15, превращая подписки и счета в готовые к аудиту бухгалтерские проводки.
Для постоянной автоматизации бухгалтерские интеграции могут ежедневно проводить валовые продажи, комиссии и возвраты на клиринговый счёт, а вебхуки по событиям выплат могут запускать сопоставление в тот же день. Даже с автоматизацией сохраняйте ежемесячный контрольный список: программное обеспечение проводит то, что ему сказано, а пропущенное сопоставление даёт сбой молча, пока кто-то не проведёт сверку.
Держите выручку от подписок чистой с первого дня
Stripe Billing особенно нетерпим к неаккуратным книгам, потому что каждый доллар появляется во стольких местах — подписка, счёт, платёж, выплата — и каждое из них представляет новую возможность посчитать его снова. Основатели, которые настроили клиринговый счёт, признают предоплаченную выручку с течением времени и сверяются ежемесячно, ловят проблемы, когда они представляют собой исправления в одну строку, а не проекты по очистке масштаба пересчёта во время привлечения финансирования или проверки при приобретении.
Точный учёт подписок начинается с записи каждого события на правильный счёт с первого раза. Beancount.io обеспечивает бухгалтерию в виде простого текста, которая даёт вам полную прозрачность и контроль над вашими финансовыми данными — никаких чёрных ящиков, никакой привязки к поставщику. Начните бесплатно и узнайте, почему разработчики и финансовые специалисты переходят на бухгалтерию в виде простого текста.





