Beancount può proiettare future transazioni ricorrenti utilizzando il plugin fava.plugins.forecast. Questo ti permette di visualizzare l'impatto futuro di entrate e spese regolari, come stipendi, affitti e abbonamenti, sui tuoi report finanziari.

Passo 1: Abilita il Plugin Forecast
Prima di tutto, devi abilitare il plugin aggiungendo la seguente riga all'inizio del tuo file contabile Beancount:
plugin "fava.plugins.forecast"Passo 2: Crea una Transazione Previsionale
Per prevedere una transazione ricorrente, crea una singola voce di transazione utilizzando il flag # (invece di * o !) e aggiungi un tag previsionale speciale nella narrazione.
La struttura di base è la seguente:
YYYY-MM-DD # "Narrazione [FREQUENZA CONDIZIONI]"
Conto:Uno 100.00 USD
Conto:Due -100.00 USDIl plugin forecast utilizzerà questa voce come modello per generare transazioni future nei tuoi report.
Comprendere la Sintassi di Previsione
Il tag previsionale nella narrazione segue un formato specifico: [FREQUENZA CONDIZIONI].
Frequenza
La parte FREQUENZA è obbligatoria e definisce quanto spesso la transazione si ripete. Deve essere in maiuscolo.
GIORNALIERASETTIMANALEMENSILETRIMESTRALEANNUALE
Esempio: Pagamento Mensile dell'Affitto Questa transazione sarà proiettata per verificarsi il 1° di ogni mese, a partire da gennaio 2024.
2024-01-01 # "Pagamento affitto [MENSILE]"
Spese:Abitazione:Affitto 2500.00 USD
Attività:ContoCorrente -2500.00 USDCondizioni (Opzionale)
Puoi aggiungere CONDIZIONI opzionali per controllare la durata e lo schema della previsione.
1. Imposta una Data di Fine con FINO_A
Usa FINO_A YYYY-MM-DD per fermare la previsione a una data specifica.
-
Esempio: Un abbonamento in palestra che termina quest'anno.
2024-01-15 # "Abbonamento palestra [MENSILE FINO_A 2024-12-31]" Spese:Salute:Palestra 80.00 USD Attività:ContoCorrente -80.00 USD
2. Limita le Occorrenze con RIPETI
Usa RIPETI n VOLTE per generare la transazione un numero specifico di volte.
-
Esempio: Un prestito auto con 36 rate rimanenti.
2024-01-25 # "Rata auto [MENSILE RIPETI 36 VOLTE]" Spese:Trasporti:RataAuto 450.00 USD Passività:PrestitoAuto -450.00 USD
3. Crea Schemi Irregolari con SALTA
Usa SALTA n TEMPO/TEMPI per saltare intervalli. Questo è utile per cose come gli stipendi bisettimanali.
-
Esempio: Uno stipendio bisettimanale (si verifica ogni due settimane).
2024-01-05 # "Stipendio bisettimanale [SETTIMANALE SALTA 1 TEMPO]" Attività:ContoCorrente 3000.00 USD Reddito:Stipendio -3000.00 USD
Esempio Pratico: Un Budget Mensile
Puoi combinare più previsioni per proiettare il tuo intero budget, includendo vari flussi di entrate e spese.
plugin "fava.plugins.forecast"
; === ENTRATE ===
2024-01-05 # "Stipendio bisettimanale [SETTIMANALE SALTA 1 TEMPO]"
Attività:ContoCorrente 3000.00 USD
Reddito:Stipendio -3000.00 USD
; === SPESE ===
2024-01-01 # "Affitto [MENSILE]"
Spese:Abitazione:Affitto 2500.00 USD
Attività:ContoCorrente -2500.00 USD
2024-01-01 # "Spesa alimentare [SETTIMANALE]"
Spese:Cibo:Alimentari 150.00 USD
Attività:ContoCorrente -150.00 USD
2024-01-15 # "Assicurazione auto [TRIMESTRALE RIPETI 4 VOLTE]"
Spese:Assicurazioni:Auto 450.00 USD
Attività:ContoCorrente -450.00 USDUna volta aggiunte queste voci, i tuoi report, come il Conto Economico e il grafico Utile Netto, includeranno automaticamente i dati proiettati, dandoti una visione chiara del tuo futuro finanziario.
Risoluzione dei Problemi e Migliori Pratiche
-
Le Previsioni Non Appaiono?
- Assicurati che
plugin "fava.plugins.forecast"sia presente nel tuo file contabile. - Usa il flag
#per la transazione, non*. - Controlla errori di battitura nel tag della frequenza (es.
[MENSILE]non[Mensile]o[MENSLE]).
- Assicurati che
-
Migliori Pratiche
- Sii Descrittivo: Usa narrazioni chiare in modo da sapere a cosa serve ogni previsione.
- Revisiona Regolarmente: Aggiorna le tue previsioni (es. per un aumento di stipendio o una variazione dell'affitto) per mantenerle accurate.
- Usa Condizioni di Fine: Per transazioni non permanenti (come prestiti o abbonamenti), usa
FINO_AoRIPETIper evitare che le previsioni si estendano all'infinito.