Подписки на сервисы для организаций и ИП (SaaS, хостинг, телеком)
Продавать подписку физлицу просто: карта привязана, списание идёт само. С организацией так не выходит. Бухгалтерия платит по счёту, деньги идут через банк, и каждый месяц повторяется одна и та же работа: выставить счёт, дождаться перевода, свести оплату с лицевым счётом, отправить акт. Пока перевод идёт, сервис или отключается раньше времени, или работает в долг.
Инвойсбокс закрывает этот цикл: счёт уходит покупателю сам, оплата подтверждается за минуты или секунды — в зависимости от платёжного инструмента, — а акт и счёт-фактура за период формируются без участия менеджера.
Подписка для юрлица — это счёт по правилу, а не привязка карты
Важно
Списание по сохранённой карте работает, но владелец карты — всегда физлицо: даже корпоративная карта оформлена на сотрудника, и расход придётся объяснять бухгалтерии — чек, обоснование, авансовый отчёт. Поэтому организациям адресована подписка: счёт уходит компании по правилу — чем это отличается от рекуррентов.
Правило задаёт период, конкретный день или условие — например, снижение баланса до порога. Собрать подписку можно двумя способами:
- расписание держит ваша система. На каждый оплачиваемый период она создаёт заказ со сроком оплаты и составом по тарифу — биллинг и так знает, когда у клиента заканчивается период. Инвойсбокс берёт на себя счёт, приём оплаты и документы.
- расписание держит подписка. Заказ-подписка создаётся один раз с параметрами периода и условий, клиент подписывается на неё, и счета уходят ему сами. Параметры настраиваются при подключении — публичного описания полей пока нет, состав правил уточняйте в поддержке.
Дальше в кейсе разобран первый способ: он не требует ничего, кроме обычного создания заказа.
Так выглядит счёт за месяц по тарифу. Номер договора и период попадают в merchantOrderId и
description — по ним бухгалтерия клиента поймёт, за что платит, а вы найдёте оплату в своей системе.
{
"merchantId": "01f1c3f8-0000-0000-0000-000000000001",
"merchantOrderId": "SUB-4417-2026-08",
"amount": "48000.00",
"currencyId": "643",
"description": "Тариф «Команда», август 2026, договор 4417",
"expirationDate": "2026-08-05T23:59:00+03:00",
"customer": {
"type": "legal",
"name": "ООО «Ромашка»",
"vatNumber": "7701234560",
"email": "buh@example.invbox.ru"
},
"basketItems": [
{
"sku": "TEAM-30",
"name": "Тариф «Команда», 30 рабочих мест, август 2026",
"quantity": 1,
"amount": "48000.00",
"vatCode": "RUS_VAT22",
"measure": "мес."
}
]
}
В позиции корзины можно передать данные подписки —
объект PaymentPlan с периодом биллинга, датами начала и окончания договора и ценой. Тогда счёт несёт
не только сумму, но и условия: бухгалтерия клиента видит, за какой период и по какому договору платит.
Что происходит дальше:
- Клиент получает счёт и оплачивает его — из своего банка, по Запросу о платеже в приложении банка или подтверждением из гарантийного фонда за секунды. Способ определяется договором и настройками в кабинете, запрос при этом одинаковый.
- Инвойсбокс сообщает об оплате уведомлением о смене статуса — ваш сервис продлевает период по этому сигналу, а не по факту прихода денег на счёт.
- Акт и счёт-фактура за период уходят клиенту через ЭДО или на бумаге.
- Деньги приходят на расчётный счёт на следующий рабочий день после подтверждения оплаты — сроки и условия.
Срок оплаты и мягкое отключение
Поле expirationDate задаёт, до какого момента счёт живёт. Для подписки это удобно: счёт на следующий
месяц выставляется, скажем, за пять дней до его начала, и до этой даты клиент платит по прежней ссылке.
Когда срок проходит, заказ получает состояние expired — оплатить старую ссылку нельзя, нужен новый
заказ.
Отсюда же берётся политика отключения. Пока счёт не оплачен, сервис работает или не работает по вашим правилам; Инвойсбокс лишь сообщает, оплачен счёт или нет. Неоплаченный счёт, который потерял смысл (клиент сменил тариф или ушёл), отменяется до оплаты — в списке клиента он не останется висеть.
Если клиент готов платить, но не успевает провести перевод, помогает обещанный платёж: покупатель подтверждает заказ картой за минуту, вы продлеваете период сразу, а счёт организация оплачивает в течение пяти суток.
Смена тарифа и доначисления сверх пакета
Подписка редко стоит одинаково весь год: клиент добавляет рабочие места, выходит за лимит трафика, берёт дополнительный номер или диск. Есть два пути, и выбор зависит от того, оплачен ли текущий счёт.
- Счёт ещё не оплачен — измените заказ: состав и сумма пересчитываются, ссылка остаётся прежней. Так удобно поправить тариф, о котором договорились уже после выставления счёта.
- Счёт оплачен — доначисление оформляется отдельным заказом за тот же период. Прежний счёт и документы по нему остаются неизменными, а бухгалтерия клиента видит два понятных документа вместо одного исправленного.
Если период уже закрыт документами, а сумму нужно уменьшить — например, клиент оплатил тридцать рабочих мест, а пользовался двадцатью, — это возврат с корректировкой: возвращается часть суммы, а корректировочный документ уходит клиенту вслед за возвратом.
Много клиентов — много счетов: как не потеряться
Телеком и хостинг выставляют счета сотнями, и главный вопрос к системе — не «как создать заказ», а «как свести реестр». Для этого достаточно двух вещей:
- Свой номер в каждом заказе.
merchantOrderIdвидаSUB-4417-2026-08— договор и период. По нему заказ находится без сохранения идентификаторов Инвойсбокса. - Выборки по состоянию и датам. Список неоплаченных счетов с истекающим сроком собирается
фильтрами:
status=createdи условие поexpirationDate. Ночная сверка по такому запросу заменяет обзвон клиентов.
Обработчик уведомлений стоит сделать идемпотентным: одно и то же уведомление может прийти дважды, и период не должен продлеваться два раза — как проверить свой обработчик.
Что это даёт
- Клиент-организация платит привычным способом, а сервис продлевается по сигналу об оплате, а не через два-три банковских дня.
- Счёт, акт и счёт-фактура за период формируются сами и уходят по ЭДО — менеджеру остаются только спорные случаи.
- Отсрочку и риск неплатежа можно отдать платформе: постоянный клиент подтверждает оплату сразу, а рассчитывается в течение 30 дней — платёжные инструменты.
- Физлица закрываются тем же вендором: для них работают и списание по сохранённой карте, и чек по 54-ФЗ.
Чем подключиться
| Путь | Когда подходит |
|---|---|
| API и PHP SDK | биллинг сервиса ведёт расписание сам — обычный случай для SaaS и телекома |
| Готовый модуль | тарифы продаются на сайте: 1С-Битрикс, Тильда, WooCommerce и другие |
| Платёжный виджет | нужно принять оплату за подписку сегодня, до доработки биллинга |
| ИИ-агент | интеграцию делает Cursor или Claude Code по одному промпту |
Смежные кейсы
- Аренда складов, офисов и коворкингов — та же регулярность, но с привязкой к сроку договора.
- B2B продажи 24/7 — четыре вызова базового сценария.
- Запрос о платеже — счёт приходит клиенту в приложение банка.
Посмотреть, как выглядит выставленный счёт и уведомление об оплате, можно в демо Счёт юрлицу из CRM — вызовы уходят на демо-контур.