Todos os projetos

Balanço patrimonial em SQL e plano de contas unificado

Reconstruí o balanço do SAP Business One direto no banco e consolidei os planos de contas do grupo num plano único, com uma regra clara para cada divergência.

Contexto
Controladoria de um grupo com várias empresas
Meu papel
Especialista de BI
Período
2026
Ferramentas
SQL Server, SAP Business One, Python, Pandas, Power BI, DAX

Como a solução funciona

  1. SAP Business One plano de contas e add-on de balanço
  2. SQL hierarquia por autorrelacionamento
  3. Python consolidação com regra de divergência
  4. Power BI balanço com cartões de validação

O problema

O balanço saía pronto de um add-on do SAP Business One, sem nenhuma documentação de como as contas eram classificadas em grupo, subgrupo e referência. Ao mesmo tempo, cada empresa do grupo tinha o próprio plano de contas, com numerações incompatíveis (códigos de dez dígitos de um lado, códigos com pontos do outro). Sem uma base comum, não havia visão consolidada.

O que eu fiz

  • Engenharia reversa da classificação. Investiguei o banco do SAP B1 até encontrar a origem: a hierarquia nativa do plano de contas e as tabelas do add-on de balanço, com uma linha por data-base, o que também permite comparar períodos.
  • Balanço reproduzido em SQL. Grupo e subgrupo derivados da própria hierarquia, com dois autorrelacionamentos (avô e pai de cada conta analítica), e a referência vinda do add-on.
  • Plano de contas único. Consolidei os planos das empresas em Python com uma regra explícita: cada conta aparece uma vez; quando as empresas classificam a mesma conta de forma diferente, vence a classificação mais frequente e as divergentes ganham o prefixo da empresa.
  • Menos falso conflito. Normalizei os nomes dos grupos (maiúsculas, acentos e espaços) antes de comparar.
  • Relatório organizado. No Power BI, o balanço ficou com 58 medidas em 12 pastas e cartões de validação que mostram, na hora, se o balanço fecha.

Resultado

  • 4.155 linhas de origem consolidadas em 1.617 contas distintas.
  • A normalização derrubou as divergências de 82 para 63, todas listadas conta a conta numa aba própria para a Controladoria revisar. Algumas eram, na verdade, erros de cadastro.
  • Balanço fechando com diferença de cerca de 0,05%, com a única conta pendente de classificação identificada.

O que eu levo deste projeto

Quando a regra não está documentada, o banco conta a história. E uma regra de consolidação simples e explícita, mesmo imperfeita, vale mais que um ajuste manual que só uma pessoa entende.