Salta al contenuto principale

Funzionalità dell'Interfaccia

Esplora le principali funzionalità dell'interfaccia web di beancount.io per modificare, interrogare, caricare documenti e personalizzare il tuo flusso di lavoro Beancount.

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.

Dashboard della contabilità beancount.io che mostra un grafico dell'andamento del patrimonio netto, saldi dei conti e una barra dell'assistente IA

Esplora la contabilità live →

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 USD

Esegui 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;
AnnoMeseCategoriaValutaTotale firmato
20241SpeseUSD400.00
20241EntrateUSD-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 check e 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 check non 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.

Fonte: https://beancount.io/it/docs/Tips/ui-features