Grupo Andreazzi — back office multi-empresa com bot de WhatsApp.
Portal multi-tenant de banco único onde cada empresa do grupo ganha um workspace com a própria marca: financeiro, comercial, planejamento, arquivos e um cofre de senhas cifrado — mais um bot de WhatsApp que responde e registra em nome do portal.
- Cliente
- Grupo Andreazzi
- Período
- 2026
- Papel
- Arquiteto e desenvolvedor principal
Domain models
~60
Application code
~37k LOC
Roles in the matrix
7
Scheduled jobs
5
O problema
Um grupo empresarial são várias empresas que compartilham pessoas, mas não números. Um sistema por empresa significa conciliar planilha todo fim de mês; um sistema compartilhado significa que o responsável financeiro da empresa A lê a empresa B sem querer. Nenhum dos dois serve.
E as pessoas que geram a maior parte do dado — quem aprova um pagamento, fecha um checklist, confirma uma reunião — não vão abrir um notebook para isso.
A solução
Um portal, um banco, isolamento duro entre tenants. Cada empresa ganha um workspace por slug cobrindo contas a pagar e a receber, categorias, contas bancárias, canais e metas comerciais, tarefas, reuniões, checklists, objetivos trimestrais, calendário, arquivos e cofre de senhas.
- Tematização por empresa. Cada empresa carrega as próprias cores de marca, injetadas como variáveis CSS na fronteira do layout — a mesma tela lê como um produto diferente em cada workspace.
- Bot de WhatsApp. A parte do trabalho que acontece longe da mesa passa a acontecer numa conversa: o bot entende a intenção via Claude, respeita a mesma matriz de permissão do portal web e escreve nas mesmas tabelas.
- Motor de notificações. Alertas por regra, assinaturas e um resumo diário com template, conduzidos por cinco rotas de cron.
Arquitetura
Monolito Next.js com uma costura deliberadamente fina: tudo que é escopo de tenant passa por um único resolvedor de contexto de empresa e por uma asserção de permissão papel × módulo × ação. Sete papéis, matriz explícita e um bypass de super-admin que é ele próprio auditável.
- Dinheiro nunca é float. Colunas decimal e decimal.js em todo lugar, por convenção do projeto — uma DRE que discorda de si mesma por um centavo é pior que nenhuma DRE.
- Conciliação bancária. Parser de extrato OFX com suíte de teste própria, casado contra os lançamentos.
- Cofre. Credenciais compartilhadas cifradas com AES-256-GCM sob uma chave mestra guardada fora do banco.
- Observabilidade do bot. Sessões, logs e mensagens cruas são persistidos, com uma tela administrativa para acompanhar conversas em andamento — uma interface conversacional que você não observa é uma interface conversacional que você não conserta.
Resultados
O grupo roda financeiro, comercial e planejamento num lugar só, sem que nenhuma empresa consiga ver a outra. O fechamento mensal deixou de ser junção de planilha, e o dado que antes chegava tarde — ou não chegava — agora chega como mensagem de WhatsApp no instante em que acontece.
Stack completa