O Beancount pode projetar transações recorrentes futuras usando o plugin fava.plugins.forecast. Isso permite visualizar o impacto futuro de receitas e despesas regulares, como salários, aluguel e assinaturas, em seus relatórios financeiros.

Passo 1: Ativar o Plugin de Previsão
Primeiro, você precisa ativar o plugin adicionando a seguinte linha ao topo do seu arquivo de razão do Beancount:
plugin "fava.plugins.forecast"Passo 2: Criar uma Transação de Previsão
Para prever uma transação recorrente, crie uma única entrada de transação usando a flag # (em vez de * ou !) e adicione uma tag especial de previsão à narração.
A estrutura básica é assim:
YYYY-MM-DD # "Narração [FREQUÊNCIA CONDIÇÕES]"
Conta:Um 100.00 USD
Conta:Dois -100.00 USDO plugin de previsão usará esta entrada como modelo para gerar transações futuras em seus relatórios.
Entendendo a Sintaxe de Previsão
A tag de previsão na narração segue um formato específico: [FREQUÊNCIA CONDIÇÕES].
Frequência
A parte FREQUÊNCIA é obrigatória e define com que frequência a transação se repete. Deve estar em letras maiúsculas.
DIARIAMENTESEMANALMENTEMENSALMENTETRIMESTRALMENTEANUALMENTE
Exemplo: Um Pagamento Mensal de Aluguel Esta transação será projetada para ocorrer no dia 1º de cada mês, a partir de janeiro de 2024.
2024-01-01 # "Pagamento de aluguel [MENSALMENTE]"
Despesas:Moradia:Aluguel 2500.00 USD
Ativos:ContaCorrente -2500.00 USDCondições (Opcional)
Você pode adicionar CONDIÇÕES opcionais para controlar a duração e o padrão da previsão.
1. Definir uma Data de Término com ATÉ
Use ATÉ YYYY-MM-DD para interromper a previsão em uma data específica.
-
Exemplo: Uma assinatura de academia que termina este ano.
2024-01-15 # "Assinatura de academia [MENSALMENTE ATÉ 2024-12-31]" Despesas:Saúde:Academia 80.00 USD Ativos:ContaCorrente -80.00 USD
2. Limitar Ocorrências com REPETIR
Use REPETIR n VEZES para gerar a transação um número específico de vezes.
-
Exemplo: Um empréstimo de carro com 36 parcelas restantes.
2024-01-25 # "Pagamento do carro [MENSALMENTE REPETIR 36 VEZES]" Despesas:Transporte:PagamentoCarro 450.00 USD Passivos:EmpréstimoAuto -450.00 USD
3. Criar Padrões Irregulares com PULAR
Use PULAR n VEZES para pular intervalos. Isso é útil para coisas como pagamentos quinzenais.
-
Exemplo: Um salário quinzenal (ocorre a cada duas semanas).
2024-01-05 # "Salário quinzenal [SEMANALMENTE PULAR 1 VEZ]" Ativos:ContaCorrente 3000.00 USD Receita:Salário -3000.00 USD
Exemplo Prático: Um Orçamento Mensal
Você pode combinar várias previsões para projetar seu orçamento completo, incluindo várias fontes de receita e despesa.
plugin "fava.plugins.forecast"
; === RECEITAS ===
2024-01-05 # "Salário quinzenal [SEMANALMENTE PULAR 1 VEZ]"
Ativos:ContaCorrente 3000.00 USD
Receita:Salário -3000.00 USD
; === DESPESAS ===
2024-01-01 # "Aluguel [MENSALMENTE]"
Despesas:Moradia:Aluguel 2500.00 USD
Ativos:ContaCorrente -2500.00 USD
2024-01-01 # "Mercado [SEMANALMENTE]"
Despesas:Alimentação:Mercado 150.00 USD
Ativos:ContaCorrente -150.00 USD
2024-01-15 # "Seguro do Carro [TRIMESTRALMENTE REPETIR 4 VEZES]"
Despesas:Seguro:Auto 450.00 USD
Ativos:ContaCorrente -450.00 USDDepois de adicionar essas entradas, seus relatórios, como a Demonstração de Resultados e o gráfico de Lucro Líquido, incluirão automaticamente os dados projetados, dando a você uma visão clara do seu futuro financeiro.
Solução de Problemas e Melhores Práticas
-
As Previsões Não Estão Aparecendo?
- Certifique-se de que
plugin "fava.plugins.forecast"está no seu arquivo de razão. - Use a flag
#para a transação, não*. - Verifique se há erros de digitação na tag de frequência (por exemplo,
[MENSALMENTE]não[Mensalmente]ou[MENSAL]).
- Certifique-se de que
-
Melhores Práticas
- Seja Descritivo: Use narrações claras para que você saiba para que serve cada previsão.
- Revise Regularmente: Atualize suas previsões (por exemplo, para um aumento salarial ou mudança de aluguel) para mantê-las precisas.
- Use Condições de Término: Para transações que não são permanentes (como empréstimos ou assinaturas), use
ATÉouREPETIRpara evitar que sejam previstas indefinidamente.