К содержимому

Кому

Сервисам по подписке, хостингам и телеком-операторам с клиентами-организациями

Что решает

Подписка организации собирается из счёта на каждый период: срок оплаты задаётся при создании заказа, период продлевается по уведомлению об оплате, акт уходит по ЭДО.

Подписки на сервисы для организаций и ИП (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 с периодом биллинга, датами начала и окончания договора и ценой. Тогда счёт несёт не только сумму, но и условия: бухгалтерия клиента видит, за какой период и по какому договору платит.

Что происходит дальше:

  1. Клиент получает счёт и оплачивает его — из своего банка, по Запросу о платеже в приложении банка или подтверждением из гарантийного фонда за секунды. Способ определяется договором и настройками в кабинете, запрос при этом одинаковый.
  2. Инвойсбокс сообщает об оплате уведомлением о смене статуса — ваш сервис продлевает период по этому сигналу, а не по факту прихода денег на счёт.
  3. Акт и счёт-фактура за период уходят клиенту через ЭДО или на бумаге.
  4. Деньги приходят на расчётный счёт на следующий рабочий день после подтверждения оплаты — сроки и условия.
Счёта по подписке: оплаченные периоды, выставленный счёт и доначисление Счёта по подписке: один период — один счёт Июнь 2026 · тариф «Команда» 48 000 ₽ оплачен, документы ушли Июль 2026 · тариф «Команда» 48 000 ₽ оплачен из фонда Август 2026 · тариф «Команда» 54 000 ₽ счёт выставлен, срок 5 дней Август 2026 · 10 мест сверх тарифа 9 000 ₽ доначисление отдельным заказом Тариф вырос с августа — сумма меняется в новом заказе, прежние счёта остаются как были.

Срок оплаты и мягкое отключение

Поле expirationDate задаёт, до какого момента счёт живёт. Для подписки это удобно: счёт на следующий месяц выставляется, скажем, за пять дней до его начала, и до этой даты клиент платит по прежней ссылке. Когда срок проходит, заказ получает состояние expired — оплатить старую ссылку нельзя, нужен новый заказ.

Отсюда же берётся политика отключения. Пока счёт не оплачен, сервис работает или не работает по вашим правилам; Инвойсбокс лишь сообщает, оплачен счёт или нет. Неоплаченный счёт, который потерял смысл (клиент сменил тариф или ушёл), отменяется до оплаты — в списке клиента он не останется висеть.

Если клиент готов платить, но не успевает провести перевод, помогает обещанный платёж: покупатель подтверждает заказ картой за минуту, вы продлеваете период сразу, а счёт организация оплачивает в течение пяти суток.

Смена тарифа и доначисления сверх пакета

Подписка редко стоит одинаково весь год: клиент добавляет рабочие места, выходит за лимит трафика, берёт дополнительный номер или диск. Есть два пути, и выбор зависит от того, оплачен ли текущий счёт.

  • Счёт ещё не оплаченизмените заказ: состав и сумма пересчитываются, ссылка остаётся прежней. Так удобно поправить тариф, о котором договорились уже после выставления счёта.
  • Счёт оплачен — доначисление оформляется отдельным заказом за тот же период. Прежний счёт и документы по нему остаются неизменными, а бухгалтерия клиента видит два понятных документа вместо одного исправленного.

Если период уже закрыт документами, а сумму нужно уменьшить — например, клиент оплатил тридцать рабочих мест, а пользовался двадцатью, — это возврат с корректировкой: возвращается часть суммы, а корректировочный документ уходит клиенту вслед за возвратом.

Много клиентов — много счетов: как не потеряться

Телеком и хостинг выставляют счета сотнями, и главный вопрос к системе — не «как создать заказ», а «как свести реестр». Для этого достаточно двух вещей:

  • Свой номер в каждом заказе. merchantOrderId вида SUB-4417-2026-08 — договор и период. По нему заказ находится без сохранения идентификаторов Инвойсбокса.
  • Выборки по состоянию и датам. Список неоплаченных счетов с истекающим сроком собирается фильтрами: status=created и условие по expirationDate. Ночная сверка по такому запросу заменяет обзвон клиентов.

Обработчик уведомлений стоит сделать идемпотентным: одно и то же уведомление может прийти дважды, и период не должен продлеваться два раза — как проверить свой обработчик.

Что это даёт

  • Клиент-организация платит привычным способом, а сервис продлевается по сигналу об оплате, а не через два-три банковских дня.
  • Счёт, акт и счёт-фактура за период формируются сами и уходят по ЭДО — менеджеру остаются только спорные случаи.
  • Отсрочку и риск неплатежа можно отдать платформе: постоянный клиент подтверждает оплату сразу, а рассчитывается в течение 30 дней — платёжные инструменты.
  • Физлица закрываются тем же вендором: для них работают и списание по сохранённой карте, и чек по 54-ФЗ.

Чем подключиться

ПутьКогда подходит
API и PHP SDKбиллинг сервиса ведёт расписание сам — обычный случай для SaaS и телекома
Готовый модультарифы продаются на сайте: 1С-Битрикс, Тильда, WooCommerce и другие
Платёжный виджетнужно принять оплату за подписку сегодня, до доработки биллинга
ИИ-агентинтеграцию делает Cursor или Claude Code по одному промпту

Смежные кейсы

Посмотреть, как выглядит выставленный счёт и уведомление об оплате, можно в демо Счёт юрлицу из CRM — вызовы уходят на демо-контур.


Выставить первый счёт »

Посмотреть в работе

Интерактивная демонстрация: те же вызовы API, что и в боевом контуре, только на демо-магазине.

Счёт юрлицу из CRMНачать с одного ИНН: реквизиты подтягиваются справочником, счёт с НДС выставляется вызовом API, статус возвращается в сделку.
Страница помогла?