Ga naar hoofdinhoud

Facturen Maken & Bijhouden met Beancount

· 6 minuten leestijd
Mike Thrift
Mike Thrift
Marketing Manager

Een platte-tekst sjabloon, een herhaalbare workflow, en één enkele query voor “Wie is mij nog geld schuldig?”


2022-02-12-crafting-tracking-invoices-with-beancount

Factureren kan aanvoelen als een karwei, klem tussen het werk dat je hebt afgerond en de betaling waar je op wacht. Maar een goed factureringsproces is de ruggengraat van een gezonde cashflow. Het heeft een dubbele functie: het vertelt je klanten duidelijk wat ze verschuldigd zijn en wanneer, en het voedt je boekhoudsysteem met de onweerlegbare feiten die het nodig heeft.

Hoewel speciale SaaS-apps gelikte, geautomatiseerde PDF's kunnen versturen, komen ze vaak met maandelijkse kosten en sluiten ze je gegevens op in een eigen silo. Een lichtgewicht, platte-tekstbenadering met Beancount biedt een krachtig alternatief. Je kunt elke factuur omzetten in een duidelijke set boekhoudkundige entries, waardoor je alle voordelen krijgt van versiebeheer, krachtige metadata en directe query's - geen abonnement vereist.


De Minimaal Viable Factuur (Velden die je nooit mag overslaan)

Voordat je je grootboek aanraakt, heb je een professionele factuur nodig. Het formaat kan eenvoudig zijn, maar de inhoud moet nauwkeurig zijn. Deze velden, ontleend aan de beproefde praktijk van kleine bedrijven, zijn niet-onderhandelbaar.

  • Verkopergegevens: Uw bedrijfsnaam en fysiek adres.
  • Klantgegevens: De naam van uw klant en (idealiter) hun adres.
  • Factuurnummer: Een uniek, opeenvolgend ID dat nooit opnieuw wordt gebruikt. FAC-045 volgt FAC-044.
  • Factuur- & vervaldatum: Geef duidelijk aan wanneer de factuur is uitgegeven en wanneer de betaling wordt verwacht.
  • Regel items: Een duidelijke beschrijving van diensten of producten, samen met de hoeveelheid, het tarief en het regeltotaal.
  • Subtotaal, btw en totaal: Laat de berekening zien zodat de klant deze gemakkelijk kan volgen.
  • Optionele notities: Een plaats voor een bedankje, betalingsinstructies of een door de klant opgegeven inkoopordernummer.

Om u op weg te helpen, hebben we een set kant-en-klare sjablonen gemaakt die al deze velden bevatten. De spreadsheetversies berekenen zelfs de totalen voor u.

Download onze sjablonen hier: beancount.io/invoice‑templates (Beschikbaar in Google Docs, Word, Sheets, Excel en PDF-formaten)


Registreer de factuur in uw grootboek

Zodra u de factuur-PDF naar uw klant hebt verzonden, moet u deze registreren in Beancount. Dit is een cruciale stap die de inkomsten registreert wanneer ze worden verdiend, niet alleen wanneer ze worden betaald. Het proces omvat twee verschillende transacties.

1. Wanneer u de factuur uitgeeft:

U maakt een transactie die het totale bedrag van uw Inkomsten-rekening naar Activa:Debiteuren verplaatst. Dit creëert een digitale IOU in uw boeken.

; 2025‑07‑21 Factuur #045  Web design sprint voor Acme Corp.
2025-07-21 * "Acme Corp" "FAC-045 Web design sprint"
Activa:Debiteuren 3500.00 USD ; due:2025-08-04
Inkomsten:Design:Web
invoice_id: "FAC-045"
contact_email: "ap@acme.example"
link: "docs/invoices/2025-07-21_Acme_FAC-045.pdf"

Hier debiteert u Debiteuren en crediteert u uw Inkomsten-rekening. Let op de rijke metadata: de vervaldatum, een unieke invoice_id en zelfs een directe link: naar de PDF die u hebt verzonden.

2. Wanneer de klant betaalt:

Wanneer het geld op uw bankrekening binnenkomt, registreert u een tweede transactie om de IOU "af te sluiten". Dit verplaatst het saldo van Debiteuren naar uw betaalrekening.

2025-08-01 * "Acme Corp" "Betaling FAC-045"
Activa:Bank:Betaalrekening 3500.00 USD
Activa:Debiteuren
invoice_id: "FAC-045"

Het saldo voor FAC-045 in Activa:Debiteuren is nu nul en uw boeken zijn perfect in balans.

Voeg de PDF bij: De link: metadata-sleutel is vooral krachtig in combinatie met Fava, de webinterface van Beancount. Fava geeft een klikbare link weer in de transactieweergave, zodat het brondocument nooit meer dan een klik verwijderd is. Deze workflow werd al in 2016 bedacht in een feature request (GitHub).


Eén query om alle openstaande facturen weer te geven

Dus, wie is u nog geld schuldig? Met dit systeem hoeft u niet door e-mails of spreadsheets te zoeken. U hebt slechts één eenvoudige query nodig.

Sla het volgende op als een bestand met de naam open-invoices.sql:

SELECT
meta('invoice_id') AS id,
payee,
narration,
date,
number(balance) AS outstanding
WHERE
account = "Activa:Debiteuren"
AND balance != 0
ORDER BY
date;

Voer het nu uit vanaf uw commandoregel:

bean-query books.beancount open-invoices.sql

Binnen enkele seconden krijgt u een overzichtelijk, actueel verouderingsrapport van alle openstaande facturen, met daarin het factuurnummer, de klant, de factuurdatum en het verschuldigde bedrag. Geen extra software vereist.


Automatiseer het werk

Het mooie van platte tekst is de mogelijkheid tot scripting. U kunt de saaie onderdelen van deze workflow automatiseren.

  • Sjabloon + Pandoc = PDF: Beheer uw factuursjabloon in Markdown. Een klein Python-script kan de variabelen (klantnaam, regel items, factuurnummer) invullen, en de commandoregeltool Pandoc kan het direct converteren naar een professionele PDF.
  • Git Pre-commit Hook: Als u uw grootboek in Git opslaat, kan een eenvoudige pre-commit hook controles uitvoeren voordat u uw werk opslaat. Het kan controleren of elke nieuwe invoice_id uniek is, of de transactieposten in balans zijn en of het bestand waarnaar wordt verwezen in de link: metadata daadwerkelijk bestaat.
  • Cron Job: Stel een geplande taak (een cron job) in om uw open-invoices.sql query elke nacht uit te voeren en u de samenvatting per e-mail te sturen. U begint elke dag wetende wie een vriendelijke herinnering nodig heeft.

Een realistische kanttekening

Beancount is een boekhoudprogramma, geen facturatie_service_. Het zal niet automatisch betalingsherinneringen naar uw klanten sturen of hun creditcardbetalingen verwerken. De workflow is: u maakt en verzendt de factuur met behulp van de door u gekozen methode (zoals de bovenstaande sjablonen), en vervolgens boekt u de boekhoudkundige entries in uw grootboek.

Voor de meeste freelancers en kleine bedrijven is deze handmatige stap een kleine prijs om te betalen voor een waterdicht, controleerbaar en gratis boekhoudsysteem dat u volledig bezit en beheert (beancount.io).


Volgende stappen

Klaar om de controle over uw facturering over te nemen? Hier leest u hoe u kunt beginnen.

  1. Download een sjabloon en gebruik deze om uw volgende echte factuur te maken, zorg ervoor dat u een opeenvolgend factuurnummer gebruikt.
  2. Bewaar uw verzonden PDF's in een speciale map zoals docs/invoices/ en gebruik de link: metadata-sleutel in uw Beancount-transactie om ernaar te verwijzen.
  3. Sla de open-invoices.sql query op en maak het uitvoeren ervan onderdeel van uw wekelijkse financiële beoordeling.

Platte-tekst boekhouding betekent niet dat u afziet van professionaliteit of controle - het betekent gewoon dat de database grep-baar is. Met een eenvoudig sjabloon en de bovenstaande snippets wordt u sneller betaald en houdt u uw boeken vlekkeloos.