Сверка подписок
Что это за сервис
Заголовок раздела «Что это за сервис»Рабочее место бухгалтера и финансового контролёра подписочного бизнеса. Сервис сопоставляет, что выставлено по каждой подписке в биллинге, что отражено в ERP и что фактически пришло на счёт, и у каждой подписки появляется один статус сверки.
Без такого сервиса счета и оплаты лежат в трёх системах, и статусы в них не совпадают. Каждый разбор начинается с выяснения, какие цифры окончательные. Несопоставленные операции копятся, пока кто-нибудь не запустит ручную проверку в неделю закрытия. Согласования исправлений ждут по неделе без понятного владельца, а разница между выставленным и полученным обнаруживается после закрытия книг.
Сервис нужен, когда подписок сотни и больше, есть несколько тарифов, скидки, возвраты и оплата через разных провайдеров. При десятке клиентов на одном тарифе хватит отчёта в учётной системе. Результат работы сервиса — не ещё один отчёт, а короткий список позиций, по которым нужно принять решение, и история того, кто и почему его принял.
Что он делает
Заголовок раздела «Что он делает»- Даёт каждой подписке статус сверки. Данные биллинга, ERP и банка соединяются, и подписка получает статус «Сверено», «Ожидает» или «Расхождение».
- Сопоставляет автоматически. Счета и поступления связываются по идентификатору подписки, клиенту, сумме и периоду с настраиваемым допуском.
- Ведёт очередь расхождений. Несопоставленные счета и платежи появляются ежедневно с возрастом и ответственным.
- Проводит исправления через согласование. Списание разницы или ручная привязка платежа требуют решения с владельцем шага и сроком.
- Следит за разницей выставленного и полученного. Расхождение по периоду видно постоянно, а при превышении порога приходит уведомление.
Нюансы и особенности
Заголовок раздела «Нюансы и особенности»- Разные идентификаторы — нормальная ситуация. Если биллинг и ERP нумеруют подписки по-разному, таблица соответствия хранится в приложении, а сопоставление может идти по сочетанию полей: клиент, сумма, период.
- Частичные оплаты и допуски. Один счёт может закрываться двумя платежами, а комиссия провайдера создаёт небольшую разницу. Правила разбиения и допуск задаются в настройках, точное совпадение не требуется.
- Возвраты и кредит-ноты — отрицательные строки. Их учитывают в сверке как отдельные записи, а не правят исходный счёт. Так история остаётся полной, а аудитор видит и исходную сумму, и корректировку.
- Статус тоже устаревает. Позицию, которая не менялась больше недели, выводят на экран отдельно, а не прячут в отчёте.
- Предзакрытие каждый день. Расхождения разбирают в течение месяца, тогда к закрытию остаются только новые.
- Запуск параллельно с текущим процессом. Сначала сервис работает как проверка поверх таблиц, а от ручной сверки отказываются, когда цифры начинают сходиться. Биллинг, ERP и банк остаются главными системами.
- Аудитору — доступ на чтение. Отдельная роль видит статусы и историю сверки без права изменений, а выгрузка отчёта ограничена так же, как экран.
Как сгенерировать через ИИ-агентов
Заголовок раздела «Как сгенерировать через ИИ-агентов»Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному: каждый шаг даёт результат, который можно проверить до перехода к следующему.
1. Данные и модели
Заголовок раздела «1. Данные и модели»Создай модели и миграции для сверки подписок: Subscription (клиент,тариф, категория из справочника, идентификаторы в биллинге и ERP),BillingInvoice (подписка, период, сумма, валюта, внешний id), LedgerEntry(подписка, сумма, дата, внешний id в ERP), BankReceipt (сумма, дата,плательщик, назначение), Match (счёт, связанные поступления и проводки,разница, статус), ReconciliationRule (допуск в деньгах и процентах,окно в днях). Добавь фабрики с демо-данными.2. Загрузка источников
Заголовок раздела «2. Загрузка источников»Сделай фоновые задачи по расписанию для загрузки счетов из биллинга,проводок из ERP и банковских поступлений через API или импорт CSV.Категорию подписки проверяй по справочнику при загрузке, повторнаязагрузка той же записи не создаёт дубль. Время последней загрузкикаждого источника сохраняй и показывай в панели.3. Сопоставление
Заголовок раздела «3. Сопоставление»Сделай сервис сопоставления: связывай счёт с поступлениями и проводкамипо подписке, клиенту, сумме и периоду с допуском изReconciliationRule, поддержи закрытие одного счёта несколькимиплатежами и возвраты как отрицательные строки. Всё, что несопоставилось, помечай статусом «Расхождение».Проверьте на демо-данных счёт, оплаченный двумя платежами с комиссией провайдера в пределах допуска: он должен получить статус «Сверено».
4. Очередь расхождений и исправления
Заголовок раздела «4. Очередь расхождений и исправления»Сгенерируй Filament-ресурс для Match с вкладками по статусу, колонкамивозраста и ответственного и фильтром «Не менялось больше 7 дней».Добавь действия «Привязать платёж вручную» и «Списать разницу» собязательной причиной; оба проходят согласование контролёра со срокоми уведомлением в панели.5. Виджеты, доступ и выгрузка
Заголовок раздела «5. Виджеты, доступ и выгрузка»Добавь виджеты доли сверенных подписок и разницы выставленного иполученного за период с уведомлением при превышении порога. Настройроли: бухгалтер, контролёр, аудитор только на чтение. Добавь экспортотчёта о сверке с историей решений в CSV.Похожие сценарии
Заголовок раздела «Похожие сценарии»- Неуспешные платежи и возврат выручки — отказы списаний, из которых вырастает разница выставленного и полученного.
- Дашборд выручки — подписочные показатели, которые опираются на сверенные данные.
- Трекер закрытия месяца — сверка подписок как задача закрытия периода.