Статьи

Биллинг для SaaS: как построить подписки и не терять деньги

7 августа 2026  |  8 мин чтения

Подписка — модель дохода SaaS: предсказуемые поступления, высокая пожизненная ценность, сложность внедрения — на биллинге. Ошибки здесь стоят дорого: сбои списаний, потерянные подписчики, налоговые проблемы. Разбираем, как построен биллинг SaaS в 2026: от выбора провайдера до удержания.

Из чего состоит биллинг

КомпонентФункция
Каталог тарифовПланы, цены, лимиты, надбавки
ПодпискиЖизненный цикл: триал → активна → пауза → отмена
Периодические списанияКарты, автоплатежи, ретраи
Инвойсы и квитанцииДокументы для клиентов и бухгалтерии
НалогиНДС/VAT, tax-расчёты по странам
Возвраты и спорыRefund, chargeback-процессы
DunningАвтоматические попытки списания при неудаче
Доступ в продуктWebhook-статусы → открыть/закрыть доступ

Провайдеры 2026

  • Stripe Billing — стандарт для международных SaaS: подписки, invoicing, tax, dunning из коробки.
  • Paddle / Lemon Squeezy — Merchant of Record: налоги, НДС, споры — на них. Идеально для «без бухгалтерии».
  • Recurly / Chargebee — «тяжёлый» биллинг для растущих SaaS: сложные правила, несколько валют.
  • Российские аналоги (ЮKassa/CloudPayments подписки, Т-Касса) — для рынка РФ; помните про международные ограничения (см. статью о международных платежах).

Выбор прост: без своего юрлица за рубежом — Merchant of Record; с юрлицом и ростом — Stripe; сложные тарифы/валюты — Recurly/Chargebee.

Архитектура: где логика

Ключевой вопрос — где живёт «правда» о подписке. Правильная схема:

Продукт (ваш бэкенд) ← статусы/вебхуки → Биллинг-провайдер
        ↑ источник правды о доступе: у вас
        ↓ источники денег и инвойсов: у провайдера
  • Вебхуки — источник событий: invoice.paid, subscription.updated, payment_failed. Храните их в очереди и обрабатывайте идемпотентно (по ID события).
  • Доступ решаете вы: статус подписки в вашей БД, синхронизированный вебхуками.
  • Не доверяйте клиентскому коду: «тариф» — только с сервера, иначе подписку «взломают» в консоли браузера.
  • Триал без карты конвертит в подписку хуже; триал с картой даёт больше платящих, но риск false-негативов. Выбирайте по рынку.

Периодические списания и dunning

Списания по картам не всегда проходят: карта протухла, лимит, банк отказал. Хороший dunning возвращает 30–50% «упавших» подписчиков:

// Сценарий восстановления (настраивается у провайдера)
День 0: списание не прошло → клиенту письмо «обновите карту» + ссылка
День 3: повторная попытка списания (retry)
День 7: повторная попытка + скидка-крючок (по желанию)
День 14: финальная попытка
День 21: подписка приостановлена → доступ ограничен
День 35: отмена, данные храним N дней
  • Уведомление клиента при первом сбое — часто решает проблему (карта просто протухла).
  • Прозрачность: «продолжим списывать X ₽/мес» при подписке — снижает chargeback.
  • Измеряйте voluntary/involuntary churn отдельно — у involuntary всегда есть потолок восстановления.

Тарифы: метрики и инженерия

МетрикаФормулаЗдоровый уровень
MRRСумма подписок в месяцРастёт
Churn (отток)Отмены / подписчики × 100%Менее 2–5% в месяц
Net revenue retentionMRR с когорты / изначальный100%+
Триал → платноПлатящие / начавшие триал15–30%+

Инженерные задачи тарифов: пророртируемые изменения (апгрейд в середине периода), лимиты с мягкой блокировкой (warning за неделю), «плавающие» фичи по тарифу (feature flags по подписке).

Типичные ошибки

  • Хранение карт у себя — не делайте; PCI DSS и ответственность за утечки.
  • Обработка вебхуков без идемпотентности — двойные списания/доступы.
  • Доступ по статусу «из головы» вместо провайдера — рассинхронизация с деньгами.
  • Нет dunning — теряете 30–50% подписчиков с протухшими картами.
  • Налоги «потом» — VAT для ЕС, налог с продаж в США; Merchant of Record снимает головную боль.
«Биллинг SaaS 2026 — это не „кнопка оплаты“, а экономика продукта: ретраи возвращают десятки процентов выручки, прозрачность снижает chargeback, а вебхуки — единый источник правды. Отношение к биллингу — это отношение к деньгам» — практика SaaS, 2026.

Начните с провайдера (Stripe или Paddle), подключите вебхуки с идемпотентностью, настройте dunning-сценарий и прозрачные инвойсы. Биллинг «на коленке» окупает переход уже на 1000 подписчиков.