Pular para o conteúdo

Como o cashback é gerado e aplicado

Mecânica detalhada do cashback de 20% (F92): disparado pelo webhook Asaas quando indicado paga, somado mensalmente em indicacao_creditos, aplicado em /configuracoes/conta como redutor do custo do mês. Cap = custo da própria mensalidade, sem acumulação.

4 minAtualizado em 06/05/2026

O cashback de 20% sobre o que o indicado paga chega na sua conta como redutor do custo da sua mensalidade Kontato — não é PIX direto, não vira saldo separado, não acumula entre meses. Este artigo cobre a mecânica real.

Fluxo de geração — o que acontece nos bastidores

  1. Indicado paga sua mensalidade Kontato (ex: R$ 47 num mês com 47 clientes ativos)
  2. Asaas confirma pagamento → envia webhook PAYMENT_RECEIVED pro Kontato
  3. Servidor checa: existe indicacoes.indicador_negocio_id apontando pro indicador, com status='ativo'?
  4. Se sim, calcula: credito = valor_pago × 0.20
  5. Upsert em indicacao_creditos com chave asaas_payment_id (idempotente — paga 2x o mesmo, conta 1x)

Tudo é event-driven. Se Asaas falha em enviar o webhook (raríssimo), o crédito não é gerado naquele momento — mas Asaas tenta de novo. Quando chega, idempotência garante sem duplicidade.

Onde você vê o cashback

Acesse: Menu lateral → Configurações → Conta.

A seção FinanceiroSection mostra:

Mês atual (resumo)

  • Clientes ativos (atualizados nos últimos 30 dias)
  • Custo mensal = min(ativos × R$ 1, R$ 99) — teto R$ 99
  • Cashback indicações = soma dos créditos do mês atual em indicacao_creditos
  • Fatura atual = max(0, custo − cashback aplicado)

Histórico 6 meses (cards retráteis)

Cada mês passado mostra: clientes contados, custo, cashback do mês, total cobrado.

Não há página /indicacoes separada — toda visualização do cashback acontece dentro de Configurações → Conta.

Fórmula real (importante)

A fatura da Kontato não é plano fixo. É calculada por cliente:

custo_mes = min(clientes_ativos × R$ 1, R$ 99)
cashback_aplicado = min(soma_creditos_do_mes, custo_mes)
fatura = max(0, custo_mes − cashback_aplicado)

Cap importante: cashback_aplicado ≤ custo_mes. Se você gerou mais cashback do que o custo, excedente é perdido naquele mês.

Cálculo prático — exemplos reais

Caso 1: 1 indicado pagando R$ 30/mês

  • Cashback gerado: 30 × 0.20 = R$ 6,00
  • Sua mensalidade: 47 clientes ativos = R$ 47
  • Cashback aplicado: R$ 6 (cabe no custo)
  • Fatura: R$ 41,00

Caso 2: 5 indicados pagando R$ 30 cada

  • Cashback total: 5 × 6 = R$ 30,00
  • Sua mensalidade: 47 clientes = R$ 47
  • Cashback aplicado: R$ 30 (cabe)
  • Fatura: R$ 17,00

Caso 3: 10 indicados pagando R$ 50 cada

  • Cashback total: 10 × 10 = R$ 100,00
  • Sua mensalidade: 47 clientes = R$ 47
  • Cashback aplicado: R$ 47 (capped — excedente R$ 53 perdido)
  • Fatura: R$ 0,00

No caso 3, 53 reais de cashback foram perdidos. Se isso acontece sempre, considere o Programa de Promotores (em construção) — lá o pagamento é Pix direto sem cap.

O que NÃO acumula

CenárioComportamento
Cashback do mês > custoExcedente perdido naquele mês ❌
Sobra de Janeiro pra FevereiroNão existe — cada mês fecha sozinho ❌
Cashback vira PIX retirávelNão — é só redutor de fatura ❌
Cashback some quando você paga R$ 0Não — fatura R$ 0 é registrada ✅

Vitalício

Cashback é vitalício enquanto indicado pagar:

  • Indicado em status='ativo' paga mês 1, mês 2, mês 3 → você ganha 20% de cada um, indefinidamente
  • Não há prazo "ganha 12 meses, depois acaba"
  • Se indicado upgrade pra plano mais caro (mais clientes), seu cashback aumenta automaticamente (sempre 20% sobre o valor pago)

Edge cases (reais, verificados)

Indicado cancela

Se indicado cancela conta:

  • indicacoes.status muda de ativo (lógica de cancelamento)
  • Próximos pagamentos dele (se houver) NÃO geram cashback — webhook checa status='ativo'
  • Cashbacks já gerados ficam no histórico, não são estornados

Indicado atrasa pagamento

Webhook PAYMENT_RECEIVED só dispara em pagamento confirmado. Se indicado atrasa:

  • Mês X: sem pagamento → sem cashback nesse mês
  • Pagou em atraso (mês X+1): cashback é gerado na data do pagamento real, vai pro mês corrente, não retroage pra mês X

Webhook Asaas falhou

Asaas tem retry. Se eventualmente o webhook chega, idempotência (onConflict: "asaas_payment_id") garante que não há duplicação. Crédito é gravado uma única vez por asaas_payment_id.

Você muda de status (cancela e reativa)

Cashbacks que você gerou ficam no histórico permanentemente. Se reativa, novos pagamentos de indicados continuam gerando.

Múltiplos indicados pagando no mesmo dia

Sem problema — cada asaas_payment_id é único, cada upsert cria linha própria. Soma natural via cashbackBruto = sum(creditos do mês).

Calibração recomendada

FaixaRecomendação
0-1 indicados ativosZona "casual" — cashback presente mas pequeno
2-5 indicados ativosZona ótima — cashback geralmente cabe no custo
6+ indicados ativosExcedente provável — considere migrar pra Promotores quando ativo

Próximos artigos

Esse artigo foi útil?

Ainda não usa a Kontato?

Trial grátis · sem cartão de crédito · cancele quando quiser.

Criar conta grátis