A cobrança baseada em assentos permite que você cobre dos clientes com base no número de usuários, membros da equipe ou licenças que eles precisam. É o modelo de precificação padrão para ferramentas de colaboração em equipe, software empresarial e produtos SaaS B2B.
Tutorial de Implementação
Guia passo a passo com exemplos de código.
Documentação de Add-ons
Aprenda sobre o sistema de add-ons que alimenta a cobrança baseada em assentos.
Gerenciamento de Assinaturas
Gerencie assinaturas baseadas em assentos e mudanças de plano.
Webhooks
Acompanhe mudanças de assentos com webhooks de assinatura.
O que é Cobrança Baseada em Assentos?
A cobrança baseada em assentos (também chamada de preços por usuário ou por assento) cobra dos clientes com base no número de usuários que acessam seu produto. Em vez de uma taxa fixa, o preço escala com o tamanho da equipe.Casos de Uso Comuns
| Indústria | Exemplo | Modelo de Preço |
|---|---|---|
| Colaboração em Equipe | Slack, Notion, Asana | Por usuário ativo/mês |
| Ferramentas para Desenvolvedores | GitHub, GitLab, Jira | Por assento/mês |
| Software de CRM | Salesforce, HubSpot | Por licença de usuário |
| Ferramentas de Design | Figma, Canva | Por assento de editor |
| Software de Segurança | 1Password, Okta | Por usuário/mês |
| Videoconferência | Zoom, Teams | Por licença de anfitrião |
Benefícios da Cobrança Baseada em Assentos
Para o Seu Negócio:- A receita escala naturalmente à medida que os clientes crescem
- Preços previsíveis que os clientes podem orçar
- Caminho claro de upgrade de individual para equipe para empresarial
- Maior valor vitalício à medida que as equipes se expandem
- Pague apenas pelo que usam
- Fácil de entender e prever custos
- Flexibilidade para adicionar/remover usuários conforme necessário
- Preços justos que correspondem ao tamanho da equipe
Como a Cobrança Baseada em Assentos Funciona no Dodo Payments
O Dodo Payments implementa a cobrança baseada em assentos usando o sistema de Add-ons. Veja como funciona:Visão Geral da Arquitetura
Uma assinatura Team Pro custa $99/mês e inclui 5 assentos. Se você tiver mais de 5 usuários, pagará um adicional de $15/mês por cada assento extra. Por exemplo, se sua equipe precisar de 15 assentos:- Plano Base: $99/mês (inclui 5 assentos)
- Add-ons: 10 assentos extras × $15/mês = $150/mês
- Custo total mensal: $99 + $150 = $249 por 15 assentos
Componentes Chave
| Componente | Propósito | Exemplo |
|---|---|---|
| Produto Base | Assinatura principal com assentos incluídos | ”Plano de Equipe - $99/mês (5 assentos incluídos)“ |
| Add-on de Assento | Cobrança por assento para usuários adicionais | ”Assento Extra - $15/mês cada” |
| Quantidade | Número de assentos adicionais adquiridos | 10 assentos extras |
Estratégias de Preço
Escolha a estratégia de preço baseada em assentos que se encaixa no seu negócio:Estratégia 1: Base + Add-on por Assento
Inclua um número definido de assentos no plano base, cobrando por assentos adicionais. Exemplo:Estratégia 2: Preço Puro por Assento
Cobre uma taxa fixa por assento sem taxa base. Exemplo:Estratégia 3: Preço por Assento em Camadas
Diferentes planos base com diferentes taxas por assento. Exemplo:Estratégia 4: Pacotes de Assentos
Venda assentos em pacotes em vez de individualmente. Exemplo:Configurando a Cobrança Baseada em Assentos
Passo 1: Planeje Sua Estrutura de Preços
Antes da implementação, defina sua estrutura de preços:1
Defina o Plano Base
Decida o que está incluído na assinatura base:
- Preço base (pode ser $0 para puro por assento)
- Número de assentos incluídos
- Recursos disponíveis neste nível
2
Defina o Preço por Assento
Determine o custo do add-on por assento:
- Preço por assento adicional
- Quaisquer descontos por volume (via múltiplos add-ons)
- Número máximo de assentos permitidos (se aplicável)
3
Considere a Frequência de Cobrança
Alinhe o preço dos assentos com seu ciclo de cobrança:
- Assinaturas mensais → cobranças mensais por assento
- Assinaturas anuais → cobranças anuais por assento (geralmente com desconto)
Passo 2: Crie o Add-on de Assento
No seu painel do Dodo Payments:- Navegue até Produtos → Add-Ons
- Clique em Criar Add-On
- Configure o add-on:
| Campo | Valor | Notas |
|---|---|---|
| Nome | ”Assento Adicional” ou “Membro da Equipe” | Nome claro e amigável ao usuário |
| Descrição | ”Adicione outro membro da equipe ao seu espaço de trabalho” | Explique o que os clientes recebem |
| Preço | Seu preço por assento | ex: $10.00 |
| Moeda | Combine com seu produto base | Deve ser a mesma moeda |
| Categoria de Imposto | A mesma do produto base | Garante tratamento fiscal consistente |
Passo 3: Crie o Produto de Assinatura
Crie seu produto de assinatura:- Navegue até Produtos → Criar Produto
- Selecione Assinatura
- Configure preços e detalhes
- Na seção Add-Ons, anexe seu add-on de assento
Passo 4: Anexe o Add-on ao Produto
Vincule o add-on de assento à sua assinatura:- Edite seu produto de assinatura
- Role até a seção Add-Ons
- Clique em Adicionar Add-Ons
- Selecione seu add-on de assento
- Salve as alterações
Seu produto de assinatura agora suporta preços baseados em assentos. Os clientes podem comprar qualquer quantidade de assentos adicionais durante o checkout.
Gerenciando Assentos
Adicionando Assentos a Novas Assinaturas
Ao criar uma sessão de checkout, especifique a quantidade de assentos:Alterando a Contagem de Assentos em Assinaturas Existentes
Use a API de Alteração de Plano para ajustar os assentos:Removendo Assentos
Para reduzir a contagem de assentos, especifique a quantidade menor:Removendo Todos os Assentos Adicionais
Passe um array de add-ons vazio para remover todos os add-ons:Prorrata para Mudanças de Assentos
Quando os clientes adicionam ou removem assentos no meio do ciclo, a prorrata determina como eles são cobrados.Modos de Prorrata
| Modo | Adicionando Assentos | Removendo Assentos |
|---|---|---|
prorated_immediately | Cobrar pelos dias restantes no ciclo | Crédito pelos dias não utilizados |
difference_immediately | Cobrar preço total do assento | Crédito aplicado a renovações futuras |
full_immediately | Cobrar preço total do assento, redefinir ciclo de cobrança | Sem crédito |
Exemplos de Prorrata
Cenário: 15 dias restantes no ciclo de cobrança, adicionando 5 assentos a $10/assento- prorated_immediately
- difference_immediately
- full_immediately
Pré-visualização Antes de Alterar
Sempre pré-visualize a prorrata antes de fazer alterações:Acompanhando Assentos com Webhooks
Monitore mudanças de assentos ouvindo webhooks de assinatura:Eventos Relevantes
| Evento | Quando é Acionado | Caso de Uso |
|---|---|---|
subscription.active | Nova assinatura ativada | Provisionar assentos iniciais |
subscription.plan_changed | Assentos adicionados/removidos | Atualizar contagem de assentos em seu aplicativo |
subscription.renewed | Assinatura renovada | Confirmar que a contagem de assentos não mudou |
subscription.cancelled | Assinatura cancelada | Deprovisionar todos os assentos |
Exemplo de Manipulador de Webhook
Aplicando Limites de Assentos
Sua aplicação deve aplicar limites de assentos. O Dodo Payments rastreia a cobrança, mas você controla o acesso.Estratégias de Aplicação
- Limite Rigoroso
- Limite Flexível com Aviso
- Auto-Upgrades
Impeça estritamente a adição de usuários além da contagem de assentos.
Padrões Avançados
Diferentes Tipos de Assentos
Ofereça diferentes tipos de assentos com preços diferentes:Descontos Anuais para Assentos
Ofereça preços de assentos anuais com desconto:Requisitos Mínimos de Assentos
Exija um número mínimo de assentos para certos planos:Melhores Práticas
Melhores Práticas de Preço
- Comunicação Clara: Mostre o preço por assento de forma proeminente em sua página de preços
- Assentos Incluídos: Considere incluir alguns assentos no preço base para reduzir a fricção
- Descontos por Volume: Ofereça taxas por assento mais baixas para equipes maiores para conquistar negócios empresariais
- Incentivos Anuais: Desconte planos anuais para melhorar o fluxo de caixa e a retenção
Melhores Práticas Técnicas
- Cache de Contagens de Assentos: Armazene em cache as contagens de assentos de assinatura localmente para evitar chamadas de API em cada solicitação
- Sincronize Regularmente: Sincronize periodicamente sua contagem de assentos local com o Dodo Payments via API
- Gerencie Falhas: Se uma mudança de assento falhar, mostre mensagens de erro claras e opções de nova tentativa
- Registro de Auditoria: Registre todas as mudanças de assentos para disputas de cobrança e conformidade
Melhores Práticas de Experiência do Usuário
- Feedback em Tempo Real: Mostre o impacto imediato no custo ao ajustar assentos
- Passos de Confirmação: Exija confirmação antes de mudanças de cobrança
- Transparência na Prorrata: Explique claramente as cobranças prorrateadas antes de aplicar
- Facilidade de Downgrade: Não dificulte a redução de assentos (isso constrói confiança)
Resolução de Problemas
Desvio na contagem de assentos entre o app e a cobrança
Desvio na contagem de assentos entre o app e a cobrança
Sintoma: Seu app mostra uma contagem de assentos diferente da assinatura.Causas:
- Webhook não recebido ou processado
- Condição de corrida durante a mudança de assento
- Dados em cache não atualizados
- Implemente manipuladores de webhook para
subscription.plan_changed - Adicione um botão “Sincronizar com a cobrança” que busca a assinatura atual
- Defina o TTL do cache para garantir atualizações regulares
Cobranças prorrateadas inesperadas
Cobranças prorrateadas inesperadas
Sintoma: Cliente confuso com o valor da cobrança no meio do ciclo.Causas:
- Modo de prorrata não comunicado claramente
- Cliente não viu a pré-visualização antes de confirmar
- Sempre use
previewChangePlanantes de fazer alterações - Mostre uma divisão clara: “Adicionando X assentos = $Y hoje (prorrateado por Z dias)”
- Documente sua política de prorrata no centro de ajuda
Add-on não aparecendo no checkout
Add-on não aparecendo no checkout
Sintoma: Add-on de assento não disponível durante o checkout.Causas:
- Add-on não anexado ao produto
- Add-on arquivado ou excluído
- Desvio de moeda entre produto e add-on
- Verifique se o add-on está anexado nas configurações do produto
- Verifique o status do add-on no painel de Add-Ons
- Certifique-se de que as moedas correspondem exatamente
Não é possível reduzir assentos abaixo do uso atual
Não é possível reduzir assentos abaixo do uso atual
Sintoma: Cliente deseja reduzir assentos, mas tem usuários atribuídos.Soluções:
- Mostre quais usuários devem ser removidos antes de reduzir assentos
- Implemente um fluxo de trabalho: Remover usuários → Reduzir assentos
- Considere um período de carência antes de aplicar a redução de assentos