Kobana

Workers que cuidam do seu billing 24/7.

Dunning com 5 retentativas, geração de faturas diária, NFe automática, alerta de cartão expirando, expiração de proposta. Tudo rodando sem você precisar lembrar.

Funcionalidade
Configuração de dunning e contas inadimplentes
35
workers ativos
18
jobs agendados
5
retentativas padrão
24/7
sem intervenção manual

O que está automatizado

Dunning (Recuperação de Pagamentos)
DunningConfig por organização: maxRetries (default 5), retryIntervalDays ([1,2,3,5,7]), suspendAfterRetries, gracePeriodDays (30).
  • Worker payment-retry a cada 6h
  • Múltiplos métodos no retry (cartão → boleto → PIX)
  • DelinquentAccount + RecoveryRecord para auditoria
  • Webhook em cada tentativa
Régua de Comunicação Multi-Canal
NotificationChannel: email, in_app, webhook. EmailTemplate por evento + organização. Cliente pode opt-out granular.
  • 11 NotificationTypes (invoice_created, payment_failed, trial_ending)
  • Templates HTML + texto editáveis
  • NotificationPreference por billing account
Geração Automática de Faturas
Worker invoice-generation diário às 01:00 UTC. Varre subscriptions, gera fatura idempotente, aplica cupons/créditos, emite NFe (se policy).
  • Idempotência por (subscription, period_start)
  • Skip de trial sem cartão
  • Webhook invoice.created + email
Renovação de Assinaturas
Worker subscription-renewal diário às 00:00 UTC. Avança current_period_* no ciclo. Commitment respeitado (12 meses, etc).
  • Suporta auto-renew e prompt
  • Cancel scheduled processado antes
  • Webhook subscription.renewed
Alerta de Cartão Expirando
Worker card-expiring semanal (segunda 10:00 UTC). Detecta cartões com expirationYear/Month em ≤ 30 dias. Notifica via régua.
  • Reduz churn por expiração
  • Email + in-app com link direto
  • Lembrete configurável
Suspensão Automática
Worker suspension-check diário às 02:00 UTC. Suspende BillingAccount após grace period esgotado.
  • suspendedAt + razão registrados
  • Webhook billing_account.suspended
  • Reativação automática em pagamento
Expiração de Propostas
Worker proposal-expiration diário às 00:30 UTC. Marca proposals como expired após expires_at. Worker proposal-reminder (09:00) envia lembrete antes.
  • Aumenta taxa de fechamento
  • Email com link da proposta
  • Métricas de tempo médio
Snapshots de Uso (Analytics)
UsageDailySnapshot + UsageMonthlySnapshot calculados via worker. Base para analytics, MRR e cohorts.
  • Daily snapshot em background
  • Monthly snapshot consolidado
  • Reduz custo de queries em dashboard
Callbacks de Gateway
Worker callback processa payloads recebidos de gateways. Handlers dedicados por provider (Pagar.me, Kobana, NFe.io).
  • Idempotência por idempotencyKey
  • Retry automático em falha
  • Logs completos em Callback model
Worker Custom Domain (DNS + SSL)
Workers custom-domain-dns + custom-domain-ssl validam DNS, emitem cert Let's Encrypt, renovam automaticamente.
  • ACME protocol (acme-client)
  • Renovação 30 dias antes de expirar
  • Status: pending → verified → active

Configurar dunning via API

bash
curl -X PATCH https://api.billing.kobana.com.br/v1/organizations/settings/dunning \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "max_retries": 5,
    "retry_interval_days": [1, 3, 5, 7, 14],
    "suspend_after_retries": true,
    "grace_period_days": 30,
    "auto_retry_enabled": true,
    "retry_payment_methods": ["pix", "bank_slip", "card"]
  }'
response
{
  "id": "dc_xyz",
  "max_retries": 5,
  "retry_interval_days": [1, 3, 5, 7, 14],
  "grace_period_days": 30
}

Perguntas frequentes

Pare de operar billing manualmente