Billing em SaaS: assinaturas, cobrança recorrente e dunning
Cobrar parece a parte simples de um SaaS: o cliente assina, o cartão é debitado todo mês, o dinheiro entra. Quem já construiu um sistema de billing sabe que essa simplicidade é uma ilusão. Cartões expiram, cobranças falham, clientes fazem upgrade no meio do ciclo, pedem reembolso, cancelam e voltam. Impostos variam por região. E cada uma dessas situações, se mal tratada, vira perda de receita ou cliente irritado. O billing é, silenciosamente, um dos subsistemas mais complexos e críticos de um produto por assinatura.
Este guia percorre as peças que fazem a cobrança recorrente funcionar de verdade: os modelos de pricing, o papel dos gateways e dos webhooks, o processo de dunning que recupera pagamentos falhos, os cuidados com impostos e as métricas que dizem se o negócio está saudável. O objetivo não é escolher um fornecedor, é entender o que precisa estar certo por baixo.
Modelos de pricing e cobrança
Antes da mecânica, a estratégia. O modelo de cobrança molda o código de billing, e alguns padrões dominam o mercado SaaS:
- Assinatura fixa por plano: o cliente paga um valor recorrente por um pacote (Básico, Pro, Enterprise). Simples de entender e de prever.
- Por assento (per seat): o valor é multiplicado pelo número de usuários. Escala com o cliente, mas exige controlar quantos assentos estão ativos.
- Baseado em uso (usage-based): cobra pelo consumo real (chamadas de API, gigabytes, mensagens enviadas). Justo e alinhado ao valor, porém mais complexo de medir e faturar.
- Híbrido: uma base fixa mais excedente por uso. Combina previsibilidade com elasticidade e é cada vez mais comum.
Sobre esses modelos incidem detalhes que o sistema precisa tratar: ciclos mensais e anuais, períodos de teste (trial), cupons e descontos, e o famoso proration, o cálculo proporcional quando um cliente muda de plano no meio do ciclo e você precisa cobrar (ou creditar) apenas a diferença dos dias restantes.
Gateways e a regra de ouro dos dados de cartão
O gateway de pagamento é o serviço que processa as transações e conversa com as bandeiras e bancos. Aqui vale a regra mais importante de todo o billing: você não guarda dados de cartão. Armazenar número de cartão exige conformidade com o padrão PCI DSS, um conjunto de requisitos de segurança rigoroso e caro. A prática correta é deixar o gateway guardar o cartão e devolver um token, uma referência que representa aquele meio de pagamento sem expor os dados sensíveis. O seu sistema guarda o token, nunca o cartão.
Essa tokenização não é só conveniência, é redução drástica de risco e de responsabilidade legal. Um vazamento no seu banco de dados não expõe cartão nenhum, porque cartão nenhum está lá.
Webhooks: o billing é assíncrono
O erro conceitual mais comum ao integrar pagamentos é tratá-los como síncronos: "chamei a API de cobrança, recebi sucesso, pronto". Pagamento não funciona assim. Muitas coisas acontecem depois e fora do seu controle: uma cobrança recorrente é processada dias depois, um pagamento é confirmado por um banco com atraso, um estorno é aberto, uma assinatura expira.
A forma de saber desses eventos são os webhooks: o gateway envia uma notificação ao seu servidor sempre que algo relevante acontece. O seu sistema reage a esses eventos como fonte da verdade. Alguns eventos essenciais para tratar:
| Evento de webhook | O que significa | Ação típica |
|---|---|---|
| Pagamento bem-sucedido | A cobrança do ciclo passou | Renovar acesso, emitir recibo |
| Pagamento falhou | O cartão foi recusado | Iniciar dunning, avisar o cliente |
| Assinatura cancelada | O cliente ou o sistema cancelou | Encerrar acesso no fim do período |
| Estorno (chargeback) | O cliente contestou a cobrança | Revisar, possivelmente suspender |
| Trial terminando | O período de teste vai acabar | Lembrar o cliente, converter |
Dois cuidados são obrigatórios com webhooks: verifique a assinatura de cada notificação para garantir que veio mesmo do gateway, e trate o processamento de forma idempotente, porque o mesmo evento pode chegar mais de uma vez e você não pode cobrar ou liberar acesso em duplicidade.
Dunning: recuperar cobranças falhas
Aqui está a parte que mais impacta a receita e que a maioria dos times subestima. Uma fatia relevante das cobranças recorrentes falha por motivos banais: cartão expirado, limite insuficiente, bloqueio temporário do banco. Isso é o chamado churn involuntário, clientes que não quiseram sair, mas saem porque o pagamento falhou e ninguém fez nada. Recuperá-los é dinheiro deixado na mesa.
O processo de dunning é a estratégia sistemática de recuperar esses pagamentos:
- Retentativas inteligentes. Em vez de tentar de novo na hora, reprograme as tentativas para momentos com mais chance de sucesso (alguns dias depois, início do mês quando salários caem). A cadência importa.
- Comunicação com o cliente. E-mails claros avisando que o pagamento falhou e pedindo a atualização do cartão recuperam boa parte dos casos, porque muitos são simplesmente cartão vencido.
- Período de carência (grace period). Não corte o acesso no primeiro erro. Dê uma janela para o cliente resolver, mantendo o serviço enquanto as retentativas acontecem.
- Atualização automática de cartão. Alguns gateways atualizam sozinhos os dados de cartões renovados pela bandeira, evitando a falha antes que ela aconteça.
Um bom fluxo de dunning transforma churn involuntário recuperado em um ganho direto de receita, muitas vezes sem que o cliente sequer perceba o susto.
Impostos: a complexidade que não dá para ignorar
Cobrar globalmente significa lidar com impostos que variam por país, estado e tipo de produto. Nos modelos digitais, isso inclui regras específicas para serviços prestados a distância, e as obrigações mudam conforme onde está o cliente, não só onde está a empresa. Tratar imposto na mão é um caminho garantido para erro fiscal.
A abordagem sensata é apoiar-se em serviços especializados de cálculo e recolhimento de impostos, que se integram ao billing e aplicam a alíquota correta por transação e localidade. O importante é reconhecer, desde o design, que imposto não é um detalhe de última hora: ele afeta o valor cobrado, a nota emitida e as obrigações legais do negócio.
Métricas de receita que importam
Um sistema de billing bem construído é também a fonte das métricas que medem a saúde do SaaS. As principais:
- MRR (Monthly Recurring Revenue): a receita recorrente mensal normalizada. É o batimento cardíaco do negócio por assinatura.
- ARR (Annual Recurring Revenue): a versão anualizada do MRR.
- Churn de receita: quanto de MRR se perde por cancelamentos e downgrades em um período. Separe o churn voluntário (o cliente decidiu sair) do involuntário (falha de pagamento), porque eles se combatem de formas diferentes.
- Expansão (expansion MRR): receita adicional de clientes existentes que fizeram upgrade ou aumentaram o uso. Um SaaS saudável cresce muito por expansão.
- LTV (Lifetime Value): o valor total que um cliente gera enquanto permanece. Guia quanto vale a pena investir para adquiri-lo.
Essas métricas não são vaidade: elas orientam decisões de pricing, de retenção e de investimento. E todas dependem de um billing que registre corretamente cada cobrança, upgrade, cancelamento e recuperação.
Cobrar bem é reter receita
Billing é um sistema que, quando funciona, ninguém elogia, mas que, quando falha, custa receita e confiança de forma direta. Modelos de pricing bem modelados, tokenização que tira o cartão do seu banco, webhooks tratados como fonte da verdade, um fluxo de dunning que recupera pagamentos falhos, impostos sob controle e métricas confiáveis: cada peça protege o dinheiro que o produto já conquistou. Em um SaaS, reter a receita existente costuma ser mais barato e mais impactante do que buscar nova.
Na ConstructorTI, construímos sistemas de billing robustos para produtos por assinatura: cobrança recorrente com proration, integração segura com gateways e tokenização, webhooks idempotentes, dunning que reduz churn involuntário, tratamento de impostos e métricas de receita confiáveis como MRR e churn. Se a cobrança do seu SaaS gera perda de receita, retrabalho ou insegurança, fale com o nosso time e saia da conversa com um plano claro para deixar o seu billing sólido e previsível.