Skip to main content

Arquitetura Multi-Tenant: Organizações → Empresas

O Problema

Você é contador e gerencia 10 clientes. Ou você tem uma holding com 5 subsidiárias. Ou você tem um MEI + uma empresa de médio porte. Como organizar esses dados sem misturar tudo? Sistemas tradicionais forçam você a criar contas separadas para cada CNPJ, dificultando a gestão centralizada. NovaGestão resolve isso com uma arquitetura de dois níveis.

Contexto

Multi-tenancy (multi-inquilinato) é um padrão de arquitetura de software onde:
  • Um único sistema serve múltiplos clientes (tenants)
  • Cada cliente tem dados completamente isolados
  • Recursos compartilhados (servidor, banco de dados) mas dados segregados
NovaGestão usa uma variação com dois níveis de tenancy:
  1. Organização (tenant de nível superior)
  2. Empresa (tenant de nível inferior, dentro da organização)
Essa estrutura serve dois casos de uso principais:
  1. Contadores/consultorias: Gerenciam múltiplos clientes (organizações)
  2. Holdings/grupos: Gerenciam múltiplas entidades legais (empresas/CNPJs)

Como Funciona

Nível 1: Organização (Cliente/Grupo)

O que é: Representa o cliente ou grupo empresarial Características:
  • Controla acesso (usuários e permissões)
  • Pode conter uma ou múltiplas empresas (CNPJs)
  • Tem configurações de integrações (Omie, ContaAzul, Google Sheets)
  • Identificada por slug único na URL (ex: app.novagestao.com/acme/...)
Exemplos:
  • Contador gerenciando cliente “Acme Corp”
  • Holding “Grupo XYZ”
  • Consultoria “Fintech Advisors”

Nível 2: Empresa (Entidade Legal/CNPJ)

O que é: Representa uma entidade legal com CNPJ próprio Características:
  • Contém os dados financeiros (contas, transações, categorias, documentos)
  • Pertence a uma organização
  • Completamente isolada de outras empresas (mesmo dentro da mesma organização)
  • Pode ser visualizada individualmente ou em visão consolidada
Exemplos:
  • “Acme Varejo LTDA” (CNPJ 12.345.678/0001-90)
  • “Acme Indústria S.A.” (CNPJ 98.765.432/0001-10)
  • “João Silva MEI” (CNPJ 11.111.111/0001-11)

Hierarquia Completa

Usuário (José Silva)
├── Organização: Grupo Acme
│   ├── Empresa: Acme Varejo (12.345.678/0001-90)
│   │   ├── Contas Bancárias
│   │   ├── Transações
│   │   ├── Categorias
│   │   └── Contas a Pagar/Receber
│   ├── Empresa: Acme Indústria (98.765.432/0001-10)
│   │   └── [Dados financeiros separados]
│   └── Empresa: Acme Logística (33.333.333/0001-33)
│       └── [Dados financeiros separados]
└── Organização: Consultoria João Silva
    └── Empresa: João Silva MEI (11.111.111/0001-11)
        └── [Dados financeiros separados]

Por Que Isso Importa

Problema: MEI e Empresa Normal não podem misturar dados fiscais Solução:
Organização: João Silva Empreendimentos
├── Empresa: João Silva MEI (CNPJ 12.345.678/0001-90)
│   ├── Receitas: R$ 80k/ano (limite MEI)
│   ├── Conta bancária: Banco X
│   └── Impostos: Simples Nacional (MEI)
└── Empresa: Silva Comércio Ltda (CNPJ 98.765.432/0001-10)
    ├── Receitas: R$ 500k/ano
    ├── Conta bancária: Banco Y
    └── Impostos: Simples Nacional (Empresa)
Benefício: Dados fiscais nunca se misturam, mas você pode ver visão consolidada para análise pessoal.

2. Gestão Centralizada para Contadores

Cenário: Contador gerencia 10 clientes, cada um com 1-3 CNPJs Estrutura:
Contador (José Silva)
├── Organização: Cliente A (Restaurante)
│   └── Empresa: Restaurante A LTDA (CNPJ ...)
├── Organização: Cliente B (Consultoria)
│   ├── Empresa: Consultoria B ME (CNPJ ...)
│   └── Empresa: Consultoria B Filial (CNPJ ...)
├── Organização: Cliente C (E-commerce)
│   ├── Empresa: E-commerce C LTDA (CNPJ ...)
│   ├── Empresa: E-commerce C Marketplace (CNPJ ...)
│   └── Empresa: E-commerce C Logística (CNPJ ...)
...
Benefícios:
  • Uma única conta de usuário para gerenciar tudo
  • Alterna entre clientes facilmente (seletor de organização)
  • Dados de cada cliente completamente isolados
  • Relatórios consolidados por cliente (cross-CNPJ)

3. Análise Consolidada vs Individual

Visão Consolidada (todas as empresas da organização):
Grupo Acme - Consolidado (3 empresas)

Receitas:    R$ 500k (Varejo R$ 300k + Indústria R$ 150k + Logística R$ 50k)
Despesas:    R$ 400k
Lucro:       R$ 100k
Visão por Empresa (filtrando por 1 CNPJ):
Acme Varejo (CNPJ 12.345.678/0001-90)

Receitas:    R$ 300k
Despesas:    R$ 240k
Lucro:       R$ 60k
Benefício: Vê o todo (holding) ou parte específica (subsidiária) conforme necessidade.

4. Integrações Automáticas por CNPJ

Integração Omie (exemplo): Quando você conecta Omie à organização:
  1. Sistema sincroniza dados de todos os CNPJs da conta Omie
  2. Identifica CNPJ de cada registro importado
  3. Associa automaticamente à empresa correspondente no NovaGestão
  4. Se empresa não existe, cria automaticamente
Resultado: Sincronização multi-CNPJ automática, sem configuração manual.

Diferença de Outros Sistemas

Sistema Tradicional (Um Banco por CNPJ)

Arquitetura:
Conta 1: Acme Varejo
Conta 2: Acme Indústria
Conta 3: Acme Logística
Problemas:
  • ❌ Precisa logar/deslogar para alternar
  • ❌ Não há visão consolidada
  • ❌ Gerenciar 10 clientes = 10+ logins diferentes
  • ❌ Cobranças separadas por conta

NovaGestão (Organização → Empresas)

Arquitetura:
1 Conta de Usuário
└── N Organizações
    └── M Empresas (CNPJs) por organização
Vantagens:
  • ✅ Um único login para tudo
  • ✅ Alterna facilmente entre organizações/empresas (dropdown)
  • ✅ Visão consolidada por organização
  • ✅ Dados isolados mas gerenciados centralmente
  • ✅ Cobrança por organização (não por CNPJ)

Quando Usar Cada Nível

Use Múltiplas Organizações Quando:

Clientes completamente independentes:
  • Contador gerenciando múltiplos clientes
  • Consultoria gerenciando múltiplos clientes
  • BPO financeiro com diversos clientes
Separação total de acesso:
  • Usuários de Cliente A não devem ver dados de Cliente B
  • Cada organização tem seus próprios usuários

Use Múltiplas Empresas (mesma organização) Quando:

Entidades relacionadas do mesmo dono:
  • Holding com subsidiárias
  • MEI + Empresa Normal do mesmo empresário
  • Matriz + Filiais
Precisa visão consolidada:
  • Análise financeira do grupo todo
  • Comparação de performance entre entidades
  • Relatórios corporativos
Mesmos usuários acessam tudo:
  • CFO acessa todas as empresas do grupo
  • Contador acessa todos os CNPJs do cliente

Exemplos Práticos

Exemplo 1: Contador com 5 Clientes

Estrutura:
Contador José Silva
├── Org: Restaurante Bom Sabor (1 CNPJ)
├── Org: Consultoria TechPro (2 CNPJs: ME + Filial)
├── Org: E-commerce ModaFácil (3 CNPJs: Loja + Marketplace + Logística)
├── Org: Clínica Saúde + (1 CNPJ)
└── Org: Agência Criativa (1 CNPJ)
Uso diário:
  1. Alterna entre organizações via dropdown no topo
  2. Dentro de cada organização, acessa dados de todas as empresas (CNPJs)
  3. Não precisa logout para trocar de cliente

Exemplo 2: Holding com 4 Subsidiárias

Estrutura:
Organização: Grupo XYZ
├── Empresa: XYZ Holding (CNPJ 10.000.000/0001-01)
├── Empresa: XYZ Varejo (CNPJ 10.000.000/0002-92)
├── Empresa: XYZ Indústria (CNPJ 10.000.000/0003-73)
└── Empresa: XYZ Logística (CNPJ 10.000.000/0004-54)
Uso diário:
  • CFO vê visão consolidada (4 empresas somadas)
  • Gerente de Varejo filtra apenas XYZ Varejo
  • Controller analisa margens por empresa, compara performance

Exemplo 3: Empreendedor com MEI + Empresa

Estrutura:
Organização: João Silva Empreendimentos
├── Empresa: João Silva MEI (CNPJ 12.345.678/0001-90)
└── Empresa: Silva Comércio Ltda (CNPJ 98.765.432/0001-10)
Uso:
  • Dados fiscais separados (obrigatório por lei)
  • João pode ver patrimônio total consolidado
  • Relatórios individuais para cada entidade (compliance)

Veja Também

  • 📖 Referência: Organizações - Gerenciamento de organizações
  • 📖 Referência: Empresas - Gerenciamento de empresas (CNPJs)
  • 📖 Referência: Integrações - Como integrações funcionam com multi-empresa
  • 💡 Conceito: Centros de Custo - Outra dimensão de organização