Naar hoofdinhoud springen

Wat is crediteuren? Definitie, voorbeelden & crediteuren vs. debiteuren (2026)

Gepubliceerd Laatst bijgewerkt 17 min leestijdMike ThriftMike Thrift
Wat is crediteuren? Definitie, voorbeelden & crediteuren vs. debiteuren (2026)
Op deze pagina

Crediteuren (AP) is het geld dat uw bedrijf verschuldigd is aan leveranciers voor goederen of diensten die u al heeft ontvangen maar nog niet heeft betaald. In de boekhoudwereld wordt crediteuren geclassificeerd als een kortlopende schuld op uw balans—een bedrag dat doorgaans binnen het komende jaar moet worden betaald, en vaak binnen 30 tot 60 dagen.

Dit concept staat centraal in accrual accounting, waarbij u de kosten en de bijbehorende schuld boekt op het moment dat een factuur binnenkomt, niet wanneer u daadwerkelijk het geld verstuurt. Deze gids laat zien hoe u de volledige crediteuren-workflow schoon en efficiënt beheert met het plain-text boekhoudprogramma Beancount.


Korte samenvatting

Voordat we in de details duiken, behandelen we eerst de essentie:

  • Crediteuren (AP) vertegenwoordigt uw kortlopende schulden aan leveranciers. U vindt dit onder de sectie Liabilities (schulden) van uw balans.
  • Accrual vs. Kas: Crediteuren is een concept dat alleen bestaat als u uw boeken op accrualbasis bijhoudt. Beancount ondersteunt accrual-workflows volledig, en de webinterface, Fava, toont uw schulden correct.
  • Crediteuren vs. debiteuren: Het is eenvoudig: crediteuren zijn wat u verschuldigd bent, terwijl debiteuren (AR) zijn wat anderen aan u verschuldigd zijn.

Waar crediteuren zich bevindt in Beancount (en Fava)

Om crediteuren te gaan bijhouden, moet u eerst een rekening ervoor aanmaken in uw grootboek. Een standaardconventie is:

Liabilities:AccountsPayable

U kunt optioneel subrekeningen aanmaken voor grote leveranciers (bijv. Liabilities:AccountsPayable:ForestPaintSupply).

In Fava verschijnt deze rekening op uw Balans onder Liabilities. U kunt erop klikken om in te zoomen en de posteringen te zien waaruit het saldo bestaat. U kunt dit zelfs in actie zien in Fava's publieke voorbeeldgrootboek, dat een Liabilities:AccountsPayable-rekening bevat.

Tekentekenconventie: Beancount slaat schuldsaldi op als credits (negatieve getallen). Een saldo van -500.00 USD op Liabilities:AccountsPayable betekent dat u $500 verschuldigd bent. Het open-postenrapport hieronder draait het teken om met -SUM(number) zodat elke onbetaalde factuur een positief openstaand bedrag toont. Een volledig betaalde factuur sommeert naar nul en wordt uitgesloten door HAVING.


Beancount-bouwstenen die u zult gebruiken

Een robuuste crediteuren-workflow in Beancount vertrouwt op een paar kernfuncties:

  1. Rekeningen: U gebruikt voornamelijk uw Liabilities:AccountsPayable-rekening, een kasrekening zoals Assets:Bank:Checking, en uw diverse kostenrekeningen (bijv. Expenses:Supplies).
  2. Metadata: U kunt sleutel-waardeparen aan elke transactie koppelen. Voor crediteuren gebruikt u metadata zoals invoice:, due:, terms:, en document:. Stel option "documents" in op een map zodat Beancount daar bestanden kan ontdekken; in Fava voegt het slepen van een bestand naar een journaalrij een document:-metadata-invoer toe, en het inschakelen van plugin "fava.plugins.link_documents" koppelt die invoeren aan gevonden Document-directieven.
  3. Tags & links: Gebruik #tags (zoals #ap) voor eenvoudig filteren en ^links (zoals ^INV-10455) om een factuur en de daaropvolgende betaling programmatisch aan elkaar te koppelen. Dit creëert een duidelijk, controleerbaar spoor in het journaal—maar links alleen zijn niet voldoende voor de open-factuurquery hieronder.
  4. Query's (BQL): Beancounts SQL-achtige querytaal (BQL) stelt u in staat krachtige rapporten uit te voeren, zoals het weergeven van alle openstaande crediteuren gesorteerd op vervaldatum, rechtstreeks vanaf de opdrachtregel met bean-query of op Fava's "Query"-pagina.

Factuuridentiteit (vereist voor open-factuurquery's): Elke factuur en elke betaling die deze voldoet—volledig, gedeeltelijk, of met vroegbetalingskorting—moet de zelfde invoice:- en due:-transactiemetadata dragen, plus dezelfde ^link. De query groepeert op payee, any_meta('invoice'), en any_meta('due'). Als een betaling deze sleutels weglaat, komt de AP-posteerin terecht in een aparte (payee, null, null)-groep en ziet een betaalde factuur er nog steeds open uit. Houd (payee, invoice) uniek over leveranciers. Optionele factuur-specifieke velden zoals terms: en document: hoeven niet herhaald te worden op betalingen.


Kern-crediteurenworkflow in Beancount

Het beheren van crediteuren in uw grootboek omvat twee of drie belangrijke stappen: het boeken van de factuur, het betalen ervan, en soms het afhandelen van gedeeltelijke betalingen of kortingen.

1) Boek de leveranciersfactuur (dit creëert de schuld)

Eerst boekt u de kosten en creëert u de crediteur wanneer de factuur binnenkomt.

; Optionally set your documents folder in your main Beancount file:
option "documents" "documents"
 
2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
  invoice: "INV-10455"
  due: "2025-09-04"
  terms: "2/10, n/30"
  document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
  Expenses:Supplies:Paint         500.00 USD
  Liabilities:AccountsPayable    -500.00 USD

Deze enkele invoer doet twee cruciale dingen:

  1. Het herkent onmiddellijk de $500 kosten in de juiste periode (augustus)—eenmalig. Boek de kosten niet opnieuw bij de betaling.
  2. Het crediteert AP met $500 (-500.00 USD), waarmee wordt vastgelegd dat u Forest Paint Supply dat bedrag verschuldigd bent.

De ^INV-10455-link plus de invoice: / due:-metadata vormen de identiteit van de factuur. Elke latere betaling van deze factuur moet alle drie hergebruiken.

2) Betaal de factuur (dit wist de schuld)

Wanneer u de factuur betaalt, maakt u een transactie die geld van uw bankrekening verplaatst om de schuld te voldoen. Kopieer invoice: en due: van de factuur naar de betaling, zodat beide posteren dezelfde querygroep delen.

a) Standaardbetaling (geen korting):

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
  invoice: "INV-10455"
  due: "2025-09-04"
  Liabilities:AccountsPayable     500.00 USD
  Assets:Bank:Checking           -500.00 USD

Deze invoer verlaagt uw AP-saldo met $500 en uw betaalrekening met hetzelfde bedrag. De schuld voor deze factuur is nu voldaan (de AP-som van de groep is nul). De kosten blijven op de augustusfactuur staan—de betaling raakt Expenses: niet.

b) Vroegbetalingskorting (bijv. "2/10, n/30")—kies precies één methode:

Als de voorwaarden "2/10, n/30" zijn, kunt u 2% korting nemen als u binnen 10 dagen betaalt. Voor onze $500-factuur is dat een $10-korting. Het hek hieronder toont twee wederzijds exclusieve alternatieven: Optie 1 is actief; Optie 2 is volledig uitgecommentarieerd zodat een plakken niet beide boekt. Om Optie 2 te gebruiken in plaats daarvan, commentarieert u Optie 1 uit en Optie 2 in. Laat nooit beide actief—dat wist AP twee keer en verzint een tweede $10-voordeel. Welke inkomsten- vs. kostenrekening u gebruikt, is een boekhoudbeleidskeuze voor uw boeken; Beancount vereist niet de een boven de ander.

; Pick EXACTLY ONE of the two transactions below for a given invoice.
; Do not paste both into the same ledger — that clears AP twice.
 
; Option 1: Record the discount as other income
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
  invoice: "INV-10455"
  due: "2025-09-04"
  Liabilities:AccountsPayable     500.00 USD
  Assets:Bank:Checking           -490.00 USD
  Income:Discounts:Payables       -10.00 USD
 
; Option 2: Reduce the original expense directly
; 2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
;   invoice: "INV-10455"
;   due: "2025-09-04"
;   Liabilities:AccountsPayable     500.00 USD
;   Assets:Bank:Checking           -490.00 USD
;   Expenses:Supplies:Paint         -10.00 USD

In elk alternatief afzonderlijk wist u de volledige $500-schuld, verlaagt u uw banksaldo met de $490 die u daadwerkelijk betaalde, en boekt u het $10-voordeel. Vervang de standaard volledige betalingstransactie door het gekozen alternatief—stapel geen kortingsbetaling bovenop de $500-kasbetaling, en combineer dit hek niet met sectie 2a voor dezelfde factuur.

3) Gedeeltelijke betalingen afhandelen

Hergebruik dezelfde invoice: / due: / ^link-identiteit op elke termijn, zodat elke betaling dezelfde open-factuurgroep vermindert.

; Invoice for $1,200
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
  invoice: "INV-9001"
  due: "2025-09-09"
  Expenses:Parts                 1200.00 USD
  Liabilities:AccountsPayable   -1200.00 USD
 
; First payment of $400
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
  invoice: "INV-9001"
  due: "2025-09-09"
  Liabilities:AccountsPayable     400.00 USD
  Assets:Bank:Checking           -400.00 USD
 
; Final payment of $800
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
  invoice: "INV-9001"
  due: "2025-09-09"
  Liabilities:AccountsPayable     800.00 USD
  Assets:Bank:Checking           -800.00 USD

Na de eerste betaling is de AP-som van de factuurgroep -800.00 USD (u bent nog $800 verschuldigd). Na de laatste betaling is die nul. Het filteren van het journaal op ^INV-9001 toont nog steeds de volledige geschiedenis.


Handige query's (BQL)

U kunt deze query's uitvoeren in Fava's "Query"-tabblad of vanaf de opdrachtregel met bean-query (BQL-referentie). Geverifieerd hieronder met Beancount 3.2.3 en beanquery 0.2.0.

Tip: De functie any_meta() zoekt eerst een metadatasleutel op de postering en valt dan terug op de transactie—dus waarden van invoice: / due: op transactieniveau verschijnen in de resultatenset.

Openstaande crediteuren per leverancier (saldoweergave):

Deze query sommeert de schuldvoorraad per leverancier. Een credit (negatief) totaal is wat u die leverancier nog verschuldigd bent.

SELECT payee, COST(SUM(position)) AS amount
WHERE account ~ "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;

Openstaande facturen per vaste datum (open-postenrapport):

Een open-postenrapport beantwoordt de vraag "wat blijft onbetaald?" Het moet (1) afsluiten op een expliciete as-of-datum zodat latere betalingen een eerder momentopname niet stil kunnen wissen, (2) groeperen op de gedeelde factuuridentiteit (payee + invoice: + due:), (3) settled (nul) groepen uitsluiten, en (4) een positief openstaand bedrag tonen—niet een ruw ondertekend AP-credit.

Rapportagedatum die overal hieronder wordt gebruikt: 2025-09-04.

Downloadbare AP-startergrootboek

Download accounts-payable-starter.bean — één zelfstandig grootboek gegenereerd uit het volledige hek hieronder (rekeningopeningen, fictief openingsgeld, betaalde / gedeeltelijke / onbetaalde facturen, as-of 2025-09-04). Elke naam en elk bedrag is fictieve voorbeelddata. Geen factuur-PDF, documentenmap of ander bestand is vereist om het te valideren of te bevragen.

Eerste uitvoering vanuit een schone tijdelijke map (vastgepinde Beancount 3.2.3 / beanquery 0.2.0):

# Save the download as accounts-payable-starter.bean in this directory, then:
uvx --from beancount==3.2.3 bean-check accounts-payable-starter.bean
 
uvx --from beanquery==0.2.0 --with beancount==3.2.3 bean-query accounts-payable-starter.bean \
  "SELECT payee, any_meta('invoice') AS invoice, any_meta('due') AS due, -SUM(number) AS outstanding WHERE account ~ '^Liabilities:AccountsPayable' AND date <= 2025-09-04 GROUP BY payee, invoice, due HAVING SUM(number) < 0 ORDER BY due, payee"

bean-check eindigt met exitcode 0 en geen uitvoer. De query retourneert de vijf open rijen in de verwachte tabel hieronder (Forest afwezig; Acme openstaand 800.00; som van positief openstaand = 1500.00). Genereer de vastgelegde download opnieuw met yarn generate:ap-starter na het bewerken van het hek; yarn generate:ap-starter --check faalt als het artefact verouderd is.

Plak dit complete armatuur (opens + openingsgeld + de drie factuurvormen, plus vandaag-vervallen / achterstallige / randgeval-rijen voor veroudering). Vroegbetalingskortingsalternatieven voor INV-10455 blijven volledig uitgecommentarieerd—activeer precies één alleen als u de standaard Forest-betaling vervangt; laat nooit beide kortingsopties actief naast die betaling.

; accounts-payable-starter — complete runnable AP workflow
option "operating_currency" "USD"
 
2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Equity:Opening-Balances USD
2025-01-01 open Liabilities:AccountsPayable USD
2025-01-01 open Expenses:Supplies:Paint USD
2025-01-01 open Expenses:Parts USD
2025-01-01 open Expenses:Office USD
2025-01-01 open Income:Discounts:Payables USD
 
; Fictional opening cash — enough to cover every payment in this ledger
2025-01-01 * "Opening balance"
  Assets:Bank:Checking           5000.00 USD
  Equity:Opening-Balances       -5000.00 USD
 
; Settled before as-of — must disappear from the open report
2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
  invoice: "INV-10455"
  due: "2025-09-04"
  Expenses:Supplies:Paint         500.00 USD
  Liabilities:AccountsPayable    -500.00 USD
 
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
  invoice: "INV-10455"
  due: "2025-09-04"
  Liabilities:AccountsPayable     500.00 USD
  Assets:Bank:Checking           -500.00 USD
 
; Early-payment discount alternatives for INV-10455 — mutually exclusive with
; the standard payment above AND with each other. To take 2/10 instead: delete
; (or comment out) the 2025-09-01 payment, then uncomment EXACTLY ONE option.
; Never leave both options active — that clears AP twice.
;
; Option 1: Record the discount as other income
; 2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
;   invoice: "INV-10455"
;   due: "2025-09-04"
;   Liabilities:AccountsPayable     500.00 USD
;   Assets:Bank:Checking           -490.00 USD
;   Income:Discounts:Payables       -10.00 USD
;
; Option 2: Reduce the original expense directly
; 2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
;   invoice: "INV-10455"
;   due: "2025-09-04"
;   Liabilities:AccountsPayable     500.00 USD
;   Assets:Bank:Checking           -490.00 USD
;   Expenses:Supplies:Paint         -10.00 USD
 
; Partial before as-of; final $800 payment is AFTER 2025-09-04
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
  invoice: "INV-9001"
  due: "2025-09-09"
  Expenses:Parts                 1200.00 USD
  Liabilities:AccountsPayable   -1200.00 USD
 
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
  invoice: "INV-9001"
  due: "2025-09-09"
  Liabilities:AccountsPayable     400.00 USD
  Assets:Bank:Checking           -400.00 USD
 
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
  invoice: "INV-9001"
  due: "2025-09-09"
  Liabilities:AccountsPayable     800.00 USD
  Assets:Bank:Checking           -800.00 USD
 
; Unpaid — not yet due as of 2025-09-04
2025-08-15 * "Bright Office Co" "INV-220" ^INV-220
  invoice: "INV-220"
  due: "2025-09-14"
  Expenses:Office                 300.00 USD
  Liabilities:AccountsPayable    -300.00 USD
 
; Unpaid — due today (as-of == due)
2025-08-20 * "Helix Industries" "INV-440" ^INV-440
  invoice: "INV-440"
  due: "2025-09-04"
  Expenses:Parts                  200.00 USD
  Liabilities:AccountsPayable    -200.00 USD
 
; Unpaid — 30 days overdue as of 2025-09-04
2025-07-06 * "Metro Hardware" "INV-77" ^INV-77
  invoice: "INV-77"
  due: "2025-08-05"
  Expenses:Parts                  150.00 USD
  Liabilities:AccountsPayable    -150.00 USD
 
; Overpayment — credit balance (not an amount due; see edge cases)
2025-08-01 * "Credit Vendor" "INV-C1" ^INV-C1
  invoice: "INV-C1"
  due: "2025-08-20"
  Expenses:Parts                  100.00 USD
  Liabilities:AccountsPayable    -100.00 USD
 
2025-08-18 * "Credit Vendor" "Overpay INV-C1" ^INV-C1
  invoice: "INV-C1"
  due: "2025-08-20"
  Liabilities:AccountsPayable     150.00 USD
  Assets:Bank:Checking           -150.00 USD
 
; Missing due metadata — still open; age into a separate bucket, do not drop
2025-08-12 * "No Due Co" "INV-ND" ^INV-ND
  invoice: "INV-ND"
  Expenses:Office                  50.00 USD
  Liabilities:AccountsPayable     -50.00 USD

Open-postenquery (beanquery 0.2.0 ondersteunt HAVING SUM(number) < 0; het ondersteunt niet het vergelijken van een inventory met 0 met COST(SUM(position)) != 0):

SELECT payee,
       any_meta('invoice') AS invoice,
       any_meta('due')     AS due,
       -SUM(number)        AS outstanding
WHERE account ~ "^Liabilities:AccountsPayable"
  AND date <= 2025-09-04
GROUP BY payee, invoice, due
HAVING SUM(number) < 0
ORDER BY due, payee;

Verwachte rijen per 2025-09-04 (onafhankelijk afgeleid uit de transacties: factuur − betalingen gedateerd ≤ as-of; Forest netto nul en afwezig):

payeeinvoicedueoutstanding
No Due CoINV-ND(leeg)50.00
Metro HardwareINV-772025-08-05150.00
Helix IndustriesINV-4402025-09-04200.00
Acme PartsINV-90012025-09-09800.00
Bright Office CoINV-2202025-09-14300.00

Som van positief openstaand = 1.500,00. Forest's $500-factuur is weg. Acme toont nog $800 ($1.200 − $400); de $800-betaling op 2025-09-05 is na de as-of-datum, dus die kan dit momentopname niet sluiten.

Reconcilieer naar de AP-schuld op dezelfde afsluitdatum:

SELECT COST(SUM(position)) AS ap_balance
WHERE account ~ "^Liabilities:AccountsPayable"
  AND date <= 2025-09-04;

Verwacht: ap_balance = (-1450.00 USD). Onafhankelijk: openstaand $1.500 minus de $50-credit van de leverancier (hieronder) = $1.450 verschuldigd → schuldvoorraad -1450.00 USD.

Verplaats de as-of één dag later (date <= 2025-09-05) en voer de open-postenquery opnieuw uit: Acme's rij verdwijnt (laatste betaling opgenomen), en ap_balance wordt (-650.00 USD). Een betaling na de rapportagedatum herschrijft nooit het eerdere rapport.

Credits van leveranciers / overbetalingen: HAVING SUM(number) < 0 behoudt alleen bedragen die u nog verschuldigd bent. Een overbetaling keert de AP-som van de groep positief. Lijst die apart—behandel een positief AP-saldo niet als "verschuldigd bedrag":

SELECT payee,
       any_meta('invoice') AS invoice,
       any_meta('due')     AS due,
       SUM(number)         AS credit
WHERE account ~ "^Liabilities:AccountsPayable"
  AND date <= 2025-09-04
GROUP BY payee, invoice, due
HAVING SUM(number) > 0
ORDER BY payee;

Verwacht: één rij—Credit Vendor / INV-C1 / 2025-08-20 / credit = 50.00 (u heeft $50 te veel betaald).

Ontbrekende due:: INV-ND verschijnt nog steeds in het open rapport met een lege due. Verouder het in een toegewijde missing-due-emmer (hieronder); laat het nooit stil weg.

Lijst facturen met bijgevoegde PDF's:

SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account ~ "^Liabilities:AccountsPayable"
ORDER BY date DESC;

Waar u AP in Fava kunt zien

  • Balans: Navigeer naar BalansLiabilitiesAccountsPayable om het totale saldo te zien en in te zoomen op de transactiedetails.
  • Journaal: Filter het journaal op account:Liabilities:AccountsPayable of een specifieke link zoals ^INV-xxxx om de volledige levenscyclus van een factuur te zien.
  • Documenten: Met option "documents" ingesteld, ontdekt Beancount bestanden onder die boomstructuur. Fava's Documentenweergaven en de link_documents-plugin (zie hierboven) verbinden die bestanden met transacties die document:-metadata dragen.

AP-veroudering, omloopsnelheid en cashflow-bewustzijn

Verouderingsschema (reproduceerbare export + emmers): beanquery 0.2.0 kan de open-postenrijen hierboven uitvoeren, maar het biedt geen ingebouwde verouderingsemmer-expressie over due-metadata. Exporteer het open rapport en verdeel vervolgens deterministisch over emmers tegen de zelfde as-of-datum.

bean-query -f csv -o open-ap.csv accounts-payable-starter.bean \
  "SELECT payee, any_meta('invoice') AS invoice, any_meta('due') AS due, -SUM(number) AS outstanding WHERE account ~ '^Liabilities:AccountsPayable' AND date <= 2025-09-04 GROUP BY payee, invoice, due HAVING SUM(number) < 0 ORDER BY due, payee"

CSV-kolommen: payee, invoice, due, outstanding.

Emmerregel voor as-of-datum D = 2025-09-04 en elke rij's due (ISO YYYY-MM-DD):

VoorwaardeEmmer
due leegmissing-due
due > Dnot-yet-due
due == Ddue-today
1 ≤ (D − due) ≤ 301-30-overdue
31 ≤ (D − due) ≤ 6031-60-overdue
(D − due) ≥ 6161+-overdue

Compact Python (alleen stdlib) dat die tabel implementeert:

from datetime import date
 
AS_OF = date(2025, 9, 4)
# Apply bucket() to each CSV row's due column (ISO YYYY-MM-DD or empty).
 
def bucket(due: str | None) -> str:
    if not due:
        return "missing-due"
    days = (AS_OF - date.fromisoformat(due)).days
    if days < 0:
        return "not-yet-due"
    if days == 0:
        return "due-today"
    if days <= 30:
        return "1-30-overdue"
    if days <= 60:
        return "31-60-overdue"
    return "61+-overdue"

Verwachte veroudering voor de open rijen per 2025-09-04:

invoiceduedagen achterstalligemmeroutstanding
INV-ND(leeg)missing-due50.00
INV-772025-08-05301-30-overdue150.00
INV-4402025-09-040due-today200.00
INV-90012025-09-09−5not-yet-due800.00
INV-2202025-09-14−10not-yet-due300.00

Due-today wordt niet samengevoegd met "huidig": due == as-of is een eigen emmer. Not-yet-due vereist due > as-of.

  • AP-omloopsnelheid: Totale leveranciersaankopen ÷ Gemiddelde AP. Een gerelateerde maatstaf, Days Payable Outstanding (DPO), is ruwweg 365 ÷ omloopsnelheid.
  • Als u niet op tijd kunt betalen: AP is bedoeld voor kortlopende schuld. Als een leverancier instemt met formele, langere terugbetaling, herclassificeer dan uit AP naar een note payable—behoud dezelfde factuuridentiteit bij de conversie zodat de AP-groep wordt gewist.
2025-10-01 * "Helix Industries" "Convert overdue AP to 12-month note" ^INV-1110
  invoice: "INV-1110"
  due: "2025-09-15"
  Liabilities:AccountsPayable    2000.00 USD
  Liabilities:NotesPayable      -2000.00 USD

Beste praktijken voor AP in een plain-text grootboek

  • Ga papierloos: Bewaar factuur-PDF's onder uw documentenboom en voeg ze toe met de document:-metadatasleutel (en Fava-upload / link_documents wanneer u Fava gebruikt).
  • Hergebruik factuuridentiteit op betalingen: Zet dezelfde invoice:, due:, en ^link op de factuur en op elke betaling die deze voldoet.
  • Rapporteer tegen een as-of-datum: Snijd open-posten- en verouderingsquery's af met date <= YYYY-MM-DD zodat een latere betaling een eerder momentopname niet kan herschrijven; verouder met dezelfde D.
  • Houd metadata netjes: Consistent gebruik van invoice:, due:, en terms: verbetert zoeken, query's en financiële beoordelingen.
  • Accrual helemaal: Als u nuttige AP-rapportage wilt, ga dan volledig over op accrualbasis. Beancount en Fava verwerken accrualsaldi op de Balans zonder speciale plugins.

Kopieer-plak-starter: leveranciersfactuur + betaling

Voor de volledige open-postenworkflow (betaald + gedeeltelijk + onbetaald, as-of-datum, veroudering), geef de voorkeur aan de downloadbare AP-starter hierboven. Het minimale factuur+betaling-paar hieronder toont nog steeds identiteit op beide poten—open eerst de rekeningen (of neem deze opens op in uw hoofdgrootboek). Optionele document:-metadata is hier weggelaten zodat er niets buiten het grootboek nodig is.

option "operating_currency" "USD"
 
2025-01-01 open Assets:Bank:Checking USD
2025-01-01 open Liabilities:AccountsPayable USD
2025-01-01 open Expenses:Supplies:Paint USD
 
; ---- Bill ----
2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
  invoice: "INV-10455"
  due: "2025-09-04"
  Expenses:Supplies:Paint         500.00 USD
  Liabilities:AccountsPayable    -500.00 USD
 
; ---- Payment (no discount) ----
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
  invoice: "INV-10455"
  due: "2025-09-04"
  Liabilities:AccountsPayable     500.00 USD
  Assets:Bank:Checking           -500.00 USD

Met Beancount 3.2.3 en beanquery 0.2.0 levert het laden van deze starter geen fouten op, nettoert de AP-rekening naar nul, en retourneert de invoice+due-query een enkele groep (Forest Paint Supply, INV-10455, 2025-09-04) waarvan het bedrag leeg is (betaald)—niet een gefactureerde rij plus een wees-(…, null, null)-betalingrij.


Dit is een educatieve gids en vormt geen belasting-, juridisch of financieel advies.

Referenties & verder lezen:

Dit artikel delen

Bron: https://beancount.io/nl/blog/2025/08/20/what-is-accounts-payable

Gepubliceerd: 20 augustus 2025

Laatst bijgewerkt: 15 september 2026