Relatórios Financeiros no Power BI: P&L, Balanço, Fluxo de Caixa
Os CFOs que substituíram os pacotes financeiros estáticos do Excel por painéis do Power BI relatam uma redução de 60 a 80% no tempo de relatório de fechamento do mês. O motivo: em vez de montar manualmente tabelas de lucros e perdas, formatar balanços e enviar PDFs por e-mail, eles publicam uma vez e todas as partes interessadas – membros do conselho, chefes de departamento, investidores – veem os dados em tempo real filtrados para sua visualização relevante.
A construção de demonstrações financeiras no Power BI é arquitetonicamente diferente da construção de painéis operacionais ou de vendas. As demonstrações financeiras exigem mapeamento preciso das contas, comparações de períodos até o centavo e transparência da trilha de auditoria. Este guia mostra a implementação completa: modelo de dados, classificação de contas, estrutura de lucros e perdas, visualização de balanço, cascata de fluxo de caixa e fórmulas de inteligência de tempo DAX que fazem tudo funcionar.
Principais conclusões
- Os relatórios financeiros requerem um modelo de dados em nível de transação GL (não extratos de relatórios pré-agregados)
- A tabela de classificação de contas mapeia o plano de contas para as categorias P&L / Balanço Patrimonial / Fluxo de Caixa
- O visual de matriz com colunas calculadas é o melhor visual do Power BI para formato de extrato
- Inteligência de tempo: DATESYTD, SAMEPERIODLASTYEAR e PARALLELPERIOD lidam com todas as comparações de período
- A demonstração do fluxo de caixa utiliza o método indireto: Lucro Líquido → Ajustes de Capital de Giro → FC Operacional
- As medidas de análise de variação (real versus orçamento) são essenciais para os relatórios de gestão
- A segurança em nível de linha na dimensão subsidiária controla quais entidades cada leitor vê
- Relatórios paginados (Power BI Report Builder) exportam declarações com pixels perfeitos para PDF para pacotes de quadro
Modelo de dados para relatórios financeiros
Tabelas principais
GL_Transactions (tabela de fatos — uma linha por linha de lançamento contábil manual):
| Coluna | Tipo | Descrição |
|---|---|---|
| CÓDIGO0 | Texto | Lançamento contábil manual ou número da transação |
| CÓDIGO0 | Internacional | Número da linha na transação |
| CÓDIGO0 | Texto | FK para plano de contas |
| CÓDIGO0 | Data | Data da transação |
| CÓDIGO0 | Data | Data de postagem no GL |
| CÓDIGO0 | Texto | Período fiscal (por exemplo, "2026-03") |
| CÓDIGO0 | Decimais | Montante do débito (positivo) |
| CÓDIGO0 | Decimais | Montante do crédito (positivo) |
| CÓDIGO0 | Decimais | Débito - Crédito |
| CÓDIGO0 | Texto | FK para subsidiária |
| CÓDIGO0 | Texto | FK para Departamento |
| CÓDIGO0 | Texto | FK para Projeto (opcional) |
| CÓDIGO0 | Texto | Memorando de transação |
Gráfico_de_Contas (dimensão):
| Coluna | Descrição |
|---|---|
| CÓDIGO0 | Código de conta interno |
| CÓDIGO0 | Exibir número da conta |
| CÓDIGO0 | Nome da conta |
| CÓDIGO0 | Ativo, Passivo, Patrimônio Líquido, Receita, Despesa |
| CÓDIGO0 | Ativo Circulante, Ativo Fixo, CPV, Despesa Operacional, etc. |
| CÓDIGO0 | P&L, Balanço ou Fluxo de Caixa |
| CÓDIGO0 | Receita, CPV, Lucro Bruto, Despesa Operacional, EBITDA, Lucro Líquido |
| CÓDIGO0 | Ativo circulante, ativo imobilizado, passivo circulante, passivo de longo prazo, patrimônio líquido |
| CÓDIGO0 | Operacional, Investimento, Financiamento |
| CÓDIGO0 | Para pedidos de extratos personalizados |
| CÓDIGO0 | Para acúmulo de hierarquia |
| CÓDIGO0 | Sinalizador para entradas de eliminação |
Orçamento (tabela de fatos opcional):
| Coluna | Descrição |
|---|---|
| CÓDIGO0 | FK para plano de contas |
| CÓDIGO0 | Período fiscal |
| CÓDIGO0 | Montante orçamentado |
| CÓDIGO0 | Orçamento, Previsão, Revisado |
| CÓDIGO0 | FK para subsidiária |
Estrutura da demonstração de lucros e perdas
Classificação de contas para lucros e perdas
A estrutura da seção de lucros e perdas deve mapear seu plano de contas para categorias de lucros e perdas padrão:
Revenue
- Product Revenue
- Service Revenue
- Other Revenue
Cost of Goods Sold
- Product COGS
- Direct Labor
- Manufacturing Overhead
= Gross Profit
Operating Expenses
- Sales & Marketing
- General & Administrative
- Research & Development
- Depreciation & Amortization
= EBITDA / Operating Income
Other Income / Expense
- Interest Income
- Interest Expense
- Foreign Exchange
= Net Income Before Tax
- Income Tax Expense
= Net Income
Medidas DAX para lucros e perdas
// Core GL amount measure (handles sign convention)
GL Amount =
SUMX(
GL_Transactions,
SWITCH(
RELATED(Chart_of_Accounts[AccountType]),
"Revenue", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
"Expense", GL_Transactions[DebitAmount] - GL_Transactions[CreditAmount],
"Asset", GL_Transactions[DebitAmount] - GL_Transactions[CreditAmount],
"Liability", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
"Equity", GL_Transactions[CreditAmount] - GL_Transactions[DebitAmount],
GL_Transactions[NetAmount]
)
)
// Revenue
Total Revenue =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Revenue")
// COGS
Total COGS =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "COGS")
// Gross Profit
Gross Profit = [Total Revenue] - [Total COGS]
// Gross Margin %
Gross Margin % = DIVIDE([Gross Profit], [Total Revenue], 0)
// Operating Expenses
Total OpEx =
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Operating Expense")
// EBITDA
EBITDA = [Gross Profit] - [Total OpEx]
// D&A (addback for EBITDA from EBIT)
DA Addback =
CALCULATE(
[GL Amount],
Chart_of_Accounts[AccountName] IN {"Depreciation", "Amortization"}
)
// Net Income
Net Income =
[EBITDA] +
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Other Income/Expense") -
CALCULATE([GL Amount], Chart_of_Accounts[PLSection] = "Tax Expense")
Inteligência de tempo de P&L
// Prior Year same period
PY Revenue = CALCULATE([Total Revenue], SAMEPERIODLASTYEAR(Date[Date]))
// YTD Revenue
YTD Revenue = CALCULATE([Total Revenue], DATESYTD(Date[Date]))
// Prior YTD Revenue
PY YTD Revenue = CALCULATE([YTD Revenue], SAMEPERIODLASTYEAR(Date[Date]))
// Budget Variance
Revenue Budget Variance =
[Total Revenue] -
CALCULATE(SUM(Budget[BudgetAmount]), Budget[ScenarioID] = "Budget")
// Budget Variance %
Revenue Budget Var % =
DIVIDE([Revenue Budget Variance],
CALCULATE(SUM(Budget[BudgetAmount]), Budget[ScenarioID] = "Budget"), 0)
// Rolling 12-Month Revenue
R12M Revenue =
CALCULATE(
[Total Revenue],
DATESINPERIOD(Date[Date], LASTDATE(Date[Date]), -12, MONTH)
)
Matriz de P&L Design Visual
O visual recomendado para uma demonstração de lucros e perdas é uma matriz:
- Linhas: itens de linha de lucros e perdas (de
Chart_of_Accounts[PLSection]com subtotais) - Colunas: Períodos (meses, trimestres, acumulados no ano)
- Valores: Valor real, Valor do orçamento, Variação $, % de variação
Configure a Matriz:
- Habilite subtotais no nível da seção (total de receita, total de CPV, etc.)
- Use formatação condicional: Vermelho = variação desfavorável, Verde = favorável
- Aplique ordem de classificação personalizada via
Chart_of_Accounts[SortOrder] - Formate os números:
£#,##0Kpara milhares,0.0%para porcentagens
Visualização do Balanço
Estrutura do Balanço
Assets
Current Assets
- Cash and Equivalents
- Accounts Receivable
- Inventory
- Prepaid Expenses
Fixed Assets
- Property, Plant & Equipment (net)
- Intangible Assets
- Goodwill
= Total Assets
Liabilities
Current Liabilities
- Accounts Payable
- Accrued Expenses
- Deferred Revenue
- Short-term Debt
Long-term Liabilities
- Long-term Debt
- Deferred Tax
= Total Liabilities
Equity
- Common Stock
- Retained Earnings
- Additional Paid-In Capital
= Total Equity
= Total Liabilities + Equity
Medidas DAX do balanço patrimonial
As medidas do balanço patrimonial usam o saldo (cumulativo) em vez dos valores do período — todas as transações desde o início até a data selecionada:
// Balance Sheet uses cumulative amounts (not period totals)
BS Amount =
CALCULATE(
[GL Amount],
FILTER(
ALL(Date),
Date[Date] <= MAX(Date[Date])
)
)
// Total Current Assets
Current Assets =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Current Assets")
// Total Fixed Assets (net of depreciation)
Fixed Assets =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Fixed Assets")
// Total Assets
Total Assets = [Current Assets] + [Fixed Assets]
// Total Current Liabilities
Current Liabilities =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Current Liabilities")
// Total Equity
Total Equity =
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Equity")
// Balance Sheet Check (must equal 0 for a balanced BS)
BS Balance Check =
[Total Assets] - ([Current Liabilities] +
CALCULATE([BS Amount], Chart_of_Accounts[BSSection] = "Long-term Liabilities") +
[Total Equity])
// Key Ratios
Current Ratio = DIVIDE([Current Assets], [Current Liabilities], 0)
Quick Ratio =
DIVIDE(
[Current Assets] -
CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory"),
[Current Liabilities],
0
)
Debt to Equity = DIVIDE([Current Liabilities], [Total Equity], 0)
Padrão de visualização de balanço patrimonial
Use uma combinação de recursos visuais:
- Matriz para a tabela de balanço completo (mesma estrutura da matriz de lucros e perdas)
- Gráfico de barras empilhadas para Ativos vs Passivos + Patrimônio Líquido (tendência em 12 meses)
- Cartões KPI para Índice Atual, Índice Rápido, Dívida/Patrimônio Líquido
- Medidor de capital de giro versus meta
Demonstração do Fluxo de Caixa (Método Indireto)
O método indireto começa com o Lucro Líquido e ajusta para itens não monetários e variações de capital de giro.
Operating Activities:
+ Net Income
+ Depreciation & Amortization
+ / - Changes in Working Capital:
+ Decrease / - Increase in Accounts Receivable
+ Decrease / - Increase in Inventory
- Decrease / + Increase in Accounts Payable
- Decrease / + Increase in Accrued Expenses
= Net Cash from Operations
Investing Activities:
- Capital Expenditures (PP&E additions)
+ Proceeds from Asset Sales
= Net Cash from Investing
Financing Activities:
+ Debt Proceeds
- Debt Repayments
- Dividends Paid
+ Equity Raised
= Net Cash from Financing
= Net Change in Cash
+ Beginning Cash Balance
= Ending Cash Balance
Medidas DAX de fluxo de caixa
// Period-over-Period change in Accounts Receivable
AR Change =
VAR CurrentAR = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Accounts Receivable")
VAR PriorAR = CALCULATE(
[BS Amount],
Chart_of_Accounts[AccountSubType] = "Accounts Receivable",
DATEADD(Date[Date], -1, MONTH)
)
RETURN PriorAR - CurrentAR // Decrease in AR = positive cash impact
// Change in Inventory
Inventory Change =
VAR CurrentInv = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory")
VAR PriorInv = CALCULATE([BS Amount], Chart_of_Accounts[AccountSubType] = "Inventory",
DATEADD(Date[Date], -1, MONTH))
RETURN PriorInv - CurrentInv
// Capital Expenditures (negative — cash outflow)
CapEx =
-CALCULATE(
[GL Amount],
Chart_of_Accounts[AccountSubType] = "Fixed Asset Addition",
Chart_of_Accounts[CFSection] = "Investing"
)
// Net Cash from Operations
Operating Cash Flow =
[Net Income] +
[DA Addback] +
[AR Change] +
[Inventory Change] +
CALCULATE([GL Amount], Chart_of_Accounts[AccountSubType] = "Accounts Payable Change")
// Free Cash Flow
Free Cash Flow = [Operating Cash Flow] + [CapEx]
Gráfico em cascata do fluxo de caixa
O gráfico em cascata é o visual ideal para fluxo de caixa:
- Crie uma tabela calculada com os itens de linha do fluxo de caixa e seus valores
- Use o visual do gráfico em cascata (integrado ao Power BI)
- Configure as categorias “Aumentar” e “Diminuir” para mostrar a contribuição de cada item
- Marque "Caixa Líquido das Operações", "Caixa Líquido dos Investimentos", "Caixa Líquido dos Financiamentos" como subtotais
- Marque "Saldo de caixa final" como um total
Análise de Variância: Real x Orçamento x Previsão
// Scenario selector (works with a scenario slicer)
Selected Measure =
SWITCH(
SELECTEDVALUE(Scenario[Scenario]),
"Budget", SUM(Budget[Amount]),
"Forecast", CALCULATE(SUM(Budget[Amount]), Budget[ScenarioID] = "Q2 Forecast"),
[Total Revenue] -- default to Actual
)
// Traffic light variance
Variance Status =
VAR Var% = [Revenue Budget Var %]
RETURN
SWITCH(TRUE(),
Var% >= 0.05, "Favorable",
Var% >= -0.05, "On Track",
"Unfavorable"
)
Perguntas frequentes
O Power BI pode substituir nosso módulo de relatórios financeiros ERP existente?
O Power BI pode substituir a maioria dos relatórios financeiros padrão (P&L, Balanço Patrimonial, Fluxo de Caixa, AR Aging) por equivalentes mais flexíveis e interativos. No entanto, as demonstrações financeiras estatutárias (com certificação GAAP/IFRS), os relatórios prontos para auditoria com controles de assinatura e as funções de lançamento transacional permanecem no ERP. A abordagem ideal: use ERP para controle transacional e conformidade, Power BI para relatórios gerenciais e análises em nível de conselho.
Como posso garantir que meu P&L no Power BI corresponda exatamente ao ERP?
O problema de reconciliação mais comum são as convenções de sinalização: os ERPs definem se as contas de receita têm saldos normais de crédito ou débito, e o Power BI deve aplicar a mesma lógica. Crie uma medida de teste que some todos os lançamentos contábeis (débitos + créditos) e verifique se é igual a zero para um período fechado. Em seguida, compare seus totais de lucros e perdas com o relatório de lucros e perdas nativo do ERP, período por período, até que eles correspondam.
É possível consolidar várias subsidiárias em um relatório financeiro do Power BI?
Sim — esta é uma das principais vantagens do Power BI em relação a muitos módulos de relatórios financeiros de ERP. Importe dados contábeis de todas as subsidiárias com uma coluna SubsidiaryID e, em seguida, crie medidas de consolidação que somam todas as subsidiárias. Para eliminações entre empresas, marque as contas entre empresas no Plano de Contas e exclua-as das medidas consolidadas. A conversão de moeda requer uma tabela de taxas de câmbio associada à data da transação.
Como posso criar relatórios PDF com qualidade de pacote de quadro no Power BI?
O Power BI Report Builder (relatórios paginados) cria saídas em PDF com pixels perfeitos — formatação profissional, quebras de página, cabeçalhos/rodapés e layouts de tabela precisos. Isso é separado do Power BI Desktop, mas usa os mesmos conjuntos de dados. Para pacotes de quadro, crie comentários de gerenciamento no Word, gere as tabelas financeiras por meio de relatórios paginados e combine via Power Automate em uma programação mensal. A licença do Power BI Premium ou PPU é necessária para relatórios paginados.
Qual é a melhor maneira de lidar com anos fiscais que não correspondem aos anos civis?
Crie uma tabela de datas personalizada no DAX ou no Power Query que inclua uma coluna FiscalYear, FiscalQuarter e FiscalPeriod com base no mês de início do ano fiscal. Marque esta tabela como uma tabela de datas no Power BI. Use DATESYTD com o parâmetro de data de término do ano fiscal: CALCULATE([Revenue], DATESYTD(Date[Date], "3/31")) para o final do ano fiscal em março. Todas as funções de inteligência temporal aceitam este parâmetro opcional de final de ano.
Próximas etapas
Os relatórios financeiros no Power BI exigem uma modelagem de dados mais cuidadosa do que os painéis operacionais – convenções de sinalização de contas, lógica cumulativa de balanço e cálculos de métodos indiretos de fluxo de caixa, todos precisam de implementação precisa. Quando feito corretamente, o resultado é um painel do CFO que substitui semanas de trabalho no Excel por minutos de exploração.
ECOSIRE combina experiência em Power BI com profundo conhecimento de contabilidade e finanças. Nossos serviços de desenvolvimento de painéis do Power BI incluem o design completo de demonstrativos financeiros e nossos serviços de contabilidade cobrem a qualidade dos dados e a estruturação do plano de contas que torna os painéis financeiros confiáveis.
Entre em contato com nossa equipe de análise financeira para discutir seus requisitos de relatórios financeiros e projetar uma arquitetura do Power BI que dê à sua equipe de liderança a visibilidade financeira necessária.
Escrito por
ECOSIRE Research and Development Team
Construindo produtos digitais de nível empresarial na ECOSIRE. Compartilhando insights sobre integrações Odoo, automação de e-commerce e soluções de negócios com IA.
Artigos Relacionados
AI-Powered Accounting Automation: What Works in 2026
Discover which AI accounting automation tools deliver real ROI in 2026, from bank reconciliation to predictive cash flow, with implementation strategies.
Audit Preparation Checklist: Getting Your Books Ready
Complete audit preparation checklist covering financial statement readiness, supporting documentation, internal controls documentation, auditor PBC lists, and common audit findings.
Australian GST Guide for eCommerce Businesses
Complete Australian GST guide for eCommerce businesses covering ATO registration, the $75,000 threshold, low value imports, BAS lodgement, and GST for digital services.