Naar hoofdinhoud springen

Werkende ledger-voorbeelden

Kopieer zes live, gevalideerde Beancount-ledgerpatronen: huishoudfinanciën, envelopbudgetten, freelancefacturatie, huurvastgoed, crypto en aandelenkostprijs.

Kopieer een bewezen rekeningstructuur uit een van deze zes live Beancount ledgers, hernoem vervolgens de rekeningen en vervang de fictieve bedragen door je eigen bedragen. Elke ingesloten ledger is openbaar, versioned in Git en gevalideerd met bea check. Om op dezelfde manier een jaarrekening van een beursgenoteerd bedrijf op te bouwen, zie Model a public company in Beancount.

Begin met een gedownload bestand​

Sla kopiëren en plakken over: de patronen voor huishouden, enveloppen en freelance worden elk geleverd als een uitvoerbare starter-ledger met fictieve voorbeeldgegevens.

  1. Kies hieronder een patroon: huishouden voor contant geld en kaarten, enveloppen voor budgetdoelen, freelance voor facturen.
  2. Download het bestand via de link naast dat patroon.
  3. Valideer het opgeslagen bestand met bea --file <file> check. Een schone ledger verlaat bea check met exitcode 0; fouten worden vermeld met een niet-nul exitcode.
  4. Open het met fava en gebruik het weergegeven adres in je browser.

Dagelijkse persoonlijke financiën​

Gebruik één activarekening per bank, één verplichting per creditcard en uitgavenrekeningen voor de vragen die je rapporten moeten beantwoorden. Het volledige voorbeeld toont ook loon, secundaire arbeidsvoorwaarden, overboekingen, balansasserties en beleggingen.

Everyday personal-finance ledger in een nieuw tabblad openen

Kopieer deze structuur wanneer je één set boeken wilt voor contant geld, kaarten, inkomsten en gewone uitgaven:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Liabilities:CreditCard USD
2026-01-01 open Equity:Opening-Balances USD
2026-01-01 open Expenses:Food:Groceries USD
 
2026-01-01 * "Opening balance"
  Assets:Bank:Checking          3,000.00 USD
  Equity:Opening-Balances      -3,000.00 USD
 
2026-01-18 * "Corner Market" "Weekly groceries"
  Liabilities:CreditCard          -71.90 USD
  Expenses:Food:Groceries          71.90 USD
 
2026-01-25 * "Credit card" "Statement payment"
  Liabilities:CreditCard           71.90 USD
  Assets:Bank:Checking            -71.90 USD

De creditcardrekening houdt de aankoopdatum gescheiden van de datum van de contante betaling. Voeg een maandelijkse balance-assertie toe aan elke echte rekening, zodat een importfout zich niet kan verbergen.

Download dit patroon als household-starter.bean, voer vervolgens bea --file household-starter.bean check en fava household-starter.bean uit. Het bestand komt overeen met het bovenstaande blok: checking eindigt op 2928.10 USD, groceries op 71.90 USD en de kaart op nul. Vervang Corner Market, de opening van 3,000.00 en de bedragen van 71.90 door je eigen bank, kaart en uitgaven.

Envelopbudgettering met overdracht​

Modelleer elke envelop als een subrekening van eigen vermogen bovenop de echte bankrekening. Het toewijzen van een salaris verplaatst waarde binnen het eigen vermogen, terwijl een aankoop zowel de geldbeweging als de budgetbeslissing vastlegt.

Envelope budgeting ledger in een nieuw tabblad openen

Kopieer de Equity:Budget-structuur en houd het plan gescheiden van het geld:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Income:Salary USD
2026-01-01 open Expenses:Groceries USD
2026-01-01 open Equity:Budget:Unallocated USD
2026-01-01 open Equity:Budget:Groceries USD
 
2026-01-05 * "Acme Corp" "January salary"
  Assets:Bank:Checking          4,100.00 USD
  Income:Salary                -4,100.00 USD
 
2026-01-05 * "Budget" "Fund groceries"
  Equity:Budget:Unallocated      -550.00 USD
  Equity:Budget:Groceries         550.00 USD
 
2026-01-08 * "Whole Foods" "Weekly shop"
  Assets:Bank:Checking           -128.44 USD
  Expenses:Groceries              128.44 USD
  Equity:Budget:Groceries        -128.44 USD
  Equity:Budget:Unallocated       128.44 USD

De twee paren in de aankoop sluiten onafhankelijk. Die scheiding laat je een envelop resetten of opnieuw toewijzen zonder het afgestemde banksaldo te wijzigen. Gebruik voor Fava's weergave van doel versus werkelijk de eenvoudigere budget directives.

Download dit patroon als envelope-budgeting-starter.bean, voer vervolgens bea --file envelope-budgeting-starter.bean check en fava envelope-budgeting-starter.bean uit. Het bestand komt overeen met het bovenstaande blok: checking eindigt op 3971.56 USD en de Groceries-envelop bevat 421.56 USD tegenover -421.56 USD Unallocated. Vervang Acme Corp, het salaris van 4,100.00 en de toewijzing van 550.00 door je eigen loon en enveloppen.

Freelancefacturatie en vorderingen​

Leg een factuur vast wanneer je de omzet verdient en wis de vordering wanneer de klant betaalt. Een aparte vorderingsrekening per klant maakt onbetaalde en gedeeltelijk betaalde facturen zichtbaar als gewone saldi.

Freelancer invoicing ledger in een nieuw tabblad openen

Kopieer de vorderingsstructuur en zet het factuurnummer op beide gebeurtenissen:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Business USD
2026-01-01 open Assets:Receivable:Northwind USD
2026-01-01 open Income:Consulting USD
 
2026-01-09 * "Northwind Traders" "January retainer"
  invoice: "2026-001"
  due: 2026-02-08
  Assets:Receivable:Northwind    6,000.00 USD
  Income:Consulting             -6,000.00 USD
 
2026-02-05 * "Northwind Traders" "Payment — invoice 2026-001"
  invoice: "2026-001"
  Assets:Bank:Business           6,000.00 USD
  Assets:Receivable:Northwind   -6,000.00 USD

Voeg omzetbelasting toe aan een verplichting, niet aan inkomen, en verplaats contant geld voor geschatte belasting naar een reserveactief voordat je het betaalt. De live ledger toont beide patronen, gedeeltelijke betalingen, doorbelaste kosten en een afschrijving van oninbare vorderingen.

Download dit patroon als freelance-starter.bean, voer vervolgens bea --file freelance-starter.bean check en fava freelance-starter.bean uit. Het bestand komt overeen met het bovenstaande blok: Business eindigt op 6000.00 USD, Consulting op -6000.00 USD en de vordering op nul. Vervang Northwind Traders, factuur 2026-001 en de bedragen van 6,000.00 door je eigen klanten en facturen.

Huurvastgoed en hypotheekhoofdsom​

Behandel de woning als een activum, de hypotheek als een verplichting en de waarborgsom van een huurder als geld dat je moet terugbetalen. Splits elke hypotheekbetaling in rente, hoofdsom en escrow, zodat de balans en de winst-en-verliesrekening verschillende waarheden vertellen.

Rental property ledger in een nieuw tabblad openen

Kopieer de groepen voor woning, schuld en exploitatierekening voordat je maandelijkse activiteit toevoegt:

option "operating_currency" "USD"
 
1970-01-01 commodity PROP123MAIN
2024-01-01 open Assets:RealEstate:Property PROP123MAIN
2024-01-01 open Assets:Bank:Checking USD
2024-01-01 open Assets:Bank:EscrowImpound USD
2024-01-01 open Liabilities:Mortgage USD
2024-01-01 open Income:RealEstate:Rent USD
2024-01-01 open Expenses:RealEstate:MortgageInterest USD
 
2024-03-15 * "Escrow" "Buy rental property"
  Assets:RealEstate:Property       1 PROP123MAIN {400,000.00 USD}
  Assets:Bank:Checking                       -80,000.00 USD
  Liabilities:Mortgage                      -320,000.00 USD
 
2024-04-01 * "Bank" "Mortgage payment"
  Expenses:RealEstate:MortgageInterest         1,866.67 USD
  Liabilities:Mortgage                           262.39 USD
  Assets:Bank:EscrowImpound                      566.67 USD
  Assets:Bank:Checking                        -2,695.73 USD

Houd grond, afschrijfbaar gebouwwaarde, kapitaalverbeteringen, geaccumuleerde afschrijving en escrow-activiteit gescheiden. De rental-property guide legt uit hoe die saldi rapporten voeden.

Cryptoloten en kostprijs​

Geef elke aankoop een kostprijs tussen accolades en identificeer hetzelfde lot wanneer je verkoopt. Beancount neemt dan aankoopdatum en basis mee door wallets, exchanges en belastbare vervreemdingen, in plaats van een belegging te reduceren tot één gemengd saldo.

Crypto cost-basis ledger in een nieuw tabblad openen

Kopieer de commodity, exchange-rekeningen en de expliciete boeking van gerealiseerde winst:

option "operating_currency" "USD"
 
1970-01-01 commodity BTC
2024-01-01 open Assets:Crypto:Coinbase:BTC BTC
2024-01-01 open Assets:Crypto:Coinbase:USD USD
2024-01-01 open Expenses:Crypto:Fees:Trading USD
2024-01-01 open Income:Crypto:CapitalGains:ShortTerm USD
 
2024-02-15 * "Coinbase" "Buy 0.10 BTC"
  Assets:Crypto:Coinbase:BTC     0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD   -4,380.00 USD
 
2024-08-20 * "Coinbase" "Sell the February lot"
  Assets:Crypto:Coinbase:BTC    -0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD    5,900.00 USD
  Expenses:Crypto:Fees:Trading      8.85 USD
  Assets:Crypto:Coinbase:USD       -8.85 USD
  Income:Crypto:CapitalGains:ShortTerm -1,520.00 USD

Overboekingen tussen je eigen wallets behouden het lot in plaats van inkomen te creëren. De live ledger gaat verder met staking, mining, decentralized finance en NFT's; de inventory guide legt boekingsmethoden en lotreductie uit.

Het crypto-voorbeeld gebruikt statische gedateerde prijzen, zodat je de rapporten kunt reproduceren. Voor je eigen ondersteunde posities in een gehoste ledger kun je Live Prices instellen om waarderingsquotes automatisch te onderhouden. Overeenkomende symbolen en quote-valuta's zijn belangrijk; feeds veranderen deze transactievoorbeelden niet.

Aandelenloten, dividenden en splitsingen​

Een aandeel is geen getal, het is een lot: een hoeveelheid aangehouden tegen een bekende kostprijs, verkregen op een bekende datum. Schrijf elke broker-aankoop met een expliciete {cost, date}, zodat een latere verkoop het exacte lot kan benoemen dat wordt vervreemd. Beancount berekent dan de gerealiseerde winst en de aanhoudperiode, in plaats van twee loten te middelen. Een dividend blijft zichtbaar als inkomen in plaats van te verdwijnen in een aangepaste aandelenkoers.

Stock cost-basis and dividend ledger in een nieuw tabblad openen

Kopieer de broker-structuur, het gedateerde lot en de verkoop van een specifiek lot:

option "operating_currency" "USD"
option "booking_method" "STRICT"
 
1970-01-01 commodity ACME
2024-01-01 open Assets:Brokerage:Cash USD
2024-01-01 open Assets:Brokerage:ACME ACME
2024-01-01 open Equity:Opening USD
2024-01-01 open Income:Dividends:Qualified USD
2024-01-01 open Income:CapitalGains:LongTerm USD
2024-01-01 open Expenses:Brokerage:Commissions USD
 
2024-01-08 * "Broker" "Wire funding to taxable brokerage account"
  Assets:Brokerage:Cash                  50,000.00 USD
  Equity:Opening                        -50,000.00 USD
 
2024-06-18 * "Broker" "Buy 150 ACME @ $68.20"
  Assets:Brokerage:ACME                        150 ACME {68.20 USD, 2024-06-18}
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                 -10,234.95 USD
 
2025-03-14 * "Broker" "ACME quarterly cash dividend"
  Assets:Brokerage:Cash                      63.00 USD
  Income:Dividends:Qualified                -63.00 USD
 
2026-02-20 * "Broker" "Sell 60 ACME from the 2024 lot — long-term gain"
  Assets:Brokerage:ACME                        -60 ACME {68.20 USD, 2024-06-18}
  Assets:Brokerage:Cash                   5,778.00 USD
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                      -4.95 USD
  Income:CapitalGains:LongTerm           -1,686.00 USD
 
2026-02-21 balance Assets:Brokerage:ACME              90 ACME
2026-02-21 balance Assets:Brokerage:Cash      45,601.10 USD

De winstboeking is de berekening, geen plug: 60 aandelen verkocht voor 96.30 USD per stuk is 5,778.00 USD aan opbrengsten tegen 4,092.00 USD aan basis, en de datum 2024-06-18 van het lot is wat het long-term maakt. De live ledger gaat verder met een herbelegde ETF-distributie, een 4-voor-1 splitsing die de totale basis behoudt, een short-term verkoop uit een tweede lot en asserties van het aantal aandelen aan het einde van het jaar. option "booking_method" "STRICT" is wat van "verkoop 40 ACME" een fout maakt in plaats van een stilzwijgend gemiddelde; de options guide behandelt de alternatieven.

Het aandelenvoorbeeld gebruikt fictieve symbolen zoals ACME en statische prijsbestanden. Vervang een fictieve commodity niet door een echte ticker-feed. Kies ondersteunde paren voor je eigen posities met Live Prices, terwijl je handmatige prijzen behoudt voor dit reproduceerbare voorbeeld.

Bron: https://beancount.io/nl/docs/examples