Facturen Maken & Bijhouden met Beancount
Een platte-tekst sjabloon, een herhaalbare workflow, en één enkele query voor “Wie is mij nog geld schuldig?”
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
volgtFAC-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 delink:
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.
- Download een sjabloon en gebruik deze om uw volgende echte factuur te maken, zorg ervoor dat u een opeenvolgend factuurnummer gebruikt.
- Bewaar uw verzonden PDF's in een speciale map zoals
docs/invoices/
en gebruik delink:
metadata-sleutel in uw Beancount-transactie om ernaar te verwijzen. - 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.