Gebruik de editor, het transactieformulier en queryrapporten om met uw grootboek te werken. De uitvoerbare recepten hieronder richten zich op stock Fava 1.30.16 met Beancount 3.2.3 en beanquery 0.2.0; volg de vastgezette lokale installatie.
Beancount.io gebruikt een apart dashboard. De productbron bevestigt grootboekrouten voor bewerken, opvragen, documenten en instellingen, plus consumers voor verschillende Fava-weergaveopties. Dit vormt geen belofte van gehoste compatibiliteit voor de sneltoetsen, invoegregels, plugin-uitvoering of URL-paden van stock Fava. De onderstaande afbeelding toont het gehoste dashboard, niet de stock-UI.

1. Bewerken en gegevensinvoer
De ingebouwde editor
De editor van stock Fava biedt aanvulling voor rekeningen, begunstigden en tags. Gebruik default-file om het initiële bronbestand te kiezen. insert-entry plaatst de cursor ook bij de nieuwste invoegmarkering in dat bestand; het is geen kernoptie van Beancount.
2000-01-01 custom "fava-option" "default-file"
2024-01-01 custom "fava-option" "insert-entry" "^Expenses:Food$"Dit fragment selecteert het bevattende bestand. Nieuwe boekingen na 1 januari 2024 die overeenkomen met Expenses:Food worden vóór de markering ingevoegd, tenzij een latere in aanmerking komende regel of de rekening van een latere boeking prioriteit krijgt. Zie het volledige voorbeeld van meerdere bestanden invoegen.
Transacties toevoegen
Klik in stock Fava op + of druk op n om het transactieformulier te openen. Het veld voor de omschrijving accepteert door spaties gescheiden tags en links, zoals Lunch #food ^receipt-001. Rekeningnamen moeten al open-richtlijnen hebben.
Sla dit complete grootboek op als ui-demo.beancount om de onderstaande rapporten te proberen. De positieve uitgave is een debet; de negatieve cashposting is het bijbehorende credit.
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 USDVoer bea --file ui-demo.beancount check uit en daarna fava ui-demo.beancount. De controle slaagt en het saldo bedraagt 2.600,00 USD. Een in de toekomst gedateerde transactie met #template is nog steeds een echte transactie: die tag maakt er geen inert herbruikbaar formuliermodel van. Houd hypothetische transacties in een afzonderlijk scenario-grootboek.
2. Documentbeheer
Stock Fava kan documenten uploaden door ze op rekeningnamen of journaalregels te laten vallen. Configureer een echte documenthoofdmap en houd de rekeninghiërarchie consistent met uw geopende rekeningen.
Dit optionele fragment kan aan ui-demo.beancount worden toegevoegd. Maak eerst een map documents naast het grootboek. Plaats een echt bestand met de naam 2024-01-03-receipt.pdf in documents/Expenses/Food/ om detectie te proberen.
option "documents" "documents"
plugin "fava.plugins.link_documents"
plugin "fava.plugins.tag_discovered_documents"Dit zijn echte modules die worden meegeleverd in Fava 1.30.16. Beancount detecteert gedateerde bestanden in rekeningmappen; tag_discovered_documents voegt #discovered toe. link_documents koppelt document-metadata aan documentboekingen en linkt ze. Het leidt geen transactiekoppeling af uit de inhoud van een bon. Voeg deze metadata rechtstreeks toe onder de bestaande Groceries-kop, vóór de boekingen:
document: "2024-01-03-receipt.pdf"Die ingesprongen regel is een metadatafragment, geen op zichzelf staand grootboek. Als het bestand aanwezig is, krijgt het document #linked en deelt het ^dok-2024-01-03 met de transactie. Ontbrekende overeenkomende documenten produceren een fout. Voor het exacte stockgedrag, zie de versiegebonden documentkoppelingsplugin.
3. Opvragen en analyseren met BQL
De Query-pagina van stock Fava draait Beancount Query Language. Wis globale tijd-/rekeningsfilters voordat u deze volledige-grootboekresultaten reproduceert. Die UI-filters kunnen boekingen verwijderen vóór een query wordt uitgevoerd.
Resultaten kunnen worden gedownload als CSV. Grafiekondersteuning hangt af van de resultaattypen: de stock-help beschrijft exact twee kolommen, met een datum of tekenreeks gevolgd door een inventaris. Een willekeurig paar numerieke kolommen garandeert geen grafiek.
Praktische queryvoorbeelden
Voer deze queries uit tegen ui-demo.beancount op de Query-pagina van Fava of geef elke geciteerde query door aan bea --file ui-demo.beancount query.
Maandelijkse uitgavenoverzicht:
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;Verwacht resultaat: Expenses:Food, 400,00 USD.
Inkomsten vs. uitgaven per maand:
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;| Jaar | Maand | Categorie | Valuta | Getekend totaal |
|---|---|---|---|---|
| 2024 | 1 | Uitgaven | USD | 400,00 |
| 2024 | 1 | Inkomsten | USD | -3000,00 |
De query behoudt de tekens van Beancount en groepeert eenheden afzonderlijk per valuta. Inkomsten van 3.000,00 USD minus uitgaven van 400,00 USD laat 2.600,00 USD over. Het is een eenhedenrapport, geen conversie- of kostprijsrapport. IIF is niet beschikbaar op beanquery 0.2.0 en unaire -position wordt niet ondersteund; het groeperen van de twee rekeningcategorieën vermijdt beide bewerkingen.
4. Aanpassing en workflow
De weergave aanpassen
Voeg deze Fava-richtlijnen toe aan het voorbeeldgrootboek om rekeningen met een nulsaldo te verbergen en investeringsvertakkingen in te klappen:
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"Ze beïnvloeden rapportrekeningbomen. Rekeningen met een niet-nul saldo blijven zichtbaar. Kernformulieren zoals option "show-closed-accounts" "false" doorstaan de Beancount-validatie niet.
De metadata fava-uptodate-indication: TRUE van het voorbeeld staat op een eigen ingesprongen regel onder open. Zet het niet op de open-regel en citeer de boolean niet. Een recente geslaagde saldocontrole produceert groen; een mislukte controle rood; een daaropvolgende transactie geel. De bewering van 4 januari is groen. Een afzonderlijke grijze versheidsindicator kan ook verschijnen omdat deze datums oud zijn.
Zijbalklinks
Voor het stockvoorbeeld met de titel UI Demo leiden deze volledige paden naar de bijbehorende rapporten:
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/"Deze paden gaan ervan uit dat stock Fava op de hostroot is gemonteerd. Vervang /ui-demo door uw werkelijke grootboek-slug en neem eventuele servermount-prefix op. Zie aangepaste zijbalklinks voor getest /jump-gedrag en de gehoste routeringsgrens.
Algemene configuratie
Het starten van stock Fava met meerdere hoofd-, bestanden creëert afzonderlijke grootboeken in de grootboekwisselaar. Bestanden die via include worden binnengehaald, blijven deel uitmaken van één grootboek en verschijnen als bewerkbare bronnen; ze zijn geen afzonderlijke boeken.
Gebruik Fava-opties voor language, default-file en use-external-editor. Een externe editor vereist een beancount://-handler en toegang tot de bronbestanden. Echte stock-extensiemodules omvatten ook fava.ext.auto_commit en fava.ext.portfolio_list. Extensies gebruiken custom "fava-extension" met hun eigen vereisten; ze verschillen van de hierboven gebruikte plugin-richtlijnen. Zie Fava's versiegebonden extensiehelp.
5. Prestaties en probleemoplossing
Omgaan met grote bestanden
Gebruik includes om een grootboek per rekening of periode te organiseren. Beancount laadt de opgenomen bestanden nog steeds, dus het splitsen van één boek vermindert op zichzelf niet de invoer van het rapport. Beperk weergegeven datums en vereenvoudig dure queries wanneer u een kleiner rapport nodig hebt.
Veelvoorkomende problemen en oplossingen
- Grootboekfouten: Voer
bea checkuit en inspecteer het Foutenrapport van Fava. Een pagina kan worden weergegeven terwijl de lader fouten heeft. - Onverwacht optiegedrag: Controleer de geteste runtime en gebruik gedateerde Fava-custom-richtlijnen.
bea checkkan een onbekende Fava-optie niet zelf detecteren. - Onverwachte querytotalen: Wis globale filters, neem openingsgeschiedenis op en houd valuta gescheiden.
- Ontbrekende documenten: Controleer of de map bestaat, de rekening geopend is, de bestandsnaam met een geldige datum begint en de metadata van de transactie overeenkomt met het document.
Ter contrast zijn dit opzettelijk ongeldige voorbeelden. Ze mogen niet in een werkend grootboek worden gekopieerd:
option "insert-entry" "Expenses:Food"
custom "fava-sidebar-link" "Label" "/jump?time=month"De eerste gebruikt een onbekende kernoptie. De tweede laat de vereiste datum weg. De referentie van stockfuncties beschrijft het UI-gedrag voor deze release.