Modelagem financeiraIntermediário11 min de leitura

Crie um Template de DRE no Google Sheets: Guia FP&A

Template de DRE com 8 abas no Google Sheets: SUMIFS entre abas, bridge de EBITDA ao vivo, três demonstrativos integrados e formatação pronta para o board.

Este guia mostra como construir um template de DRE com 8 abas no Google Sheets que resiste à revisão do CFO — com SUMIFS entre abas puxando dados reais, um bridge de EBITDA ao vivo, três demonstrativos integrados que fecham e um resumo para o conselho formatado de forma que um não-analista consiga absorver em 90 segundos.

O que você vai precisar

  • Acesso ao Google Sheets com permissão de editor em um arquivo ativo
  • Uma fonte de dados reais (exportação do ERP, CSV do sistema contábil ou dados de MRR do Stripe) com no mínimo: data, nome da conta, categoria de custo e colunas de valor
  • Familiaridade com SUMIFS, EDATE e referências absolutas/relativas
  • Um plano de contas ou esquema de categorização de custos sob seu controle
  • Intervalos nomeados ou cabeçalhos de coluna consistentes na sua fonte de dados

Guia passo a passo

1

Planeje a Arquitetura de Abas do seu Template de DRE

A estrutura de abas que você escolhe nos primeiros 10 minutos determina se esse modelo será fácil de manter em 6 meses ou um problema que você vai passar adiante com um pedido de desculpas. Cada aba deve ter exatamente uma função — inputs, dados de origem, cálculo ou output — e o fluxo de dados deve seguir em uma única direção.

Um layout funcional de 8 abas para um template de DRE em FP&A:

AbaFunção
AssumptionsTodos os inputs fixos: taxas de crescimento, plano de headcount, metas de margem
RevenueReceita mensal/trimestral por linha de produto ou segmento
COGSCustos diretos mapeados para as linhas de receita
OpExDespesas operacionais de headcount e não-headcount
P&LDemonstrativo de resultado resumido, consolidando as quatro abas acima
ActualsColagem somente leitura da exportação do seu ERP ou sistema contábil
VarianceReal vs. planejado com deltas em % e R$
Board SummaryVisão trimestral e YTD formatada para não-analistas
  • Trate a aba Actuals como estritamente somente leitura — você cola os dados nela, nunca cria fórmulas que puxam de uma fonte externa; tudo que está abaixo lê dela via SUMIFS
  • Codifique as abas por cor por categoria: azul para inputs, cinza para dados de origem, verde para outputs; seu CFO vai agradecer na hora de navegar pelo board pack
  • Nomeie as abas sem espaços (P_and_L ou PL) — nomes de abas com espaços exigem aspas simples em toda fórmula entre abas, o que se torna tedioso
  • Construa da esquerda para a direita: Assumptions → Revenue → COGS → OpEx → P&L → Actuals → Variance → Board Summary — isso espelha o fluxo de dados

Pro Tip

Bloqueie a aba Actuals imediatamente via Dados → Proteger planilhas e intervalos. Modelos compartilhados com abas de origem desbloqueadas sempre acabam com alguém "corrigindo" um número diretamente nos dados em vez de na exportação. Você vai encontrar o erro três meses depois, durante uma auditoria.
2

Construa a Aba Assumptions — a Única Fonte de Verdade do seu Template de DRE

Todos os inputs fixos do modelo ficam nesta aba. Sem exceções. Incorporar uma taxa de crescimento dentro de uma fórmula da aba Revenue é uma dívida técnica que vai aparecer durante um sprint de preparação para o board no pior momento possível. A aba Assumptions é onde você muda uma célula e vê o modelo inteiro atualizar.

Organize com seções rotuladas separadas por linhas em branco, com intervalos nomeados em cada célula de input importante.

  • Premissas de receita: meta de ARR para 2026 (R$ 18,4 milhões), taxa de crescimento por linha de produto (22% SaaS, 8% serviços profissionais), churn bruto mensal (4,2%)
  • Plano de headcount: headcount atual por departamento, adições planejadas por trimestre, custo total por colaborador (R$ 127 mil em média para todos os níveis)
  • Metas de margem: margem bruta alvo (61,5%), margem de EBITDA alvo (18,0%), D&A como % da receita (2,3%)
  • Âncoras do período do modelo: nomeie $B$3 como model_start e $B$4 como model_end; todos os cabeçalhos de coluna em cada aba são derivados dessas duas células
  • Impostos e estrutura de capital: alíquota efetiva de imposto de renda (27%), despesa financeira (R$ 180 mil anualizados sobre a dívida existente)

Pro Tip

Adicione um seletor de "Cenário" em Assumptions — um menu suspenso (Dados → Validação de dados → Lista) com os valores Base / Otimista / Conservador. Depois construa suas premissas principais como =IF(Assumptions!$B$1="Otimista", 0.28, IF(Assumptions!$B$1="Conservador", 0.14, 0.22)). Uma mudança de célula executa três cenários sem duplicar o modelo.
3

Estruture a Aba Revenue

A receita deve ser detalhada por linha de produto ou segmento, com colunas mensais derivadas das âncoras de período do modelo em Assumptions. Em maio de 2026, a estrutura mais comum para um negócio SaaS é MRR → ARR → receita reconhecida, com linhas separadas para novos negócios, expansão e contração/churn.

A fórmula que puxa os dados reais para uma linha de receita reconhecida:

=SUMIFS(
  Actuals!$D:$D,
  Actuals!$B:$B, ">="&Assumptions!$B$3,
  Actuals!$B:$B, "<"&EDATE(Assumptions!$B$3,1),
  Actuals!$C:$C, "Revenue - SaaS"
)
  • Use EDATE para definir os limites de fim de mês em vez de datas fixas — quando você avança o modelo atualizando model_start, cada cabeçalho de coluna e cada limite de data no SUMIFS atualiza automaticamente
  • Construa cada linha de receita com 3 linhas: Planejado, Real, Variação (=B4-B3) — e defina a convenção de sinal agora: variação positiva significa que o real superou o planejado para receita
  • Adicione uma linha de verificação de sanidade no rodapé da aba Revenue: =SUMIFS(Actuals!$D:$D, Actuals!$C:$C, "Revenue*") para o período completo, comparada com a linha de receita total do P&L — se não coincidirem, algo no mapeamento de nomes de contas está errado
  • Direcione os cabeçalhos de coluna a partir de Assumptions: =TEXT(EDATE(Assumptions!$B$3, COLUMN()-3), "MMM-YY") na linha 3 significa que avançar para o T3 requer uma única mudança de célula

Pro Tip

Se o seu plano de contas tiver nomenclatura inconsistente ("Revenue-SaaS" vs "Revenue - SaaS" vs "Rev SaaS"), corrija com uma coluna auxiliar na aba Actuals usando =TRIM(SUBSTITUTE(C2,"-"," - ")) antes que seus SUMIFS referenciem os dados. Não tente tratar variações de nomenclatura dentro da fórmula — você vai perder casos.
4

Construa o COGS para Chegar à sua Margem Bruta

O COGS é onde os modelos de DRE com múltiplos produtos ficam bagunçados. Os custos são agrupados em uma única linha e de repente você não consegue identificar qual linha de produto está puxando a margem bruta combinada de 61,5% para 58%. Construa o COGS com a mesma granularidade da receita — uma linha por categoria de custo, mapeada para a linha de produto que ela suporta.

Para um negócio SaaS com receita de serviços profissionais, uma estrutura limpa de COGS:

  • Infraestrutura em nuvem (COGS - Hosting): custo variável direto, mapeado apenas para receita SaaS
  • Headcount de Customer Success (COGS - CS): aloque 70% para SaaS, 30% para serviços com base em dados de controle de tempo ou uma divisão fixa em Assumptions
  • Entrega de serviços profissionais (COGS - Services): mapeado inteiramente para receita de serviços
  • Software de terceiros com precificação por licença (COGS - Tools): aloque pelo número de usuários ativos, obtido de Assumptions

Pro Tip

Adicione uma tabela de margem bruta por segmento em uma seção separada da aba COGS. São três fórmulas SUMIFS e uma divisão, e ela mostra se uma compressão de margem de 200bps é um problema de custo de infraestrutura SaaS ou um problema de entrega de serviços — antes do seu CFO perguntar.
5

Integre o OpEx entre Abas no seu Template de DRE

O OpEx é a parte mais densa do modelo. De acordo com dados de benchmarking de FP&A da APQC, os custos com pessoal representam 60–70% das despesas operacionais totais para empresas de software e tecnologia — o que significa que o quadro de headcount direciona a maior parte da aba OpEx, e erros nele se propagam diretamente para o EBITDA.

Construa primeiro um quadro de headcount: uma grade de departamento × trimestre mostrando o headcount atual e as adições planejadas. A fórmula que puxa o custo de headcount para o resumo de OpEx:

=SUMIFS(
  'OpEx'!$E:$E,
  'OpEx'!$B:$B, "Engineering",
  'OpEx'!$C:$C, "Headcount"
)
  • Com R$ 127 mil de custo total por colaborador e 45 funcionários atuais, isso representa R$ 5,7 milhões de OpEx de headcount anualizado antes de qualquer contratação de crescimento — modele as novas contratações como linhas separadas, não diluídas nas linhas de headcount existentes, para que você possa sensibilizar o ritmo de contratação de forma independente
  • Adicione uma célula hire_pace_multiplier em Assumptions (padrão 1,0): cada linha de adição planejada em OpEx multiplica por ela, então reduzir para 0,75 modela uma desaceleração de contratações sem alterar linhas individuais
  • OpEx fora de headcount (ferramentas SaaS, viagens e despesas, escritório, gastos com marketing) puxa de Actuals via SUMIFS com o mesmo padrão de intervalo de datas usado em Revenue
  • Construa uma verificação de OpEx total: =SUM('OpEx'!C2:C200) na aba P&L deve corresponder à soma de todos os SUMIFS de OpEx de Actuals para o mesmo período assim que você avançar para a fase de dados reais

Pro Tip

Para sensibilidade de runway — uma pergunta comum do conselho — conecte uma célula de "meses de runway" na aba Board Summary: =('Balance Sheet'!cash_balance) / ('P&L'!monthly_burn). Quando o multiplicador de ritmo de contratação muda, o cálculo de runway atualiza automaticamente.
6

Calcule o EBITDA e Construa o Bridge

O EBITDA na aba P&L é uma subtração direta de COGS e OpEx da Receita, seguida de um add-back de D&A de Assumptions. O bridge de EBITDA — mostrando a evolução período a período — fica em uma seção dedicada da aba P&L ou em um bloco de intervalos nomeados que alimenta o Board Summary.

O cálculo do EBITDA consolidando entre abas:

='Revenue'!C3 - 'COGS'!C25 - 'OpEx'!C42 + (Assumptions!rev_pct_da * 'Revenue'!C3)

Onde C25 é o COGS total, C42 é o OpEx total e rev_pct_da é o intervalo nomeado de D&A como % da receita (2,3% neste modelo).

  • Construa o bridge de EBITDA como uma coluna de linhas baseadas em fórmulas: EBITDA do período anterior, mais variação de receita, menos variação de COGS, menos variação de OpEx, igual ao EBITDA do período atual — cada linha uma fórmula, não uma variação codificada
  • Com um múltiplo de EBITDA de 14,2x sobre R$ 2,4 milhões de EBITDA, o valor de empresa implícito é R$ 34,1 milhões — coloque essa matemática de valuation em uma seção nomeada da aba P&L para que atualize quando o EBITDA se mover
  • Adicione uma linha de % de margem para cada nível: margem bruta %, margem EBITDA % e margem líquida % — são esses indicadores que o conselho lê primeiro
  • Verificação cruzada: o EBITDA da aba P&L deve se reconciliar com o fluxo de caixa operacional no demonstrativo de Fluxo de Caixa antes das variações de capital de giro; se não reconciliar, algo está categorizado incorretamente entre operacional e não operacional

Pro Tip

Adicione uma coluna de "período anterior" na aba P&L que puxa o período imediatamente anterior usando OFFSET. O bridge de EBITDA pode então derivar dessa coluna automaticamente conforme você avança o modelo, sem exigir seleção manual de período.
7

Integre o Modelo de Três Demonstrativos

O P&L alimenta os lucros acumulados no Balanço Patrimonial e fornece a linha inicial de lucro líquido para o Demonstrativo de Fluxo de Caixa. Ambas as ligações devem ser baseadas em fórmulas — codificar qualquer uma delas quebra a reconciliação dos três demonstrativos no momento em que os dados reais chegam.

De acordo com o CPC 26 (Apresentação das Demonstrações Contábeis), o demonstrativo de resultado deve se reconciliar com as variações no patrimônio líquido — o que significa que o rollforward dos lucros acumulados no Balanço Patrimonial deve bater exatamente com a linha de lucro líquido do P&L.

A ligação dos lucros acumulados:

='Balance Sheet'!$C$42 + 'P&L'!C58

Onde C58 é o lucro líquido do período e $C$42 são os lucros acumulados do período anterior. O ponto de partida do Fluxo de Caixa:

='P&L'!C58
  • Adicione de volta os itens não caixa (D&A de Assumptions, remuneração baseada em ações de OpEx) na seção de atividades operacionais; ambos devem ser referências de fórmulas, nunca codificados
  • Variações no capital de giro derivam dos deltas do Balanço Patrimonial: =('Balance Sheet'!C22 - 'Balance Sheet'!B22) * -1 para contas a receber (aumento em AR é um uso de caixa)
  • Construa uma linha de verificação de balanço na parte inferior do Balanço Patrimonial: ='Balance Sheet'!Total_Assets - 'Balance Sheet'!Total_Liabilities - 'Balance Sheet'!Total_Equity — aplique formatação condicional para deixar essa célula vermelha se desviar de zero em mais de R$ 1
  • O bridge de EBITDA para fluxo de caixa livre deve fechar: EBITDA → menos add-back de D&A líquido de impostos → menos capex → igual ao FCF desalavancado, que deve corresponder ao que seu demonstrativo de Fluxo de Caixa produz

Pro Tip

Se o Balanço Patrimonial não fechar após integrar os três demonstrativos, isole o problema verificando primeiro os lucros acumulados (ponto de quebra mais comum), depois o capital de giro (segundo mais comum), depois o cronograma de dívida. Não recomece do zero — é sempre uma referência quebrada.
8

Formate o seu Template de DRE para Apresentação ao Conselho

Um template de DRE que só você consegue ler não é um entregável. A aba Board Summary traduz os resultados do modelo em algo que um membro do conselho consiga ler em 90 segundos — sem barra de fórmulas, sem referências brutas, sem valores de 8 dígitos no formato numérico padrão.

Regras principais de formatação para o Board Summary:

  • Exiba valores monetários em milhares com uma casa decimal usando formato numérico personalizado: "R$"#.##0,0"K" — aplicado via Formatar → Número → Formato de número personalizado; R$ 4.218.312 se torna R$ 4.218,3K
  • Colunas de variação usam formatação condicional: verde (RGB 87, 187, 138) para favorável, vermelho (RGB 255, 87, 87) para desfavorável — mas defina a convenção de sinal primeiro: favorável para receita significa real > planejado, favorável para OpEx significa real < planejado; são opostos
  • Direcione os cabeçalhos de coluna a partir de Assumptions: =TEXT(EDATE(Assumptions!$B$3, COLUMN()-3), "MMM-YY") para que ao avançar o modelo não seja necessário redigitar 12 cabeçalhos
  • Congele as linhas 1–3 (nome da empresa, cabeçalhos de período, espaçador) e congele a coluna A (rótulos de itens) via Exibir → Congelar; o modelo deve ser navegável sem desbloquear nada
  • Taxas de crescimento QoQ calculadas inline: =(C3-B3)/B3 formatado como percentual com uma casa decimal — adicione gráficos sparkline na coluna B usando =SPARKLINE('P&L'!B3:M3) para mostrar a direção da tendência de relance

Pro Tip

Oculte as abas de fórmulas (Revenue, COGS, OpEx, Variance) do link de compartilhamento para o conselho usando Formatar → Ocultar planilha, e compartilhe apenas as abas Board Summary e P&L como somente leitura. O modelo permanece intacto; o público vê o que é relevante para ele.

Conclusão

Um template de DRE construído dessa forma — premissas isoladas em uma aba, dados reais alimentados via SUMIFS, três demonstrativos integrados e fechados — pode ser mantido por alguém que não o construiu. Isso importa mais do que parece: a próxima pessoa a tocar nesse modelo pode ser você à meia-noite antes de uma reunião do conselho, três meses depois, sem nenhuma lembrança de onde você codificou aquela alíquota de imposto.

O ponto mais fraco na maioria dos templates de DRE não são as fórmulas. É o carregamento dos dados reais. Exportações manuais de CSV colam incorretamente, as ordens das colunas mudam, os nomes das contas variam. É aí que o tempo vai, e é aí que os erros se infiltram. O ModelMonkey resolve exatamente esse ponto crítico: ele fica na barra lateral do Google Sheets e puxa os dados reais diretamente do HubSpot, Stripe ou do seu sistema contábil para a aba Actuals de acordo com uma programação, sem CSV.

Escolha um plano do ModelMonkey — funciona tanto no Google Sheets quanto no Excel.

Perguntas frequentes

Quantas abas deve ter um template de DRE no Google Sheets?

Um template de DRE funcional para FP&A precisa de no mínimo 6 abas: Assumptions, Revenue, COGS, OpEx, resumo de P&L e uma aba de dados reais (Actuals). Adicionar uma aba de Variance e uma de Board Summary chega a 8, o que cobre o reporting mensal e a entrega do board pack sem o modelo se tornar ingerenciável. Acima de 10 abas, a sobrecarga de navegação começa a custar mais do que o benefício organizacional.

Como integro um template de DRE a um Balanço Patrimonial no Google Sheets?

A ligação principal é pelos lucros acumulados: `='Balance Sheet'!$C$42 + 'P&L'!C58`, onde C58 é o lucro líquido do período. De acordo com o CPC 26 (Apresentação das Demonstrações Contábeis), o demonstrativo de resultado deve se reconciliar com as variações no patrimônio líquido — o que significa que essa ligação deve ser uma fórmula, não um número codificado. Construa uma linha de verificação de balanço (Ativo Total − Passivo Total − Patrimônio Líquido) com formatação condicional que dispara em vermelho para qualquer desvio de zero.

Qual padrão de SUMIFS devo usar para puxar dados reais para um template de DRE?

Use critérios de intervalo de datas ancorados na aba Assumptions: `=SUMIFS(Actuals!$D:$D, Actuals!$B:$B, ">="&Assumptions!$B$3, Actuals!$B:$B, "<"&EDATE(Assumptions!$B$3,1), Actuals!$C:$C, "Revenue - SaaS")`. O `EDATE` trata os limites de fim de mês sem datas codificadas, e referenciar Assumptions para o início do período significa que avançar o modelo — mudando uma célula — atualiza cada fórmula automaticamente.

Como os custos de headcount devem fluir por um template de DRE?

Construa um quadro de headcount na aba OpEx: colaboradores atuais por departamento × custo total por colaborador, com adições planejadas como linhas separadas. De acordo com dados de benchmarking da APQC, os custos com pessoal representam 60–70% do OpEx total para empresas de software, tornando esse o seu item de linha mais sensível. Adicione uma célula `hire_pace_multiplier` em Assumptions (padrão 1,0) para sensibilizar o ritmo de contratação em todos os departamentos com uma única mudança de input, em vez de editar linhas individuais.

Qual formato numérico devo usar em um template de DRE pronto para o conselho?

Use `"R$"#.##0,0"K"` para valores monetários — exibe R$ 4.218.312 como R$ 4.218,3K, que é legível de relance e não vai transbordar uma coluna. Para linhas de margem, use formato de percentual com uma casa decimal. Direcione os cabeçalhos de coluna a partir de Assumptions usando `=TEXT(EDATE(Assumptions!$B$3, COLUMN()-3), "MMM-YY")` para que ao avançar o modelo não seja necessário atualizar manualmente 12 cabeçalhos em 3 abas.