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
- SAP Business One plano de contas e add-on de balanço
- SQL hierarquia por autorrelacionamento
- Python consolidação com regra de divergência
- 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.