Naar hoofdinhoud springen
Beancount FAQ: Vragen over boekhouding in platte tekst

Beancount FAQ: Vragen over boekhouding in platte tekst

Antwoorden op de vragen die mensen echt stellen over boekhouden in platte tekst met Beancount — banktransacties importeren, debet en credit, meerdere valuta's, kostprijs, zakelijke boeken, en hoe Beancount zich verhoudt tot Ledger en hledger.

De vragen hieronder komen uit de community rond boekhouden in platte tekst — Reddit, Hacker News, de Beancount-mailinglijst — en gaan over hoe de praktijk werkt. Voor vragen over de Beancount.io-dienst zelf (prijzen, abonnementen, ondersteuning, accountbeheer), zie de product-FAQ.

Aan de slag

Hoeveel boekhoudkennis heb ik nodig voordat ik begin?

Ongeveer vijf concepten, geen diploma. Je hebt de vijf soorten rekeningen nodig (activa, passiva, eigen vermogen, inkomsten, uitgaven), het idee dat elke transactie waarde verplaatst tussen ten minste twee daarvan, en de regel dat een transactie in evenwicht moet zijn. Beancount dwingt de rest voor je af — het weigert een bestand te laden waarvan de transacties niet kloppen, dus de software vangt de fouten op die een beginner anders stilzwijgend zou maken.

Begin met de Inleiding tot Beancount, houd de Woordenlijst open in een tabblad, en voeg je eerste transacties toe in de Quick Start.

Waar vind ik debet en credit in Beancount?

Beancount gebruikt de woorden "debet" en "credit" helemaal niet — het gebruikt ondertekende getallen die bij elkaar opgeteld nul moeten zijn. Geld dat een rekening verlaat is negatief, geld dat binnenkomt is positief, en een transactie is geldig wanneer de boekingen elkaar opheffen. Dit is hetzelfde dubbel boekhouden dat accountants doen, zonder de woordenschat die nieuwkomers verwart.

Als je traditionele boekhoudsoftware hebt gebruikt, is de vertaling: een debet is een positief getal en een credit een negatief. Zie de referentie Taalsyntaxis voor hoe boekingen worden geschreven, of Debet en credit uitgelegd voor de boekhoudkundige achtergrond in gewoon Nederlands.

Waarom moeten transacties in evenwicht zijn op nul?

Omdat geld altijd ergens vandaan komt, en de nul-som is wat dat feit omzet in een foutcontrole. Als je €40 uitgeeft aan boodschappen, is dat geld van een bankrekening afgekomen — het vastleggen van beide helften betekent dat de twee elkaar moeten opheffen, en elke typefout in een van de bedragen zorgt ervoor dat het bestand niet laadt in plaats van stilletjes een verkeerd saldo te produceren.

Daarom is een grootboek in platte tekst betrouwbaarder dan een spreadsheet van uitgaven: de structuur zelf controleert zichzelf. Een saldo-assertie is het gerelateerde mechanisme dat je grootboek tegen de werkelijkheid controleert.

Hoe stel ik mijn beginsaldi in?

Leg op je startdatum een transactie vast die het huidige saldo van elke rekening van Eigen Vermogen:Beginsaldi verplaatst, en voeg dan een balance-assertie toe om het vast te zetten. Je hoeft je financiële geschiedenis niet te reconstrueren — kies een startdatum, neem de saldi zoals ze die dag zijn, en ga vanaf daar verder.

De Quick Start doorloopt een volledig voorbeeld van beginsaldi.

Hoe gedetailleerd moet mijn rekeningschema zijn?

Begin grof en splits alleen wanneer een fijnere splitsing een beslissing zou veranderen. Een stuk of twintig rekeningen is ruim voldoende om mee te beginnen; als je je afvraagt of "Uitgaven:Voedsel" boodschappen van restaurants moet scheiden, is de nuttige test of je daadwerkelijk iets anders zou doen als je de splitsing wist.

Hernoemen en splitsen later is een zoek-en-vervang-operatie in een tekstbestand, dus de kosten van simpeler beginnen zijn laag. Rekeningnamen nesten, dus je kunt beginnen met een brede categorie en die later splitsen in subrekeningen zonder de geschiedenis te herschrijven — zie Hoe ontwerp je een rekeningschema als je een structuur wilt overnemen.

Waarom platte tekst?

Waarom boekhouden in platte tekst in plaats van een spreadsheet?

Een spreadsheet kan je niet vertellen wanneer het fout is. Boekhouden in platte tekst dwingt dubbel boekhouden af, dus elke transactie controleert zichzelf, en het bestand blijft doorzoekbaar, diffbaar en scriptbaar zolang tekstbestanden bestaan. Je krijgt ook echte versiegeschiedenis: git log op je grootboek laat precies zien wat er veranderd is, wanneer en waarom.

Het praktische verschil wordt zichtbaar met meerdere rekeningen, valuta's of beleggingen, waar een spreadsheet op basis van enkel boekhouden stilletjes afdwaalt van de werkelijkheid. Zie Transparante en controleerbare boekhouding.

Is dubbel boekhouden niet overdreven voor persoonlijke financiën?

Als je alleen wilt weten wat je aan koffie hebt uitgegeven, ja — dan is een spreadsheet prima. Dubbel boekhouden verdient zijn bestaansrecht op het moment dat je meerdere rekeningen, een hypotheek, een brokerage of meer dan één valuta hebt, omdat dit precies de situaties zijn waarin bijhouden op basis van enkel boekhouden geld verliest zonder dat je het merkt.

Een nuttige manier om erover te denken: dubbel boekhouden is een controlesom voor je financiën. Zie de Inleiding voor de uitgebreidere argumentatie.

Moet ik de opdrachtregel gebruiken?

Nee. Fava is een volledige webinterface voor hetzelfde tekstbestand — balansen, winst-en-verliesrekeningen, grafieken en transactie-invoer — en Beancount.io draait het voor je met je grootboek in de cloud. Het tekstbestand blijft de bron van waarheid, dus je kunt de webinterface dagelijks gebruiken en alleen naar een terminal gaan wanneer je dat wilt.

Zie UI-functies voor wat de interface kan doen, of probeer de live demo.

Je gegevens binnenhalen

Hoe krijg ik mijn banktransacties in Beancount?

De meeste mensen importeren 80–95% van de transacties en voeren de rest handmatig in. In grove volgorde van betrouwbaarheid: een directe OFX/QFX-download van je bank, een CSV-export plus importregels, een aggregator-verbinding, en — alleen als laatste redmiddel — een pdf-afschrift omgezet naar CSV. De banksynchronisatie van Beancount.io regelt de verbinding en categorisatie voor je.

Verwacht dat je een regel per instelling schrijft of aanpast: CSV-exports van banken zijn berucht inconsistent, en een handelsnaam met een niet-escaped komma is een reëel en veelvoorkomend probleem. Zie Slim importeren voor het geautomatiseerde pad.

Voor een eenmalig bestand doen twee gratis browserconverters het mechanische werk zonder iets te uploaden: CSV naar Beancount voor spreadsheet-exporten, en OFX & QIF naar Beancount voor de .ofx, .qfx, .qbo en .qif-downloads die banken aanbieden wanneer ze helemaal geen CSV bieden.

Hoe voorkom ik dat ik dezelfde transactie twee keer importeer?

Importeurs dedupliceren tegen items die al in je grootboek staan, matchen op datum, bedrag en begunstigde, en markeren alles wat dubbelzinnig is ter bevestiging in plaats van te gokken. De gebruikelijke workflow markeert onzekere imports als in afwachting, zodat je ze controleert voordat ze deel worden van de permanente registratie.

De andere helft van het antwoord is overschrijvingen: geld dat tussen twee rekeningen van jou beweegt, verschijnt in de exports van beide banken. Leg het één keer vast als een enkele transactie met twee boekingen.

OFX maakt dit eenvoudiger dan CSV: elke transactie draagt een FITID die de bank stabiel houdt bij downloads, dus een importeur kan matchen op identiteit in plaats van afleiding — de OFX-converter behoudt het als een id: metadataveld.

Moet ik een derde partij mijn banklogin geven?

Nee — en voor veel mensen is dit de reden om überhaupt voor boekhouden in platte tekst te kiezen. Je kunt OFX of CSV zelf van je bank exporteren en nooit inloggegevens aan een aggregator geven. Als je de voorkeur geeft aan geautomatiseerde synchronisatie, gebruikt Beancount.io een door de bank goedgekeurde aggregator in plaats van je online-betaalwachtwoord op te slaan.

Lees de details op de beveiligingspagina.

Hoe sluit ik mijn grootboek af tegen mijn bankafschrift?

Voeg een balance-assertie toe met het slot saldo en de datum van het afschrift. Beancount zal weigeren het bestand te laden als je grootboek het niet eens is met de bank, waardoor afsluiten verandert van een handmatige vergelijking in iets dat de software elke keer controleert wanneer het draait.

Een maandelijkse cadans is voor de meeste mensen genoeg. Zie Filteren en zoeken voor het opsporen van een verschil.

Valuta's en beleggingen

Hoe gaat Beancount om met meerdere valuta's?

Natieve ondersteuning, en dit is een van de grootste voordelen ten opzichte van consumenten-financiële apps. Elk bedrag draagt zijn valuta, rekeningen kunnen er meerdere tegelijk bevatten, en conversies worden expliciet vastgelegd met @ voor een prijs of {} voor een kostprijs, zodat een wisselkoerswijziging nooit stilletjes je geschiedenis herschrijft.

Er wordt niets achter je rug om geconverteerd — je ziet altijd zowel de oorspronkelijke valuta als de geconverteerde waarde. Zie Taalsyntaxis, Precisie & toleranties, en Boekhouding in meerdere valuta's voor de boekhoudkundige kant.

Hoe houd ik kostprijs en vermogenswinst bij?

Leg aankopen vast met een kostprijs tussen accolades — 10 AAPL {150.00 USD} — en Beancount houdt elk partij afzonderlijk bij. Wanneer je verkoopt, geef je aan welke partij je vermindert, en de vermogenswinst volgt automatisch uit de rekenkunde in plaats van dat je het met de hand berekent.

Beancount ondersteunt STRICT, FIFO, LIFO en NONE boekingsmethoden. Boeking op gemiddelde kostprijs wordt geparseerd maar is niet volledig geïmplementeerd — als je belastingjurisdictie gemiddelde kostprijs vereist, plan dan om het bij te houden met een plugin of expliciete partijen. Zie Voorraadbeheer.

Hoe leg ik cryptohandel en de kostprijs daarvan vast?

Precies zoals elke andere grondstof: een cryptocurrency is een eenheid met een kostprijs, dus dezelfde partij- en boekingsmechanismen zijn van toepassing. Een ruil van de ene token voor de andere is een enkele transactie die één partij vermindert en een andere opent, en dat is ook hoe je de gerealiseerde winst krijgt die de meeste belastingautoriteiten gerapporteerd willen zien.

Zie Cryptovaluta-portfoliotracking en de kant-en-klare crypto-sjablonen.

Zakelijke en freelance boeken

Kan ik Beancount gebruiken voor een klein bedrijf, of is het alleen voor persoonlijke financiën?

Bedrijven gebruiken het, waaronder bedrijven met honderdduizenden transacties. Het ondersteunt transactiegerichte boekhouding, structuren met meerdere entiteiten, en de rapporten die een accountant verwacht. De eerlijke beperkingen zijn dat er geen gelijktijdige bewerking door meerdere gebruikers is, geen ingebouwde facturatie- interface, en geen goedkeuringsworkflow voor crediteuren — het is een grootboek, geen ERP.

Zie Sectorspecifieke opstellingen en de Open Ledger showcase van echte bedrijfsboeken.

Moet ik aparte grootboeken bijhouden voor persoonlijk en zakelijk?

Houd ze gescheiden — ofwel als verschillende top-level rekeningstructuren in één bestand of als twee bestanden gecombineerd met include. Het mengen ervan maakt de winst-en-verliesrekening van het bedrijf betekenisloos en maakt belastingtijd moeilijker, en ze scheiden kost je niets vooraf.

Twee bestanden is meestal de schonere keuze zodra het bedrijf een eigen bankrekening heeft. Zie Ondersteuning voor meerdere bestanden.

Hoe ga ik om met facturen en vorderingen?

Modelleer vorderingen als een activarekening en schulden als een passiefrekening, en leg dan de factuur vast wanneer je hem uitgeeft en de betaling wanneer die binnenkomt — dat is transactiegerichte boekhouding, en Beancount ondersteunt dat direct. Wat het niet heeft is een facturatie-interface: het houdt bij wat je verschuldigd bent, het genereert of verzendt de factuur niet.

Zie Sjablonen voor financiële rapportage voor de rapportkant, Sectorspecifieke opstellingen voor uitgewerkte voorbeelden, en Inzicht in vorderingen voor de concepten.

Hoe overhandig ik mijn boeken aan mijn accountant tijdens belastingtijd?

Exporteer de rapporten in plaats van het grootboek. Je accountant wil vrijwel zeker geen tekstbestand — ze willen een winst-en-verliesrekening, een balans en een transactielijst, die je als CSV of PDF kunt produceren via de webinterface of met een query.

Zie de Belastingvoorbereidingsgidsen, Sjablonen voor financiële rapportage, en Query's met SQL voor het ophalen van precies de cijfers die ze vragen.

Hulpmiddelen en ecosysteem

Hoe verschillen Beancount, Ledger en hledger?

Alle drie zijn systemen voor dubbel boekhouden in platte tekst met vergelijkbare bestandsformaten. Ledger is de originele en meest flexibele parser; hledger is een Haskell-herimplementatie die bekend staat om gebruiksvriendelijke CSV-importregels en documentatie; Beancount heeft de strengste parser en de sterkste ondersteuning voor beleggingen, partijen en meerdere valuta's, plus een Python-plugin-API.

Strengheid is de echte afweging: Beancount weigert een bestand te laden dat het dubbelzinnig vindt, wat fouten vroeg opspoort ten koste van meer gedoe. Zie Beancount vs Ledger CLI en Beancount vs hledger.

Doet Beancount aan envelopbudgettering zoals YNAB?

Niet natieve ondersteuning — dit is een echt gat in plaats van een verborgen functie. Beancount's ingebouwde budgettering is beperkt, en mensen die strikt envelopgedrag willen, gebruiken doorgaans een community- plugin of modelleren enveloppen als rekeningen.

Als envelopbudgettering het belangrijkste is wat je wilt, lees dan Beancount vs YNAB voordat je overstapt. Voor wat vandaag al werkt, zie Budgetteren in Beancount.

Kan ik bonnetjes aan transacties koppelen?

Ja. De document-instructie koppelt een bestand aan een rekening en datum, en de webinterface stelt je in staat die documenten te uploaden en te bekijken naast de transacties waartoe ze behoren. Bonnetjes blijven gewone bestanden op schijf, dus ze zijn net zo draagbaar als het grootboek zelf.

Zie UI-functies.

Is er een mobiele app?

Ja — Beancount.io publiceert iOS en Android apps voor het bekijken van je grootboek en het vastleggen van transacties onderweg, wat het gat is dat de meeste platte-tekstopstellingen openlaten.

Voor snel vastleggen zonder app nemen veel mensen een ruwe notitie en verwerken die later in het grootboek.

Hoe groot kan een grootboek worden voordat het traag wordt?

Een decennium aan persoonlijke financiën is een paar megabytes en laadt in ruim onder een seconde. Beancount herberekent saldi op basis van de volledige transactiegeschiedenis bij elke lading, en dat blijft snel tot in de honderdduizenden items; daarboven houdt het splitsen per jaar met include het comfortabel.

Zie Ondersteuning voor meerdere bestanden voor hoe je een groeiend grootboek splitst.

Nog steeds vast?

Het Helpcentrum indexeert de volledige documentatie, en de Woordenlijst definieert elke term hierboven die onbekend was.