Naar hoofdinhoud springen

Beancount CLI-snelstart

Installeer de opdracht bea, maak een lokale Beancount-grootboek aan, boek uw eerste aankoop en controleer uw saldi.

Maak een lokale grootboek aan en registreer uw eerste aankoop met bea, de Beancount.io commandoregeltool. Lokale boekhouding vereist geen Beancount.io-account.

Deze walkthrough begint met 1.000 USD op de giro. Na een koffieaankoop van 12,50 USD controleert u een saldo van 987,50 USD.

1. Installeer het commando​

Met Homebrew op macOS of Linux:

brew install bex-co/tap/bea
bea --version

Als u Homebrew niet gebruikt, installeer dan uv en gebruik uv tool install beancount-io. Het Python-pakket vereist Python 3.12 of nieuwer. Homebrew voorziet tijdens de installatie in de boekhoudmotor. Met PyPI houdt u uv beschikbaar: het eerste lokale commando downloadt de beheerde engine, daarna gebruiken latere commando's deze offline opnieuw. U hoeft Beancount niet apart te installeren.

2. Maak uw grootboek aan​

Kies een nieuwe map. Dit voorbeeld maakt main.bean aan binnen ~/my-books:

bea --no-input init ~/my-books --currency USD --date 2026-08-01 \
  --opening-balance "Assets:Checking 1000"
cd ~/my-books

De template opent gangbare rekeningen voor giro, spaarrekening, contant geld, creditcard, inkomsten en uitgaven. Het beginsaldo wordt weggeschreven tegen Equity:OpeningBalances.

Voor uw eigen administratie kiest u de vroegste datum waarop u wilt gaan registreren. Alle template-rekeningen openen op die datum. Het beginsaldo moet de rekening op die dag beschrijven. Creditcardschulden gebruiken een negatief bedrag.

init overschrijft nooit een bestaand grootboek. Nieuwe bestanden zijn privé op POSIX-systemen: alleen de eigenaar kan ze lezen en schrijven. Om te delen met uw lokale gebruikersgroep, past u expliciet de permissies aan met chmod 640 main.bean.

Voor een begeleide setup voert u bea init ~/my-books uit in een terminal. De wizard vraagt naar uw valuta, startdatum van de historie en het giro-saldo.

3. Registreer een aankoop​

bea add transaction --date 2026-08-02 --narration "Coffee" \
  --posting "Expenses:Dining 12.50" \
  --posting "Assets:Checking"

De uitgave gebruikt de USD-valuta van de rekening. Beancount vult het andere boekingsbedrag in als -12.50 USD. U kunt --date weglaten voor aankopen van vandaag.

Elke toevoeging wordt gecontroleerd tegen het complete grootboek voordat het bestand wordt vervangen. Een onbekende rekening of een uit balans zijnde transactie veroorzaakt een foutmelding met aanwijzingen.

4. Controleer het resultaat​

bea check
bea list transaction --limit 10
bea report balance-sheet

De transactielijst toont de nieuwste boekingen eerst, met hun bedragen. De balans toont 987,50 USD op de giro.

Om dat bedrag direct te verifiëren:

bea query "SELECT account, sum(position) WHERE account = 'Assets:Checking' GROUP BY account"

Querytabellen behouden de precisie van het resultaat. Voor gestructureerde uitvoer plaatst u de globale --json-vlag vóór het commando:

bea --json list transaction --limit 10

5. Houd uw administratie op orde​

Voer bea check uit nadat u het bestand handmatig hebt bewerkt. Voer bea format -i main.bean uit om de kolommen ter plaatse uit te lijnen. Zonder -i wordt de geformatteerde tekst naar stdout gestuurd en blijft het bestand ongewijzigd. Gebruik bea format main.bean --check wanneer een script moet falen als formattering nodig is.

Om vanuit een andere directory te werken, selecteert u expliciet het rootbestand:

bea --file ~/my-books/main.bean check

De root wordt geselecteerd door --file, vervolgens BEA_FILE, dan main.bean in de werkdirectory. Globale opties staan vóór het commando. Formattering neemt zijn eigen bestand- of directoryargument.

Ga door met je eigen administratie​

Controleer op updates met bea upgrade --check. Voer bea upgrade uit om de pakketbeheerder op te roepen die jouw kopie heeft geïnstalleerd. Gebruik bea --help of bea add transaction --help om de opties in jouw geïnstalleerde versie te inspecteren.

Bron: https://beancount.io/nl/docs/Basics/bea-cli