Utilitza l'editor, el formulari de transaccions i els informes de consultes per treballar amb el teu llibre comptable. Els exemples executables següents estan pensats per a Fava 1.30.16 estàndard amb Beancount 3.2.3 i beanquery 0.2.0; segueix la configuració local amb versions fixades.
Beancount.io utilitza un tauler de control independent. El codi font del producte confirma que hi ha rutes del llibre comptable per a l'edició, les consultes, els documents i la configuració, així com components que utilitzen diverses opcions de visualització de Fava. Això no garanteix que les dreceres de teclat, les regles d'inserció, l'execució de plugins o les rutes URL de Fava estàndard siguin compatibles amb el servei allotjat. La imatge següent mostra el tauler del servei allotjat, no la interfície estàndard.

Explora el llibre comptable en directe →
1. Edició i introducció de dades
L'editor integrat
L'editor de Fava estàndard ofereix autocompleció per a comptes, beneficiaris i etiquetes. Utilitza default-file per triar el fitxer font inicial. insert-entry també situa el cursor a l'últim marcador d'inserció d'aquest fitxer; no és una opció del nucli de Beancount.
2000-01-01 custom "fava-option" "default-file"
2024-01-01 custom "fava-option" "insert-entry" "^Expenses:Food$"Aquest fragment selecciona el fitxer que el conté. Les noves entrades posteriors a l'1 de gener de 2024 que coincideixen amb Expenses:Food s'insereixen abans del marcador, tret que tingui prioritat una regla posterior aplicable o el compte d'una anotació posterior de la transacció. Consulta l'exemple complet d'inserció en diversos fitxers.
Afegir transaccions
A Fava estàndard, fes clic a + o prem n per obrir el formulari de transaccions. El camp de descripció accepta etiquetes i enllaços separats per espais, com ara Lunch #food ^receipt-001. Els comptes ja han de disposar de directives open.
Desa aquest llibre comptable complet com a ui-demo.beancount per provar els informes següents. La despesa positiva és un càrrec al deure; l'anotació negativa de tresoreria és l'abonament corresponent a l'haver.
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 USDExecuta bea --file ui-demo.beancount check i després fava ui-demo.beancount. La verificació és satisfactòria i el compte corrent té 2,600.00 USD. Una transacció amb data futura i #template continua sent una transacció real: aquesta etiqueta no la converteix en una plantilla de formulari reutilitzable sense efectes comptables. Mantén les transaccions hipotètiques en un llibre comptable d'escenaris separat.
2. Gestió de documents
Fava estàndard permet pujar documents deixant-los anar sobre els noms dels comptes o les files del diari. Configura un directori arrel de documents que existeixi i mantén-ne la jerarquia de comptes coherent amb els comptes oberts.
Pots afegir aquest fragment opcional a ui-demo.beancount. Primer crea un directori documents al costat del llibre comptable. Per provar la detecció de documents, col·loca un fitxer real anomenat 2024-01-03-receipt.pdf dins de documents/Expenses/Food/.
option "documents" "documents"
plugin "fava.plugins.link_documents"
plugin "fava.plugins.tag_discovered_documents"Aquests són mòduls reals inclosos a Fava 1.30.16. Beancount detecta els fitxers amb data als directoris dels comptes; tag_discovered_documents hi afegeix #discovered. link_documents associa les metadades document amb les entrades de documents i les enllaça. No dedueix l'associació amb una transacció a partir del contingut d'un rebut. Afegeix aquestes metadades directament sota la capçalera existent de la transacció Groceries, abans de les seves anotacions:
document: "2024-01-03-receipt.pdf"Aquesta línia sagnada és un fragment de metadades, no un llibre comptable independent. Si el fitxer existeix, el document rep #linked i comparteix ^dok-2024-01-03 amb la transacció. L'absència d'un document coincident produeix un error. Per conèixer el comportament exacte de la versió estàndard, consulta el plugin d'enllaç de documents de la versió indicada.
3. Consultes i anàlisi amb BQL
La pàgina de consultes de Fava estàndard executa Beancount Query Language. Esborra els filtres globals de temps i de compte abans de reproduir aquests resultats del llibre comptable complet. Aquests filtres de la interfície poden excloure entrades abans d'executar una consulta.
Els resultats es poden descarregar en format CSV. La disponibilitat de gràfics depèn dels tipus de resultats: l'ajuda de la versió estàndard descriu exactament dues columnes, amb una data o una cadena de text seguida d'un inventari. Un parell arbitrari de columnes numèriques no garanteix que es pugui mostrar un gràfic.
Exemples pràctics de consultes
Executa aquestes consultes sobre ui-demo.beancount a la pàgina de consultes de Fava o passa cada consulta entre cometes a bea --file ui-demo.beancount query.
Resum mensual de despeses:
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;Resultat esperat: Expenses:Food, 400.00 USD.
Ingressos i despeses per mes:
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;| Any | Mes | Categoria | Divisa | Total amb signe |
|---|---|---|---|---|
| 2024 | 1 | Expenses | USD | 400.00 |
| 2024 | 1 | Income | USD | -3000.00 |
La consulta conserva els signes de Beancount i agrupa les unitats per separat segons la divisa. Uns ingressos de 3,000.00 USD menys unes despeses de 400.00 USD deixen 2,600.00 USD. És un informe d'unitats, no un informe de conversió ni de cost d'adquisició. IIF no està disponible a beanquery 0.2.0 i l'operació unària -position no és compatible; agrupar les dues categories de comptes evita totes dues operacions.
4. Personalització i flux de treball
Personalitzar la visualització
Afegeix aquestes directives de Fava al llibre comptable d'exemple per amagar els comptes amb saldo zero i plegar les branques d'inversions:
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"Afecten els arbres de comptes dels informes. Els comptes amb saldo diferent de zero continuen sent visibles. Les formes del nucli com ara option "show-closed-accounts" "false" no superen la validació de Beancount.
Les metadades fava-uptodate-indication: TRUE de l'exemple es troben en una línia pròpia sagnada sota open. No les posis a la mateixa línia que open ni escriguis el booleà entre cometes. Si l'última verificació de saldo és satisfactòria, l'indicador és verd; si falla, és vermell; si hi ha una transacció posterior, és groc. L'asserció del 4 de gener és verda. També pot aparèixer un indicador gris addicional sobre l'antiguitat de les dades, perquè aquestes dates són antigues.
Enllaços de la barra lateral
Per a l'exemple estàndard titulat UI Demo, aquestes rutes completes porten als seus informes:
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/"Aquestes rutes pressuposen que Fava estàndard està muntat a l'arrel de l'amfitrió. Substitueix /ui-demo pel segment identificador real del teu llibre comptable i inclou qualsevol prefix de muntatge del servidor. Consulta els enllaços personalitzats de la barra lateral per conèixer el comportament verificat de /jump i els límits de compatibilitat de les rutes del servei allotjat.
Configuració general
Iniciar Fava estàndard amb diversos fitxers principals crea llibres comptables separats al selector de llibres. Els fitxers incorporats mitjançant include continuen formant part d'un únic llibre comptable i apareixen com a fitxers font editables; no són llibres separats.
Consulta les opcions de Fava per a language, default-file i use-external-editor. Un editor extern necessita un gestor del protocol beancount:// i accés als fitxers font. Entre els mòduls d'extensió reals de la versió estàndard també hi ha fava.ext.auto_commit i fava.ext.portfolio_list. Les extensions utilitzen custom "fava-extension" i tenen requisits propis; són diferents de les directives plugin utilitzades més amunt. Consulta l'ajuda d'extensions de la versió indicada de Fava.
5. Rendiment i resolució de problemes
Treballar amb fitxers grans
Utilitza inclusions per organitzar un llibre comptable per compte o període. Beancount continua carregant els fitxers inclosos, de manera que dividir un llibre no redueix per si mateix les dades d'entrada de l'informe. Limita les dates mostrades i simplifica les consultes costoses quan necessitis un informe més reduït.
Problemes habituals i solucions
- Errors del llibre comptable: Executa
bea checki revisa l'informe d'errors de Fava. Una pàgina es pot mostrar encara que el carregador hagi detectat errors. - Comportament inesperat d'una opció: Comprova la versió de l'entorn verificada i utilitza directives personalitzades de Fava amb data.
bea checkno pot detectar per si sol una opció desconeguda de Fava. - Totals inesperats a les consultes: Esborra els filtres globals, inclou l'historial de saldos inicials i mantén les divises separades.
- Documents absents: Comprova que el directori existeixi, que el compte estigui obert, que el nom del fitxer comenci amb una data vàlida i que les metadades de la transacció coincideixin amb el document.
Com a contrast, aquests són exemples intencionadament invàlids. No s'han de copiar en un llibre comptable operatiu:
option "insert-entry" "Expenses:Food"
custom "fava-sidebar-link" "Label" "/jump?time=month"El primer utilitza una opció desconeguda del nucli. El segon omet la data obligatòria. La referència de les funcions estàndard descriu el comportament de la interfície d'aquesta versió.