Segunda-feira, 4 de março, 2024. 8h23.
Dashboard de reconciliação flagga divergência: R$ 2.347 não reportado por gateway.
Cliente: marketplace cosméticos, 3.200 tx/mês. Divergência pequena (0,8% do volume diário). Investigamos.
O Que Encontramos
Solicitamos histórico 6 meses. Comparação linha a linha (nossa base vs relatórios gateway).
Resultado:
- 234 transações processadas, aprovadas, cobradas do cliente final
- Zero dessas 234 no relatório de liquidação do gateway
- Range valores: R$ 34,90 até R$ 890,00
- Total não reportado: R$ 47.234,56
Cliente processava, cobrava, mas gateway "esquecia" de incluir na liquidação. R$ 47k evaporados em 6 meses.
Cliente não sabia.
Faturamento dashboard interno: R$ 284k
Recebido banco: R$ 276k
Diferença: R$ 8k
"Normal, taxas, ajustes, chargebacks..."
Ninguém conferia linha a linha. 3.200 tx/mês = trabalho manual insustentável.
Como a Falha Aconteceu
Fluxo normal:
- Cliente compra R$ 89,90
- Sistema registra transação #789456
- Gateway aprova, retorna acquirerId: GW_XYZ123
- 30 dias depois: gateway envia relatório liquidação
- Banco transfere valor consolidado
A falha:
Gateway aprovava transação (existia no sistema deles, acquirerId válido). Mas não incluía no relatório de liquidação.
Frequência: 0,7% das transações (234 de 33.428 em 6 meses).
Bug no export do gateway. Transação processada corretamente, relatório gerado incorretamente.
Como Reconciliação Detectou
Processo automático (executa 2h da madrugada):
- Busca transações D-1 no banco interno
- Baixa relatório gateway via API
- Faz matching por acquirerId
- Calcula divergências
- Envia alerta se divergência >R$ 500 ou >1% volume
Números:
- Sistema interno: 107 tx, R$ 23.456,78
- Gateway reportou: 105 tx, R$ 21.109,22
- Divergência: 2 tx, R$ 2.347,56
Sistema flagga automaticamente.
Dashboard mostrou:
| ID Interno | Valor | acquirerId | Status Gateway |
|---|---|---|---|
| #789456 | R$ 1.450,00 | GW_XYZ123 | ❌ Não encontrado |
| #789489 | R$ 897,56 | GW_ABC789 | ❌ Não encontrado |
Email 8h: "2 divergências detectadas 03/mar". Time financeiro investiga em <2h.
Recuperação: 15 Dias
D+0 (4/mar): Enviamos logs para gateway. Print telas mostrando transação aprovada. Comprovante banco cliente final (dinheiro saiu).
D+1-3: Gateway investiga internamente.
D+4-7: Gateway nega. "Não encontramos estas transações no nosso sistema".
D+8: Enviamos lista completa. 234 transações, 6 meses. Prints. acquirerId deles.
D+9-12: Silêncio.
D+13: Resposta. "Identificamos bug no sistema de relatórios. Transações processadas corretamente mas não exportadas para arquivo liquidação."
D+15: Ajuste retroativo. R$ 47.234,56 creditados. Bug corrigido.
Sem reconciliação automática: R$ 47k perdidos permanentemente. Cliente nunca saberia.
Com reconciliação: Detectado <6h da ocorrência. Recuperado em 15 dias.
Outros 3 Casos Reais
Caso 2: Chargeback Não Comunicado (R$ 8.940)
Transação aprovada R$ 8.940. 60 dias depois: chargeback (cliente contestou no banco).
Gateway estornou valor mas não notificou. Sistema ainda mostrava transação como succeeded.
Reconciliação detectou: gatewayAmount = -8940 mas amount = 8940.
Ação: marcamos transação como reversed, atualizamos contabilidade, evitamos descasamento.
Caso 3: Duplicação de Cobrança (R$ 234,90)
Cliente pagou 1×. Gateway cobrou 2× (bug).
Reconciliação flagou: 1 transação nossa, 2 no relatório gateway (mesmo valor, acquirerId diferente).
Identificamos duplicata antes de repassar para lojista. Solicitamos estorno gateway. Zero confusão contábil.
Caso 4: Arredondamento Acumulado (R$ 1.890)
Gateway arredonda taxas para 2 casas decimais. Nós usamos 4.
6 meses, 4.500 transações:
- Soma nossa: R$ 234.567,8934
- Soma gateway: R$ 232.677,89
- Diferença: R$ 1.890,00
Ajustamos precisão decimal. Recuperamos diferença.
Implementação Técnica
3 campos críticos:
- Valor interno
- Valor reportado gateway
- ID no sistema gateway (chave matching)
Lógica de matching:
- Valores iguais → Reconciliado ✅
- Diferença
- Diferença ≥R$ 1 → Divergente 🚨 (investigar)
- Gateway não reportou → Pendente 🕐 (flaggar se >48h)
Dashboard real-time:
- ✅ 99,5% reconciliado (3.184 tx)
- ⚠️ 0,4% arredondamento (13 tx, diferença
- 🚨 0,1% divergente (3 tx, investigar)
ROI da Reconciliação
Cliente 3.200 tx/mês:
Opção 1: Manual
- Tempo: 80h/mês (2 pessoas × 40h)
- Custo: R$ 8.000/mês
- Eficácia: ~85% (sempre escapa algo)
Opção 2: Não reconciliar
- Custo aparente: R$ 0
- Custo real: R$ 47k perdidos/6 meses = R$ 7.800/mês
- Risco: você não sabe que está perdendo
Opção 3: Automático
- Custo: incluído na plataforma
- Tempo humano: 2h/mês (só exceções)
- Eficácia: 99,97%
ROI: R$ 7.800 recuperados/mês - R$ 0 custo adicional = infinito.
Implementação Mínima Viável
Para quem quer implementar internamente:
- Exporta transações do dia
- Baixa relatório gateway (API ou CSV)
- Compara em planilha (PROCV por acquirerId)
- Flagga divergências
Tempo: 30 min/dia. Manual, mas funciona.
Versão automática:
- Cron job 2h da madrugada
- Puxa via API (gateway + interno)
- SQL compara automaticamente
- Email alerta só exceções
Tempo: 0 min/dia. 2h/mês analisando exceções.
Conclusão
Gateways erram. Não por má-fé. São milhões de transações, sistemas complexos, bugs acontecem.
Erro do gateway = prejuízo seu. Cliente final pagou. Gateway aprovou. Mas "esqueceu" de te pagar.
Sem prova (reconciliação), não recupera.
Pergunta: Quanto você está perdendo sem saber?
- 3.000 tx/mês × 0,7% falha = 21 tx perdidas/mês
- 21 tx × R$ 150 ticket médio = R$ 3.150/mês
- R$ 37.800/ano evaporados
Reconciliação não é burocracia. É dinheiro na mesa.