| Пробел | Последствие | Решение |
|---|---|---|
| Нет credit notes | Исправления после оплаты требуют void + повторного invoice | Миграция 039: таблица credit_notes |
| Нет автоматического dunning | Просроченные invoices не помечаются автоматически | Ночной cron: mark overdue + email |
| Нет хранения курса USDC | Выручка признается без задокументированного курса | Миграции 040–041: поля для курса |
| Нет retry-job для сбора | Комиссии со статусом failed накапливаются | Retry queue через next_retry_at + collection_attempts |
billing_mode не enforced | Режим invoice все еще запускает on-chain collection | Gate в collectCreationFee() |
| Нет FX rate lock для settlement | Риск дрейфа курса в течение платежного окна | Фиксировать FX при выпуске statement, а не в момент оплаты |
| Нет логики расчета rebate | Rebate tiers спроектированы, но не вычисляются | Реализовать post-settlement rebate job |
Пробелы относительно лучших практик