Previsão de Fluxo de Caixa: O Método de Previsão Rolante de 13 Semanas
Este guia oferece um método simples, com padrão de CFO, para gerenciar a liquidez da sua empresa. Ao construir uma previsão de caixa rolante de 13 semanas, você pode visualizar seu runway de caixa semana a semana, direcionar estrategicamente cobranças e pagamentos, e eliminar surpresas financeiras. É um sistema feito para fundadores — e esta página entrega o modelo real: uma planilha com fórmulas e dados de exemplo, além do razão Beancount de exemplo por trás das suas duas primeiras semanas (veja os downloads abaixo).
Duas coisas que este guia não é: uma previsão são estimativas prospectivas que você digita, enquanto os valores reais contábeis são movimentações bancárias já lançadas no seu razão — por isso a planilha os mantém separados. Você congela uma cópia do seu plano como uma baseline datada, digita o caixa bancário de cada semana encerrada em uma aba separada de Actuals, e lê a diferença em uma aba de Variance; o plano com o qual você compara nunca é sobrescrito. Nada aqui sincroniza automaticamente: a planilha não tem macros nem conexões externas, e nenhuma etapa puxa dados do seu banco ou do Beancount por conta própria.
Por que 13 Semanas?
Uma previsão de 13 semanas é o padrão ouro para gestão operacional de caixa por várias razões fundamentais:
- Controle de Curto Prazo: Cobre aproximadamente um trimestre comercial, dando a você uma visão clara da sua liquidez imediata. Este horizonte é longo o suficiente para incluir 2–3 ciclos de folha de pagamento, recolhimentos de impostos e prazos típicos de pagamento a fornecedores, mas curto o suficiente para permanecer altamente preciso e acionável.
- Visão de Recebimentos e Desembolsos: A previsão usa o "método direto", focando puramente em entrada e saída de caixa. Não se trata de contabilidade por competência ou lucratividade; trata-se do que realmente entrará ou sairá da sua conta bancária, garantindo que a previsão se conecte diretamente ao seu saldo bancário.
- Rolante, Não Estática: Isso não é um orçamento único. A cada semana, você descarta a semana que acabou de passar, adiciona uma nova semana no final (semana 13) e atualiza suas premissas. Isso mantém o horizonte prospectivo constante, transformando a previsão em uma disciplina dinâmica e semanal.
O Que Você Vai Construir
- Uma Grade de Previsão: O núcleo do sistema é uma única aba com 13 colunas (Semana 1 a Semana 13) e seções claramente definidas: Caixa Inicial, Recebimentos, Desembolsos, Caixa Líquido e Caixa Final. Três abas complementares com as mesmas linhas mantêm uma Baseline congelada desse plano, os Actuals que seu banco registrou, e a Variance entre eles.
- Mapeamento de Categorias: Um sistema simples para mapear transações do seu razão para as categorias da previsão (por exemplo, todos os pagamentos do Stripe são mapeados para "Recebimentos de Clientes"; pagamentos do Gusto são mapeados para "Folha de Pagamento"). A aba Vendor Mapping da planilha já codifica esse mapa, incluindo a regra de não dupla contagem de banco/cartão — comece por ela em vez de inventar a sua própria.
- Uma Rotina Semanal: Um processo repetível para registrar valores reais, revisar a variação em relação à baseline com a qual você se comprometeu, reestimar as semanas à frente, e um conjunto de gatilhos pré-definidos para agir quando limites financeiros forem atingidos.
Baixe os arquivos iniciais
Pule a configuração de página em branco: este guia entrega uma planilha com fórmulas e dados de exemplo, além do razão de exemplo por trás das suas duas primeiras semanas.
- Planilha de previsão de 13 semanas (XLSX, v1.1.0) — cash-flow-forecast-13-week-pt.xlsx. Premissas editáveis, semanas encadeadas por fórmulas, um snapshot de Baseline apenas com valores, uma aba de Actuals, uma aba de Variance apenas com fórmulas e uma aba de mapeamento de fornecedores. Cada número de exemplo é o exemplo resolvido — substitua pelos seus próprios (veja Exemplo vs. seus dados abaixo).
- Razão e valores reais de exemplo (razão Beancount,
.bean) — sample.bean. Razão de exemplo balanceado cujo caixa bancário das W1–W2 é exatamente o que a aba Actuals da planilha contém nas suas duas primeiras semanas.
Como funcionam os arquivos iniciais (leia isto antes de digitar)
Abas. A planilha (cash-flow-forecast-13-week-pt.xlsx, v1.1.0) tem seis abas, nesta ordem:
- Forecast — seu plano ao vivo: as 13 semanas datadas, premissas, recebimentos, desembolsos, caixa líquido/final. Edite quantas vezes quiser.
- Baseline — um snapshot apenas com valores das linhas 2–29 do Forecast, rotulado com uma versão em
B31e uma data de referência emB32. Não contém fórmulas, então nada que você faça em outro lugar pode alterá-la. - Actuals — o caixa bancário que cada semana encerrada realmente movimentou, inserido por você: um status na linha 3 (
completeoupartial), valores por categoria nas mesmas linhas do Forecast, e um saldo de extrato opcional na linha 30. - Variance — apenas fórmulas: Actual − Baseline para cada categoria e total, correspondidos pela data de início da semana, além de uma legenda explicando cada palavra de status. Nunca lê o Forecast.
- Vendor Mapping — o mapa razão→categoria com a regra de contagem de caixa banco/cartão por fonte.
- Notes — mecânica, a revisão semanal, toggles de cenário e versão, duplicados do gerador para que o arquivo se explique offline.
Todas as quatro grades semanais compartilham um layout: as semanas W1–W13 são as colunas B–N, a linha 2 contém a data de início de cada semana, o caixa inicial é a linha 10, os recebimentos são as linhas 12–14 (total 15), os desembolsos são as linhas 17–26 (total 27), o líquido é a linha 28 e o final é a linha 29. Então B12 são os recebimentos de clientes da W1 em todas elas.
Base temporal. As semanas começam na segunda-feira, W1 começando em 2026-09-14 até W13 começando em 2026-12-07 (linha 2 do Forecast; edite estas datas quando adotar o modelo — toda fórmula é relativa à semana, então a cadeia sobrevive — e transfira-as para Baseline e Actuals quando capturar sua baseline). Uma transação pertence à semana que contém sua data de lançamento, de segunda a domingo.
Unidades. USD inteiros em todo o documento (formato numérico #,##0). A empresa de exemplo é uma SaaS em estágio seed abrindo com 85.000, com folha de pagamento semanal alternando 0 / 11.000, aluguel mensal, e um débito automático de empréstimo de 900/semana.
O que você digita vs. o que é calculado. No Forecast, células azuis são entradas manuais e todo o resto é fórmula (Actuals funciona da mesma forma com suas próprias entradas, descritas em Capturar uma baseline e na revisão semanal abaixo):
- Entradas: saldo inicial
B5(85.000), togglesB6/B7(1,0), pisoB8(40.000), as três bases de categorias de recebimento, as dez bases de categorias de desembolso, e as datas de início de semana no Forecast. - Fórmulas (mostradas para a coluna B, semana 1 — cada semana posterior desloca a letra da coluna): Inicial
B10 = $B$5(semanas 2–13 em vez disso são transportadas, por ex.C10 = B29); Total de RecebimentosB15 = B12*$B$6+B13*$B$7+B14; Total de DesembolsosB27 = SUM(B17:B26); LíquidoB28 = B15-B27; FinalB29 = B10+B28. - O recálculo é Automático e o arquivo define
fullCalcOnLoad, então Excel, LibreOffice e Numbers recalculam ao abrir (o arquivo não armazena valores de fórmula em cache). Mude uma célula azul e todas as 13 semanas se movem — por exemplo, definir o toggle de cobrançaB6para 1,2 leva os recebimentos da W1 de 12.200 para 14.600 e o caixa final da W1 de 87.500 para 89.900. - Regenere o arquivo original a qualquer momento com
yarn generate:cash-flow-forecast(gerador:scripts/generate-cash-flow-forecast.py, escritor openpyxl 3.1.5;--verifyreabre o arquivo e verifica que toda célula de total contém uma fórmula real).
Exemplo vs. seus dados. Três coisas vêm pré-preenchidas, e todas as três são o exemplo resolvido, não o seu negócio:
- as células azuis no Forecast (o plano atual da empresa de exemplo);
- o snapshot na Baseline, versão
B1em 2026-09-11 — o plano como estava antes das duas primeiras semanas fecharem; - os lançamentos da W1–W2 nos Actuals (colunas B–C), que são o caixa bancário no razão de exemplo (
sample.bean, acima). As W3–W13 são deixadas em branco.
Como a Baseline e os Actuals do exemplo diferem, a aba Variance abre em uma comparação real: a W1 termina +500 à frente do plano e a W2 +300 (veja Revisão de variação abaixo). Antes da sua própria primeira revisão, substitua todas as três: digite seu plano no Forecast, limpe os lançamentos de exemplo dos Actuals, e capture sua própria Baseline sobre B1 (passos abaixo). Os dois toggles (B6 escala todos os recebimentos de clientes, B7 escala todos os pré-pagos) são a única coisa feita para permanecer genérica, para simulação de cenários.
Vindo da v1.0.0? O layout da aba Forecast não mudou, então você pode transportar seu plano deliberadamente: no seu arquivo antigo copie apenas os intervalos de entrada — B2:N2 (datas), B5:B8, B12:N14 e B17:N26 — e cole-os como valores nos mesmos endereços no Forecast do novo arquivo, nunca sobre as linhas de fórmula. A v1.0.0 não mantinha baseline, então qualquer semana passada que você sobrescreveu com valores reais não tem plano recuperável: digite o caixa bancário dessas semanas nos Actuals e comece sua primeira Baseline a partir do Forecast de hoje.
Estrutura (As Linhas Que Você Precisa)
Sua aba de previsão deve ser estruturada com as seguintes linhas para capturar todos os movimentos de caixa. Como a planilha está organizada: as linhas abaixo ficam no Forecast (as 13 semanas datadas com Caixa Inicial, três categorias de recebimento, dez categorias de desembolso, Líquido e Final), e Baseline, Actuals e Variance as repetem linha por linha; Vendor Mapping mapeia fontes do razão para essas categorias, incluindo a regra de não dupla contagem de banco/cartão, e Notes explica a mecânica offline. No Forecast, os recebimentos se agrupam como Recebimentos de Clientes, Novas Reservas/Pré-pagos e Outras Entradas; os desembolsos se agrupam como Folha de Pagamento, Contratados, Cloud/Hosting, Software/SaaS, Marketing, Aluguel, Jurídico & Contábil, Impostos & Taxas, Serviço da Dívida e Pontuais; os totais rolam Inicial → Total de Recebimentos → Total de Desembolsos → Líquido → Final.
-
Saldo de Caixa Inicial (Deve conciliar com o Saldo de Caixa Final da semana anterior)
-
Recebimentos (Entrada de Caixa)
- Recebimentos de Clientes: Caixa que você espera receber de faturas existentes (Contas a Receber).
- Novas Reservas/Pré-pagos: Pagamentos antecipados que você espera de novos negócios fechando dentro da janela de 13 semanas.
- Outras Entradas: Qualquer outro caixa entrando, como restituições de impostos, receita de juros ou financiamento de subvenções.
-
Desembolsos (Saída de Caixa)
- Folha de Pagamento: O custo total em caixa, incluindo pagamento líquido aos funcionários e todos os impostos sobre a folha do lado do empregador.
- Contratados & Freelancers: Pagamentos a não-funcionários.
- Cloud/Hosting (CPV): Custos de infraestrutura principal como AWS, GCP, etc.
- SaaS/Ferramentas: Todas as suas assinaturas de software.
- Marketing: Gastos com anúncios, taxas de agências e outros custos relacionados à marca.
- Aluguel/Escritório: Custos de escritório físico.
- Jurídico & Contábil: Taxas de serviços profissionais.
- Impostos & Taxas: Recolhimentos de impostos sobre vendas e outros pagamentos governamentais.
- Serviço da Dívida: Pagamentos de principal e juros de quaisquer empréstimos.
- Pontuais: Pagamentos irregulares e infrequentes como prêmios anuais de seguro, depósitos de garantia ou hardware/capex (laptops, equipamentos) — qualquer coisa sem linha própria acima cai aqui.
-
Fluxo de Caixa Líquido (= Total de Recebimentos − Total de Desembolsos)
-
Saldo de Caixa Final (= Caixa Inicial + Fluxo de Caixa Líquido)
Exemplo resolvido de 13 semanas (USD)
A tabela abaixo é a aba Forecast da planilha para a empresa de exemplo, semana a semana — o plano atual, reprojetado após a W1 e a W2 fecharem, então essas duas colunas agora contêm o que o banco realmente fez. W1 e W2 são valores reais do razão — eles igualam os totais que yarn check:cash-flow-actuals deriva de sample.bean (recebimentos 12.200 / 13.200, desembolsos 9.700 / 17.200, fechamento 87.500 / 83.500). W3–W13 são premissas da planilha a partir das bases de exemplo do gerador (não lançadas no razão). O plano com o qual a empresa se comprometeu anteriormente está preservado separadamente na Baseline e difere dessas colunas da W1–W2; Revisão de variação abaixo compara os dois. A moeda é USD inteiro; Fechamento = Inicial + Recebimentos − Desembolsos a cada semana.
| Linha | W1 | W2 | W3 | W4 | W5 | W6 | W7 | W8 | W9 | W10 | W11 | W12 | W13 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Inicial | 85.000 | 87.500 | 83.500 | 92.500 | 82.000 | 81.000 | 72.000 | 80.000 | 72.800 | 75.300 | 63.800 | 79.800 | 71.800 |
| Recebimentos | 12.200 | 13.200 | 15.200 | 9.200 | 18.200 | 8.200 | 14.200 | 14.200 | 12.200 | 9.200 | 22.200 | 9.200 | 12.200 |
| Desembolsos | 9.700 | 17.200 | 6.200 | 19.700 | 19.200 | 17.200 | 6.200 | 21.400 | 9.700 | 20.700 | 6.200 | 17.200 | 9.700 |
| Líquido | 2.500 | -4.000 | 9.000 | -10.500 | -1.000 | -9.000 | 8.000 | -7.200 | 2.500 | -11.500 | 16.000 | -8.000 | 2.500 |
| Fechamento | 87.500 | 83.500 | 92.500 | 82.000 | 81.000 | 72.000 | 80.000 | 72.800 | 75.300 | 63.800 | 79.800 | 71.800 | 74.300 |
A Mecânica Rolante (como construída na planilha)
A lógica da previsão rolante é simples e poderosa — e no download ela já está montada como fórmulas na aba Forecast (linhas entre parênteses):
Caixa Inicial (Semana 1) = Premissa de saldo inicial— célulaB10 = $B$5.Caixa Inicial (Semana n) = Caixa Final (Semana n−1)— por ex.C10 = B29(linha 10, semanas 2–13).Total de Recebimentos (Semana n) = Recebimentos de Clientes × toggle de cobrança + Pré-pagos × toggle de reservas + Outros— por ex.B15 = B12*$B$6+B13*$B$7+B14(linha 15).Total de Desembolsos (Semana n) = SOMA das 10 linhas de categoria— por ex.B27 = SUM(B17:B26)(linha 27).Caixa Líquido (Semana n) = Total de Recebimentos − Total de Desembolsos— por ex.B28 = B15-B27(linha 28).Caixa Final (Semana n) = Caixa Inicial + Caixa Líquido— por ex.B29 = B10+B28(linha 29).
As mesmas linhas existem nos Actuals como totais simples (B15 = SUM(B12:B14), B27 = SUM(B17:B26), B28 = B15-B27, B29 = B10+B28, C10 = B29), com o caixa inicial real da semana digitado uma vez em Actuals!B10. Os Actuals não têm toggles e nunca se referem a outra aba.
Capturar uma baseline (uma vez por horizonte)
Faça isto quando seu Forecast contiver o plano pelo qual você quer ser medido — antes da primeira semana fechar.
- Copie o plano como valores. Selecione
Forecast!B2:N29e copie. SelecioneBaseline!B2e cole apenas valores — Excel: Colar Especial → Valores; LibreOffice: Colar Especial → Apenas Valores; Numbers: Editar → Colar Resultados da Fórmula. Uma colagem normal traria fórmulas vivas e a "baseline" seguiria silenciosamente cada edição posterior. - Rotule-a. Digite uma versão (por exemplo
B1) emBaseline!B31e a data de hoje emBaseline!B32. Ambas ficam abaixo do bloco colado, então uma captura posterior nunca as sobrescreve. - Alinhe as semanas. Copie
Baseline!B2:N2e cole valores emActuals!B2, para que ambas as abas nomeiem as mesmas 13 datas de início de semana, e digite o saldo bancário com o qual você começa emActuals!B10.
A partir daqui, digitar valores reais, editar o Forecast ou mover um toggle recalcula o Forecast e a Variance e deixa a Baseline exatamente como capturada.
Sua revisão semanal de segunda-feira (contra esta planilha)
- Registre a semana nos Actuals — nunca no Forecast. Na coluna cuja data da linha 2 é a segunda-feira que acabou de fechar, digite o caixa bancário da semana por categoria nas linhas 12–14 e 17–26 (mapeamento abaixo). Digite
0onde nenhum caixa se moveu: uma célula em branco significa "ainda não inserido", não zero. Coloque o saldo de fechamento do extrato bancário na linha 30; a linha 31 deve então ler0. Qualquer outra coisa é um erro de mapeamento — geralmente uma cobrança de cartão contada ou uma varredura (sweep) mantida — não um erro do banco. - Verifique se a semana está completa. Digite
completena linha 3 assim que cada linha de categoria contiver um número, oupartialenquanto a semana ainda estiver aberta (a lista suspensa oferece ambos). A Variance compara uma semana somente quando ela estácomplete, cada categoria está inserida e a data dos Actuals é igual à data da Baseline na mesma coluna. - Leia a Variance. A linha 3 nomeia o estado de cada semana; apenas semanas
comparedmostram números, e todo outro estado mostran/a, nunca0, então uma semana não inserida não pode passar por "conforme o plano". Os sinais são Actual − Baseline (a coluna O os repete): recebimentos, líquido e final positivos = mais caixa que o planejado; desembolsos positivos = mais gastos que o planejado. A linha 29 é cumulativa — inclui toda semana anterior — e existe somente enquanto toda semana até ela estivercompared. As linhas 32–35 expressam os totais como uma proporção da baseline (n/aquando a baseline é zero). - Reestime o futuro no Forecast. Atualize as células azuis das próximas 2–4 semanas com a informação mais recente (faturas recém-enviadas, pagamentos a fornecedores futuros, datas de folha confirmadas). Para manter uma visão completa de 13 semanas à frente, role a janela do Forecast: desloque suas entradas azuis, incluindo as datas da linha 2, uma coluna para a esquerda (a antiga Semana 2 torna-se Semana 1), então limpe a coluna N e dê a ela a nova data da Semana 13. As fórmulas de transporte se reancoram automaticamente; Baseline, Actuals e Variance não são tocadas.
Role o horizonte de revisão (um passo deliberado, não semanal)
Baseline e Actuals permanecem no horizonte que você capturou até você decidir movê-los — tipicamente quando o Forecast rolou um mês ou um trimestre à frente, ou o plano mudou o suficiente para você querer uma nova régua.
- Arquive. Salve uma cópia da planilha (por exemplo
cash-flow-forecast-B1.xlsx). Ela mantém a baseline antiga, seus valores reais e sua variação juntos; o arquivo de trabalho não mantém histórico. - Limpe as entradas reais. Nos Actuals, limpe as linhas 3, 12–14, 17–26 e 30 nas colunas B–N, e
B10. DeixeC10:N10, as linhas 15 e 27–29 e a linha 31 em paz — são fórmulas. - Capture uma nova baseline a partir do Forecast de hoje com a próxima versão (
B2) e a data de hoje, então alinhe as datas dos Actuals e o saldo inicial exatamente como em Capturar uma baseline acima.
Nunca insira ou exclua colunas de semana. Se você recapturar uma baseline mas esquecer de redatar os Actuals, toda semana afetada mostra date mismatch em vez de comparar uma semana contra o plano de uma semana diferente.
Mapeamento do Beancount para Sua Previsão
Escopo do caixa bancário (a regra que previne dupla contagem). Os valores reais semanais são lançamentos em Assets:Bank:* apenas — um escopo único que resolve ambas as armadilhas:
- Cartões de crédito: uma compra no cartão é lançada em
Liabilities:CreditCard:*e não movimenta caixa bancário, então não é contada quando cobrada. O caixa sai uma vez, na liquidação (o pagamento banco→cartão). Contar a cobrança mais a liquidação conta o mesmo gasto duas vezes. No razão de exemplo, a W1 contém 420,00 USD de cobranças Amex de SaaS (apenas passivo, ignoradas) ao lado da liquidação de 600,00 USD do extrato de agosto (contada). O total ingênuo de "saídas bancárias + cobranças de cartão" para a W1 é 10.120,00 USD — exatamente 420,00 a mais; a planilha conta 9.700,00. - Transferências internas: uma varredura (sweep) Conta Corrente↔Poupança tem duas pernas bancárias opostas, então ela zera dentro deste escopo e é excluída de ambos recebimentos e desembolsos. As varreduras de exemplo de 3.000,00 USD (W1) e 1.500,00 USD (W2) de outra forma inflariam ambos os lados por esses valores.
- Corolário: mapeie as pernas bancárias, não as pernas de Receita/Despesa. O principal do empréstimo não é uma despesa mas é uma saída bancária (os débitos automáticos de exemplo de 900,00 USD = 800 principal + 100 juros, todos contados em Serviço da Dívida); uma compra no cartão é uma despesa mas ainda não é uma saída bancária.
Divisão recebimentos/desembolsos. A partir das pernas bancárias exportadas: pernas positivas são recebimentos, pernas negativas são desembolsos, pernas de transferência excluídas. Mapa de categorias (o mesmo da aba Vendor Mapping): pagamentos Stripe/PayPal → Recebimentos de Clientes; transferências de novos clientes → Novas Reservas / Pré-pagos; juros bancários/subvenções → Outras Entradas; Gusto/ADP → Folha de Pagamento; AWS/GCP → Cloud/Hosting; SaaS pago pelo banco → Software/SaaS; locador → Aluguel; escritório de advocacia → Jurídico/Contábil; autoridade fiscal → Impostos & Taxas; débito automático de empréstimo → Serviço da Dívida.
- Tratando o Imposto sobre Vendas: Embora o imposto sobre vendas não seja receita, é um item de fluxo de caixa. Trate as cobranças de imposto sobre vendas como um recebimento de caixa e o recolhimento ao governo como um desembolso. O impacto na receita vive nos seus livros de competência, mas o movimento de caixa importa aqui.
Trecho Beancount que alimenta a W1
Cada lançamento abaixo também existe no sample.bean entregue. Salvo isoladamente, este trecho passa no uvx --from beancount bean-check e produz os recebimentos (12.200), desembolsos (9.700) e fechamento (87.500) da W1 da tabela assim que você aplicar o escopo do caixa bancário acima (exclua a varredura Conta Corrente↔Poupança de ambos os lados; conte a liquidação Amex, não as cobranças do passivo).
option "title" "Cash forecast sample — W1 excerpt"
option "operating_currency" "USD"
2026-09-13 open Assets:Bank:Checking USD
2026-09-13 open Assets:Bank:Savings USD
2026-09-13 open Liabilities:CreditCard:Amex USD
2026-09-13 open Liabilities:Loan USD
2026-09-13 open Equity:Opening-Balances USD
2026-09-13 open Income:Sales USD
2026-09-13 open Income:Interest USD
2026-09-13 open Expenses:Contractors USD
2026-09-13 open Expenses:Cloud USD
2026-09-13 open Expenses:Software USD
2026-09-13 open Expenses:Marketing USD
2026-09-13 open Expenses:Rent USD
2026-09-13 open Expenses:Interest USD
2026-09-13 * "Opening balances"
Assets:Bank:Checking 80000.00 USD
Assets:Bank:Savings 5000.00 USD
Liabilities:CreditCard:Amex -600.00 USD
Liabilities:Loan -20000.00 USD
Equity:Opening-Balances -64400.00 USD
2026-09-14 * "Stripe" "Customer receipts W1"
Assets:Bank:Checking 12000.00 USD
Income:Sales -12000.00 USD
2026-09-15 * "Contractor" "Contractors W1"
Expenses:Contractors 1500.00 USD
Assets:Bank:Checking -1500.00 USD
2026-09-15 * "AWS" "Cloud hosting W1"
Expenses:Cloud 2200.00 USD
Assets:Bank:Checking -2200.00 USD
2026-09-16 * "Bank" "Checking -> Savings sweep"
Assets:Bank:Savings 3000.00 USD
Assets:Bank:Checking -3000.00 USD
2026-09-17 * "SaaS vendor" "Amex SaaS charges"
Expenses:Software 250.00 USD
Liabilities:CreditCard:Amex -250.00 USD
2026-09-17 * "SaaS vendor" "Amex SaaS charges"
Expenses:Software 170.00 USD
Liabilities:CreditCard:Amex -170.00 USD
2026-09-18 * "Amex" "August statement settlement"
Liabilities:CreditCard:Amex 600.00 USD
Assets:Bank:Checking -600.00 USD
2026-09-19 * "Landlord" "Rent W1"
Expenses:Rent 3500.00 USD
Assets:Bank:Checking -3500.00 USD
2026-09-19 * "Agency" "Marketing W1"
Expenses:Marketing 1000.00 USD
Assets:Bank:Checking -1000.00 USD
2026-09-19 * "Bank" "Interest W1"
Assets:Bank:Checking 200.00 USD
Income:Interest -200.00 USD
2026-09-19 * "Lender" "Loan autopay W1"
Liabilities:Loan 800.00 USD
Expenses:Interest 100.00 USD
Assets:Bank:Checking -900.00 USDSemana resolvida: W1 de ponta a ponta (2026-09-14 – 2026-09-20)
O caixa bancário inicial é 85.000,00 (Conta Corrente 80.000 + Poupança 5.000 em 2026-09-13) — o valor em Actuals!B10. As pernas bancárias da W1 do razão, após excluir o par de varredura de 3.000,00, vão para a coluna B da aba Actuals; cada categoria não listada é digitada como 0, e a linha 3 é definida como complete:
| Linha do Actuals (célula) | Pernas bancárias | Valor |
|---|---|---|
Recebimentos de Clientes (B12) | Stripe 12.000 | 12.000,00 |
Outras Entradas (B14) | Juros bancários 200 | 200,00 |
| Total de Recebimentos | B15 = SUM(B12:B14) = 12.000 + 0 + 200 | 12.200,00 |
Contratados (B18) | 1.500 | 1.500,00 |
Cloud/Hosting (B19) | AWS 2.200 | 2.200,00 |
Software/SaaS (B20) | Liquidação Amex 600 (cobranças excluídas) | 600,00 |
Marketing (B21) | Agência 1.000 | 1.000,00 |
Aluguel (B22) | Locador 3.500 | 3.500,00 |
Serviço da Dívida (B25) | Débito automático de empréstimo 900 | 900,00 |
| Total de Desembolsos | B27 = SUM(B17:B26) | 9.700,00 |
| Líquido | B28 = B15−B27 | +2.500,00 |
| Final | B29 = B10+B28 = 85.000 + 2.500 | 87.500,00 |
Transporte para a W2. C10 = B29, então a W2 abre em 87.500,00. Suas pernas bancárias dão recebimentos 8.000 (Stripe) + 5.000 (pré-pago) + 200 (juros) = 13.200,00 e desembolsos 11.000 (folha Gusto) + 1.500 + 2.200 + 600 (SaaS debitado pelo banco) + 1.000 + 900 = 17.200,00; líquido −4.000,00, final 83.500,00 — exatamente a coluna W2 da planilha nos Actuals (e na aba Forecast reprojetada). Os saldos de extrato 87.500 e 83.500 ficam em Actuals!B30:C30, então a linha 31 lê 0 para ambas as semanas: essa é sua prova de que o mapeamento funciona. O que as semanas fizeram contra o plano é uma questão separada, respondida na Variance abaixo.
Reproduza (verificado em 2026-09-09, Beancount 3.2.3 + beanquery 0.2.0)
uvx --from beancount bean-check public/downloads/cash-flow-forecast/sample.bean
yarn check:cash-flow-actualsO verificador executa bean-check (as próprias asserções balance do razão provam o caixa final de cada semana), as consultas de exportação abaixo, e um transporte Python independente que afirma que todos os três concordam — W1 12.200,00 / 9.700,00 / 87.500,00, W2 13.200,00 / 17.200,00 / 83.500,00:
SELECT date, narration, account, position
FROM date >= 2026-09-14 AND date <= 2026-09-20
WHERE account ~ "^Assets:Bank" ORDER BY date;
SELECT sum(position) AS net
FROM date >= 2026-09-14 AND date <= 2026-09-20
WHERE account ~ "^Assets:Bank";
SELECT sum(position) AS bank_cash
FROM close ON 2026-09-21 WHERE account ~ "^Assets:Bank";(Desloque as datas em 7 para a W2, fechando em 2026-09-28.) Uma limitação de BQL a saber: esta versão do beanquery não consegue filtrar lançamentos por sinal, então a divisão recebimentos/desembolsos é aplicada às linhas exportadas — pernas bancárias positivas para recebimentos, negativas para desembolsos, pares de varredura excluídos — exatamente como o verificador faz.
A Rotina de Atualização (30–45 Minutos por Semana)
- Puxe os Actuals (15 min): Exporte os lançamentos da semana para
Assets:Bank:*(execute as consultas acima, ou baixe as transações das suas contas bancárias — cobranças de cartão ficam de fora; apenas o pagamento de liquidação conta) e digite-os na aba Actuals. Confirme que o Caixa Final da semana nos Actuals corresponde perfeitamente ao seu saldo bancário combinado real (Conta Corrente + Poupança) — a linha 31 lê0. Esta reconciliação é inegociável. - Revise as Contas a Receber (10 min): Liste todas as faturas pendentes e encaixe-as na semana em que você espera o pagamento. Seja conservador e aplique atrasos de cobrança realistas com base no desempenho passado.
- Revise as Contas a Pagar & Folha de Pagamento (10 min): Encaixe as datas de vencimento de todas as contas futuras conhecidas. Pré-preencha suas datas e valores de folha de pagamento para todo o trimestre. Escalone desembolsos não críticos para sextas-feiras para preservar opcionalidade de caixa durante a semana.
- Reunião de Variação (10 min): Abra a aba Variance e percorra a coluna
comparedda semana: quais categorias se moveram, em que direção, e o que isso fez com o caixa final cumulativo. Anote as causas de quaisquer diferenças significativas e decida se precisa ajustar suas regras de previsão daqui em diante.
Precisão e Tomada de Decisão
Regras Práticas de Precisão
- Semanas 1–2: Mire em erro de ±5–10%. Essas datas e valores devem ser altamente certos.
- Semanas 3–6: Espere erro de ±10–20%. Este período será uma mistura de contas conhecidas e estimativas baseadas em padrões.
- Semanas 7–13: Esta parte da previsão é direcional. É guiada pelo seu pipeline de vendas e despesas de run-rate.
Códigos de Confiança: Para tornar a previsão mais fácil de ler, marque cada linha da previsão com um código de confiança: Comprometido (por ex., folha de pagamento, aluguel), Provável (por ex., faturas para bons clientes), ou Potencial (por ex., novos negócios do pipeline).
Gatilhos & Ações (Decida Estes com Antecedência)
Uma previsão é inútil sem um plano. Pré-defina suas ações para quando você atingir certos limites.
- Piso Mínimo de Caixa: Por exemplo, sua regra pode ser "Devemos manter caixa ≥ 1,5× o valor da próxima folha de pagamento completa em todos os momentos." Se a previsão mostrar que você vai violar este piso, você executa imediatamente um plano pré-acordado, como uma força-tarefa de cobrança e uma pausa em todos os gastos discricionários.
- Guardrail de Runway: Por exemplo, "Se o Caixa Final na Semana 13 implicar menos de X meses de burn, iniciaremos nosso plano de financiamento." Isso pode envolver buscar um term sheet, oferecer aos clientes um desconto para pré-pagamento de receita, ou sacar de uma linha de crédito.
- Regra de Grandes Saídas: Por exemplo, "Qualquer desembolso único não relacionado à folha de pagamento maior que 5% do nosso saldo de caixa atual deve ser aprovado com duas semanas de antecedência e ter um plano alternativo."
Template e Cenários
Conjunto Simples de Categorias (Para uma SaaS em Estágio Seed)
- Recebimentos: Recebimentos de Clientes, Outras Entradas (juros, restituições, subvenções)
- Desembolsos: Folha de Pagamento (líquido + impostos do empregador), Contratados, Cloud/Hosting (CPV), Software/SaaS (Despesas Operacionais), Marketing (Pago/Marca), Aluguel/Escritório, Jurídico/Contábil, Impostos & Taxas, Serviço da Dívida, Pontuais / Anuais
- Calculado: Caixa Líquido, Caixa Final
Template (já construído no download; copie isto para reconstruir em branco)
A tabela abaixo é a forma da aba Forecast — mesmas linhas, mesmas fórmulas — para reconstruir em uma aba em branco. No download, a linha 2 já contém as datas de início de semana (W1 2026-09-14 até W13 2026-12-07) e todo total está montado; congele abaixo da linha 3 e à direita da coluna A (B4 no arquivo) para corresponder.
| Linha / Semana | W1 | W2 | W3 | ... | W13 |
|---|---|---|---|---|---|
| Caixa Inicial | |||||
| --- RECEBIMENTOS --- | |||||
| Recebimentos de Clientes | |||||
| Novos Pré-pagos/Antecipados | |||||
| Outras Entradas | |||||
| Total de Recebimentos | =SUM() | =SUM() | =SUM() | =SUM() | |
| --- DESEMBOLSOS --- | |||||
| Folha de Pagamento (Líquido + Impostos ER) | |||||
| Contratados | |||||
| Cloud/Hosting (CPV) | |||||
| Software/SaaS (Despesas Operacionais) | |||||
| Marketing | |||||
| Aluguel/Escritório | |||||
| Jurídico/Contábil | |||||
| Impostos & Taxas | |||||
| Serviço da Dívida | |||||
| Pontuais / Anuais | |||||
| Total de Desembolsos | =SUM() | =SUM() | =SUM() | =SUM() | |
| Caixa Líquido | =Recebimentos-Desembolsos | ||||
| Caixa Final | =Inicial+Líquido |
Toggles de Cenário (Mantenha Leve)
Você pode construir planejamento de cenários simples sem criar um modelo complexo. Adicione uma célula de "toggle" no topo da sua aba para os principais direcionadores. Por exemplo:
Toggle de desaceleração de cobrança B6: [1.0](Mude para 1.2 para modelar uma desaceleração de 20% nas cobranças — o Total de Recebimentos de cada semana recalcula viaCOL15 = COL12*$B$6+COL13*$B$7+COL14)Toggle de novas reservas B7: [1.0](Mude para 0.8 para modelar uma perda de 20% vs. o plano)
Estas são as células de premissa reais na aba Forecast — nenhuma ligação extra é necessária.
Aprendizado e Evitando Erros
Revisão de Variação (Faça o Aprendizado Composto)
A planilha faz a contabilidade da variação para você: Variance = Actual − Baseline, por categoria e por total, para cada semana cujos Actuals estão complete e datados como a Baseline. Seu trabalho é explicar os números. Ao revisar, marque as razões para diferenças importantes: atraso de cobrança, escopo escapando, compra não planejada de fornecedor, deslocamento de tempo. Se o mesmo tipo de variação se repetir, mude a regra subjacente do seu modelo. Por exemplo, se as cobranças estão consistentemente uma semana atrasadas, mude sua premissa padrão de atraso de cobrança de 21 dias para 28 dias.
Comparação resolvida (o exemplo entregue). A Baseline B1 foi capturada em 2026-09-11 a partir de uma abertura de 85.000; os Actuals são o caixa bancário do razão de exemplo. Os sinais seguem a aba Variance: recebimentos, líquido e final positivos = mais caixa que o planejado, gastos positivos = mais gasto que o planejado.
| Semana | Baseline ent / saí / final | Actual ent / saí / final | Δ recebimentos | Δ gastos | Δ líquido | Δ final (cumulativo) |
|---|---|---|---|---|---|---|
| W1 (2026-09-14) | 12.000 / 10.000 / 87.000 | 12.200 / 9.700 / 87.500 | +200 | −300 | +500 | +500 |
| W2 (2026-09-21) | 13.200 / 17.000 / 83.200 | 13.200 / 17.200 / 83.500 | 0 | +200 | −200 | +300 |
| W3 (2026-09-28) | 15.200 / 6.000 / 92.400 | não inserido | n/a | n/a | n/a | n/a |
Lendo-a do jeito que a aba Variance a apresenta:
- W1, +500. Os recebimentos de clientes vieram 200 acima dos 11.800 planejados (
Variance!B12= +200) e a AWS cobrou 2.200 contra 2.500 planejados (Variance!B19= −300: menos gasto, favorável). 85.000 + 12.200 − 9.700 = 87.500 real contra 85.000 + 12.000 − 10.000 = 87.000 planejado. - W2, +300. Os recebimentos caíram exatamente no plano, mas a conta de SaaS paga pelo banco foi 600 contra 400 planejados (
Variance!C20= +200: mais gasto, adverso). O líquido da semana é −200, então a vantagem final cumulativa encolhe de +500 para +300 (Variance!C29): 87.500 + 13.200 − 17.200 = 83.500 contra 87.000 + 13.200 − 17.000 = 83.200. - W3 em diante,
not observed. Nada foi inserido, então cada célula mostran/a— não um0reconfortante. - Como percentuais (linhas 32–33): recebimentos da W1 +1,67% e gastos −3,00%; recebimentos da W2 0,00% e gastos +1,18%.
Duas marcações saem disto: a estimativa da AWS está rodando alta, e a linha de SaaS paga pelo banco foi planejada 200 a menos. Ambas são correções às premissas do Forecast — a Baseline B1 permanece como está, então no próximo trimestre você ainda pode ver o quão longe o plano original estava.
Armadilhas Comuns (Evite Estas)
- Sobrescrever o Plano: Digitar valores reais sobre células do Forecast (ou recolar a Baseline toda semana) destrói o plano pelo qual você deveria ser medido. Os valores reais vão nos Actuals; a Baseline muda apenas quando você rola o horizonte deliberadamente.
- Misturar Competência e Caixa: Esta previsão é para caixa apenas. Receita reconhecida, depreciação e outros conceitos de competência pertencem ao seu razão principal, não aqui.
- Esquecer Anuais Irregulares: Prêmios anuais de seguro, grandes renovações de SaaS e pagamentos trimestrais de impostos podem ser surpresas enormes. Agende-os na sua previsão assim que souber deles.
- Ignorar o Caixa de Imposto sobre Vendas: Mesmo que seja um passivo de repasse, o caixa fica na sua conta bancária até você recolhê-lo. Modele tanto a entrada quanto a saída.
- Não Reconciliar: Se o Caixa Final da semana nos Actuals não corresponder ao seu saldo bancário combinado real (Conta Corrente + Poupança; saldos de cartão excluídos), você tem um erro de mapeamento — geralmente uma cobrança de cartão contada ou uma varredura mantida. Você precisa corrigi-lo antes de poder confiar na previsão.
- Sem Responsável Claro: Atribua a uma pessoa a responsabilidade de atualizar a previsão toda semana. Nomeie um substituto para férias.
Conexões Rápidas com o Beancount
- Plano de Contas: Mantenha seus baldes de caixa limpos (por ex.,
Assets:Bank:Checking,Assets:Bank:Savings,Liabilities:CreditCard:Amex). Os valores reais semanais são apenas as pernas deAssets:Bank:*— a conta do cartão existe para que as liquidações tenham de onde vir, não como uma segunda fonte de saídas. - Não use a Demonstração de Resultado como verificação: A Demonstração de Resultado do Fava é por competência — ela lança compras no cartão quando cobradas e ignora o principal do empréstimo — então ela vai discordar desta previsão de caixa por design. A verificação de caixa é a exportação bean-query + transporte acima (
yarn check:cash-flow-actuals), que deve conciliar com o Caixa Final toda semana. - Documentação: Quando você tiver um item pontual grande, anexe o PDF da fatura na sua pasta
documents/do Beancount e vincule a ele na coluna de notas da sua previsão.
Pacote para Conselho/Investidores (Um Slide)
- Gráfico: Um gráfico de linha simples do seu Caixa Final por semana para todas as 13 semanas. Adicione uma linha horizontal mostrando seu piso mínimo de caixa.
- Tabela: Uma pequena tabela mostrando os números de Caixa Final da W1–W13, mais uma lista com marcadores das 5 maiores entradas e saídas esperadas no trimestre.
- Notas: Alguns pontos sobre premissas-chave que mudaram desde a última atualização e quaisquer gatilhos que você atingiu ou espera atingir.