Usa l'editor, il modulo transazioni e i report di interrogazione per lavorare con la tua contabilità. Le ricette eseguibili di seguito sono rivolte a Fava 1.30.16 standard con Beancount 3.2.3 e beanquery 0.2.0; segui la configurazione locale fissa.
Beancount.io utilizza una dashboard separata. Il suo codice sorgente conferma le rotte per la contabilità relative a modifica, interrogazione, documenti e impostazioni, oltre ai consumatori per diverse opzioni di visualizzazione di Fava. Ciò non rende le scorciatoie da tastiera, le regole di inserimento, l'esecuzione dei plugin o i percorsi URL di Fava standard una promessa di compatibilità ospitata. L'immagine seguente mostra la dashboard ospitata, non l'interfaccia standard.

1. Modifica e Inserimento Dati
L'Editor Integrato
L'editor di Fava standard offre il completamento per conti, beneficiari e tag. Usa default-file per scegliere il suo file sorgente iniziale. insert-entry posiziona inoltre il cursore sull'ultimo marcatore di inserimento in quel file; non è un'opzione core di Beancount.
2000-01-01 custom "fava-option" "default-file"
2024-01-01 custom "fava-option" "insert-entry" "^Expenses:Food$"Questo frammento seleziona il file che lo contiene. Le nuove voci successive al 1 gennaio 2024 che corrispondono a Expenses:Food vengono inserite prima del marcatore a meno che una regola idonea successiva o il conto di una registrazione successiva non abbia precedenza. Vedi l'esempio completo di inserimento multi-file.
Aggiunta di Transazioni
In Fava standard, fai clic su + o premi n per aprire il modulo transazioni. Il campo narrazione accetta tag e link separati da spazi, come Lunch #food ^receipt-001. I nomi dei conti devono già avere direttive open.
Salva questa contabilità completa come ui-demo.beancount per provare i report seguenti. La spesa positiva è un addebito; la registrazione di cassa negativa è il suo accredito.
option "title" "UI Demo"
option "operating_currency" "USD"
2024-01-01 open Assets:Checking USD
fava-uptodate-indication: TRUE
2024-01-01 open Income:Salary USD
2024-01-01 open Expenses:Food USD
2024-01-02 * "Salary"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD
2024-01-03 * "Groceries" #food
Expenses:Food 400.00 USD
Assets:Checking -400.00 USD
2024-01-04 balance Assets:Checking 2600.00 USDEsegui bea --file ui-demo.beancount check, quindi fava ui-demo.beancount. Il controllo passa e il saldo ammonta a 2.600,00 USD. Una transazione con data futura e tag #template è comunque una transazione reale: quel tag non la rende un modello di modulo riutilizzabile e inerte. Tieni le transazioni ipotetiche in una contabilità separata per scenari.
2. Gestione dei Documenti
Fava standard può caricare documenti trascinandoli sui nomi dei conti o sulle righe del giornale. Configura una radice documenti reale e mantieni la sua gerarchia di conti coerente con i tuoi conti aperti.
Questo frammento opzionale può essere aggiunto a ui-demo.beancount. Per prima cosa crea una directory documents accanto alla contabilità. Per provare il rilevamento automatico, posiziona un file reale denominato 2024-01-03-receipt.pdf all'interno di documents/Expenses/Food/.
option "documents" "documents"
plugin "fava.plugins.link_documents"
plugin "fava.plugins.tag_discovered_documents"Questi sono moduli reali inclusi in Fava 1.30.16. Beancount rileva file datati nelle directory dei conti; tag_discovered_documents aggiunge #discovered. link_documents abbina i metadati document alle voci documento e li collega. Non deduce un'associazione di transazione dal contenuto di una ricevuta. Aggiungi questi metadati direttamente sotto l'intestazione esistente Groceries, prima delle sue registrazioni:
document: "2024-01-03-receipt.pdf"Quella riga indentata è un frammento di metadati, non una contabilità autonoma. Con il file presente, il documento riceve #linked e condivide ^dok-2024-01-03 con la transazione. Documenti corrispondenti mancanti producono un errore. Per il comportamento esatto della versione standard, vedi il plugin di collegamento documenti versionato.
3. Interrogazione e Analisi con BQL
La pagina Interrogazione di Fava standard esegue il Beancount Query Language. Cancella i filtri globali di tempo/conto prima di riprodurre questi risultati sull'intera contabilità. Questi filtri dell'interfaccia possono rimuovere voci prima dell'esecuzione di un'interrogazione.
I risultati possono essere scaricati come CSV. Il supporto dei grafici dipende dai tipi di risultato: la guida standard descrive esattamente due colonne, con una data o stringa seguita da un inventario. Una coppia arbitraria di colonne numeriche non garantisce un grafico.
Esempi Pratici di Interrogazione
Esegui queste interrogazioni su ui-demo.beancount nella pagina Interrogazione di Fava o passa ciascuna interrogazione tra virgolette a bea --file ui-demo.beancount query.
Riepilogo mensile delle spese:
SELECT account, SUM(position) AS total
FROM postings
WHERE account ~ '^Expenses:'
AND date >= 2024-01-01 AND date < 2024-02-01
GROUP BY account
ORDER BY account;Risultato previsto: Expenses:Food, 400,00 USD.
Entrate vs. spese per mese:
SELECT YEAR(date) AS year, MONTH(date) AS month,
ROOT(account, 1) AS category, currency,
SUM(number) AS signed_total
FROM postings
WHERE account ~ '^(Income|Expenses):'
GROUP BY year, month, category, currency
ORDER BY year, month, category, currency;| Anno | Mese | Categoria | Valuta | Totale firmato |
|---|---|---|---|---|
| 2024 | 1 | Spese | USD | 400.00 |
| 2024 | 1 | Entrate | USD | -3000.00 |
L'interrogazione preserva i segni di Beancount e raggruppa le unità separatamente per valuta. Entrate di 3.000,00 USD meno spese di 400,00 USD lasciano 2.600,00 USD. È un report di unità, non una conversione o un report di base di costo. IIF non è disponibile su beanquery 0.2.0 e l'operatore unario -position non è supportato; raggruppare le due categorie di conti evita entrambe le operazioni.
4. Personalizzazione e Flusso di Lavoro
Personalizzazione della Vista
Aggiungi queste direttive Fava alla contabilità di esempio per nascondere i conti con saldo zero e comprimere i rami di investimento:
2000-01-01 custom "fava-option" "show-closed-accounts" "false"
2000-01-01 custom "fava-option" "show-accounts-with-zero-balance" "false"
2000-01-01 custom "fava-option" "collapse-pattern" "^Assets:Investments"Essi influenzano gli alberi dei conti dei report. I conti con saldi diversi da zero rimangono visibili. Forme core come option "show-closed-accounts" "false" falliscono la validazione di Beancount.
I metadati fava-uptodate-indication: TRUE del campione sono sulla propria riga indentata sotto open. Non metterli sulla riga open né tra virgolette il booleano. Un ultimo controllo di saldo superato produce verde; un controllo fallito produce rosso; una transazione successiva produce giallo. L'asserzione del 4 gennaio è verde. Può apparire anche un indicatore di freschezza grigio separato poiché queste date sono vecchie.
Collegamenti nella Barra Laterale
Per l'esempio standard intitolato UI Demo, questi percorsi completi portano ai suoi report:
2024-01-01 custom "fava-sidebar-link" "January Expenses" "/ui-demo/income_statement/?time=2024-01"
2024-01-01 custom "fava-sidebar-link" "All Documents" "/ui-demo/documents/"Questi percorsi presuppongono che Fava standard sia montato nella root dell'host. Sostituisci /ui-demo con lo slug effettivo della tua contabilità e includi qualsiasi prefisso di montaggio del server. Vedi collegamenti personalizzati nella barra laterale per il comportamento testato di /jump e il confine del routing ospitato.
Configurazione Generale
Avviare Fava standard con più file principali crea contabilità separate nel suo selettore di contabilità. I file inclusi tramite include rimangono parte di una singola contabilità e appaiono come sorgenti modificabili; non sono libri separati.
Usa le opzioni Fava per language, default-file e use-external-editor. Un editor esterno necessita di un gestore beancount:// e accesso ai file sorgente. I moduli di estensione reali standard includono anche fava.ext.auto_commit e fava.ext.portfolio_list. Le estensioni usano custom "fava-extension" con i propri prerequisiti; sono distinte dalle direttive plugin usate sopra. Vedi la guida alle estensioni versionata di Fava.
5. Prestazioni e Risoluzione dei Problemi
Gestione di File Grandi
Usa include per organizzare una contabilità per conto o periodo. Beancount carica comunque i file inclusi, quindi dividere un libro non riduce di per sé l'input del report. Limita le date visualizzate e semplifica le interrogazioni costose quando hai bisogno di un report più piccolo.
Problemi Comuni e Soluzioni
- Errori di contabilità: Esegui
bea checke ispeziona il report Errori di Fava. Una pagina può essere visualizzata mentre il caricatore ha errori. - Comportamento inatteso delle opzioni: Controlla il runtime testato e usa direttive Fava personalizzate datate.
bea checknon può rilevare da solo un'opzione Fava sconosciuta. - Totali di interrogazione inattesi: Cancella i filtri globali, includi la cronologia di apertura e mantieni le valute separate.
- Documenti mancanti: Controlla che la directory esista, il conto sia aperto, il nome file inizi con una data valida e i metadati della transazione corrispondano al documento.
Per contrasto, questi sono esempi intenzionalmente non validi. Non devono essere copiati in una contabilità funzionante:
option "insert-entry" "Expenses:Food"
custom "fava-sidebar-link" "Label" "/jump?time=month"Il primo usa un'opzione core sconosciuta. Il secondo omette la data richiesta. La riferimento alle funzionalità standard descrive il comportamento dell'interfaccia per questa release.