← Voltar para a Forja
Entregue Next.jsMulti-tenantIAFinanceiro

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

www.andreazzigrupo.com.br
www.andreazzigrupo.com.br
www.andreazzigrupo.com.br
www.andreazzigrupo.com.br
www.andreazzigrupo.com.br
www.andreazzigrupo.com.br
www.andreazzigrupo.com.br
www.andreazzigrupo.com.br

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

Next.js 15 (App Router)React 19TypeScript (strict)Prisma 5PostgreSQL 16Auth.js v5TailwindRadixdecimal.jsAnthropic SDKWhatsApp Cloud APIVercel BlobVitest
João Afonso Assumpção Arquiteto de Sistemas · Engenheiro de Automação · Construtor de Soluções
© 2026 · Todos os direitos reservados. Construído com SvelteKit