Kobana

Workers que cuidan tu billing 24/7.

Dunning con 5 reintentos, generación de facturas diaria, NFe automática, alerta de tarjeta por vencer, expiración de propuesta. Todo ejecutándose sin que tengas que recordarlo.

Funcionalidad
Configuración de dunning y cuentas morosas
35
workers activos
18
jobs programados
5
reintentos estándar
24/7
sin intervención manual

Qué está automatizado

Dunning (Recuperación de Pagos)
DunningConfig por organización: maxRetries (default 5), retryIntervalDays ([1,2,3,5,7]), suspendAfterRetries, gracePeriodDays (30).
  • Worker payment-retry cada 6h
  • Múltiples métodos en retry (tarjeta → boleto → PIX)
  • DelinquentAccount + RecoveryRecord para auditoría
  • Webhook en cada intento
Régua de Comunicación Multi-Canal
NotificationChannel: email, in_app, webhook. EmailTemplate por evento + organización. El cliente puede hacer opt-out granular.
  • 11 NotificationTypes (invoice_created, payment_failed, trial_ending)
  • Templates HTML + texto editables
  • NotificationPreference por billing account
Generación Automática de Facturas
Worker invoice-generation diario a las 01:00 UTC. Recorre subscriptions, genera factura idempotente, aplica cupones/créditos, emite NFe (si policy).
  • Idempotencia por (subscription, period_start)
  • Skip de trial sin tarjeta
  • Webhook invoice.created + email
Renovación de Suscripciones
Worker subscription-renewal diario a las 00:00 UTC. Avanza current_period_* en el ciclo. Commitment respetado (12 meses, etc).
  • Soporta auto-renew y prompt
  • Cancel scheduled procesado antes
  • Webhook subscription.renewed
Alerta de Tarjeta por Vencer
Worker card-expiring semanal (lunes 10:00 UTC). Detecta tarjetas con expirationYear/Month en ≤ 30 días. Notifica vía régua.
  • Reduce churn por expiración
  • Email + in-app con link directo
  • Recordatorio configurable
Suspensión Automática
Worker suspension-check diario a las 02:00 UTC. Suspende BillingAccount después de agotado el grace period.
  • suspendedAt + razón registrados
  • Webhook billing_account.suspended
  • Reactivación automática en pago
Expiración de Propuestas
Worker proposal-expiration diario a las 00:30 UTC. Marca proposals como expired después de expires_at. Worker proposal-reminder (09:00) envía recordatorio antes.
  • Aumenta tasa de cierre
  • Email con link de la propuesta
  • Métricas de tiempo promedio
Snapshots de Uso (Analytics)
UsageDailySnapshot + UsageMonthlySnapshot calculados vía worker. Base para analytics, MRR y cohorts.
  • Daily snapshot en background
  • Monthly snapshot consolidado
  • Reduce costo de queries en dashboard
Callbacks de Gateway
Worker callback procesa payloads recibidos de gateways. Handlers dedicados por provider (Pagar.me, Kobana, NFe.io).
  • Idempotencia por idempotencyKey
  • Retry automático en fallo
  • Logs completos en Callback model
Worker Custom Domain (DNS + SSL)
Workers custom-domain-dns + custom-domain-ssl validan DNS, emiten cert Let's Encrypt, renuevan automáticamente.
  • ACME protocol (acme-client)
  • Renovación 30 días antes de expirar
  • Estado: pending → verified → active

Configurar dunning vía 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

Deja de operar billing manualmente