Záväzky voči dodávateľom (AP) sú peniaze, ktoré vaša firma dlhuje svojim dodávateľom za tovar alebo služby, ktoré ste už dostali, ale ešte ste ich nezaplatili. V účtovníctve sú AP klasifikované ako krátkodobé záväzky vo vašej súvahe — čiastka zvyčajne splatná do jedného roka, často do 30 až 60 dní.
Tento koncept je ústredný pre akruálne účtovníctvo, kde zaznamenávate náklad a príslušný záväzok v momente, keď príde faktúra, nie keď skutočne odošlete peniaze. Táto príručka vám ukáže, ako spravovať celý pracovný postup AP čisto a efektívne pomocou nástroja na účtovníctvo v čistom texte, Beancount.
Rýchly súhrn
Predtým, než sa ponoríme do detailov, prejdeme si základy:
- Záväzky voči dodávateľom (AP) predstavujú vaše krátkodobé dlhy voči dodávateľom. Nájdete ich v časti
Liabilities(Záväzky) vašej súvahy. - Akruálne vs. hotovostné: AP je koncept, ktorý existuje len vtedy, ak vediete svoje knihy na akruálnom princípe. Beancount plne podporuje akruálne pracovné postupy a jeho webové rozhranie Fava zobrazí vaše záväzky správne.
- AP vs. AR: Je to jednoduché: Záväzky (Payables) sú to, čo dlhujete, zatiaľ čo pohľadávky (Receivables, AR) sú to, čo dlhujú vám.
Kde žije AP v Beancount (a Fava)
Ak chcete začať sledovať AP, musíte najprv deklarovať účet preň vo vašej hlavnej knihe. Štandardná konvencia je:
Liabilities:AccountsPayable
Voliteľne môžete vytvoriť podúčty pre hlavných dodávateľov (napr. Liabilities:AccountsPayable:ForestPaintSupply).
Vo Fave sa tento účet zobrazí vo vašej súvahe v časti Liabilities (Záväzky). Môžete naň kliknúť a ponoriť sa do detailov, aby ste videli zápisy tvoriace zostatok. Toto môžete vidieť aj v akcii vo Fave verejný príklad hlavnej knihy, ktorý obsahuje účet Liabilities:AccountsPayable.
Znamienková konvencia: Beancount uchováva zostatky záväzkov ako kredity (záporné čísla). Zostatok -500.00 USD na účte Liabilities:AccountsPayable znamená, že dlhujete 500 USD. Prehľad otvorených položiek nižšie otočí znamienko pomocou -SUM(number), takže každá neuhradená faktúra zobrazuje kladnú nesplatenú čiastku. Úplne vyrovnaná faktúra sa sčíta na nulu a je vylúčená pomocou HAVING.
Stavebné bloky Beancount, ktoré použijete
Robustný pracovný postup AP v Beancount sa spolieha na niekoľko kľúčových funkcií:
- Účty: Primárne budete používať svoj účet
Liabilities:AccountsPayable, hotovostný účet akoAssets:Bank:Checkinga rôzne nákladové účty (napr.Expenses:Supplies). - Metadáta: Ku každej transakcii môžete pripojiť dáta vo forme kľúč-hodnota. Pre AP použijete metadáta ako
invoice:,due:,terms:adocument:. Nastavteoption "documents"na priečinok, aby Beancount dokázal nájsť súbory tam; vo Fave, presunutie súboru na riadok denníka vloží záznam metadátdocument:, a povolenieplugin "fava.plugins.link_documents"prepojí tieto záznamy s nájdenými direktívami Document. - Tagy a odkazy: Používajte
#tagy(ako#ap) na jednoduché filtrovanie a^odkazy(ako^INV-10455) na programové prepojenie faktúry a jej následnej platby. To vytvára jasnú, audítorskú stopu v denníku — ale samotné odkazy nestačia pre dotaz na otvorené faktúry nižšie. - Dotazy (BQL): SQL-podobný dotazovací jazyk Beancount (BQL) vám umožňuje spúšťať výkonné reporty, ako napríklad zoznam všetkých otvorených záväzkov zoradených podľa dátumu splatnosti, priamo z príkazového riadka pomocou
bean-queryalebo na stránke "Query" vo Fave.
Identita faktúry (vyžadovaná pre dotazy na otvorené faktúry): Každá faktúra a každá platba, ktorá ju vyrovnáva — plná, čiastočná alebo so skorou zľavou — musí niesť rovnaké metadáta transakcie invoice: a due:, plus rovnaký ^odkaz. Dotaz zoskupuje podľa payee, any_meta('invoice') a any_meta('due'). Ak platba vynechá tieto kľúče, jej zápis AP sa dostane do samostatnej skupiny (payee, null, null) a vyrovnaná faktúra bude stále vyzerať ako otvorená. Udržujte (payee, invoice) jedinečné naprieč dodávateľmi. Voliteľné polia len pre faktúry, ako terms: a document:, sa nemusia opakovať na platbách.
Základný pracovný postup AP v Beancount
Správa AP vo vašej hlavnej knihe zahŕňa dva alebo tri kľúčové kroky: zaznamenanie faktúry, jej zaplatenie a niekedy aj spracovanie čiastočných platieb alebo zliav.
1) Zaznamenajte faktúru dodávateľa (toto vytvára záväzok)
Najprv zaúčtujete náklad a vytvoríte záväzok, keď príde faktúra.
; 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 USDTento jediný zápis dosahuje dve kritické veci:
- Okamžite vykazuje náklad 500 USD v správnom období (august) — raz. Nevykazujte náklad znova pri platbe.
- Kredituje AP o 500 USD (
-500.00 USD), čím zaznamenáva, že dlhujete Forest Paint Supply túto čiastku.
Odkaz ^INV-10455 plus metadáta invoice: / due: tvoria identitu faktúry. Každá neskoršia platba tejto faktúry musí znovu použiť všetky tri.
2) Zaplaťte faktúru (toto vyrovnáva záväzok)
Keď zaplatíte faktúru, vytvoríte transakciu, ktorá presunie peniaze z vášho bankového účtu na vyrovnanie záväzku. Skopírujte invoice: a due: z faktúry na platbu, aby oba zápisy zdieľali jednu skupinu dotazu.
a) Štandardná platba (bez zľavy):
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 USDTento zápis znižuje váš zostatok AP o 500 USD a zostatok bežného účtu o rovnakú čiastku. Záväzok za túto faktúru je teraz vyrovnaný (súčet AP v skupine je nula). Náklad zostáva na augustovej faktúre — platba sa nedotýka účtu Expenses:.
b) Zľava za skorú platbu (napr. "2/10, n/30") — vyberte presne jednu metódu:
Ak sú podmienky "2/10, n/30", môžete získať 2% zľavu, ak zaplatíte do 10 dní. Pre našu faktúru 500 USD to je zľava 10 USD. Ohrada nižšie zobrazuje dve vzájomne sa vylučujúce alternatívy: Možnosť 1 je aktívna; Možnosť 2 je úplne zakomentovaná, takže vloženie nemôže zaúčtovať obe. Ak chcete použiť Možnosť 2, zakomentujte Možnosť 1 a odkomentujte Možnosť 2. Nikdy nenechávajte obe aktívne — to by vyrovnalo AP dvakrát a vytvorilo druhú výhodu 10 USD. Ktorý účet výnosov vs. nákladov použijete, je voľba účtovnej politiky pre vaše knihy; Beancount nevyžaduje jedno nad druhým.
; 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 USDPri ktorejkoľvek alternatíve samostatne vyrovnáte plný záväzok 500 USD, znížite zostatok bankového účtu o 490 USD, ktoré ste skutočne zaplatili, a zaúčtujete výhodu 10 USD. Nahraďte štandardnú transakciu plnej platby zvolenou alternatívou — nekombinujte platbu so zľavou na vrch hotovostnej platby 500 USD a nekombinujte túto ohradu s časťou 2a pre tú istú faktúru.
3) Spracovanie čiastočných platieb
Znovu použite rovnakú identitu invoice: / due: / ^odkaz na každej splátke, aby každá platba znižovala rovnakú skupinu otvorených faktúr.
; 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 USDPo prvej platbe je súčet AP v skupine faktúr -800.00 USD (stále dlhujete 800 USD). Po finálnej platbe je nula. Filtrovanie denníka podľa ^INV-9001 stále zobrazuje kompletnú históriu.
Užitočné dotazy (BQL)
Tieto dotazy môžete spustiť na karte "Query" vo Fave alebo z príkazového riadka pomocou bean-query (referencia BQL). Overené nižšie s Beancount 3.2.3 a beanquery 0.2.0.
Tip: Funkcia
any_meta()vyhľadá kľúč metadát najprv na zápise, potom sa vráti k transakcii — takže hodnotyinvoice:/due:na úrovni transakcie sa objavia v množine výsledkov.
Otvorené AP podľa dodávateľa (pohľad zostatku):
Tento dotaz sčítava inventár záväzkov podľa dodávateľa. Kredit (záporný) súčet je to, čo stále dlhujete tomuto dodávateľovi.
SELECT payee, COST(SUM(position)) AS amount
WHERE account ~ "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;Otvorené faktúry k pevnému dátumu (prehľad otvorených položiek):
Prehľad otvorených položiek odpovedá na otázku "čo zostáva nezaplatené?". Musí (1) uzavrieť k explicitnému dátumu, aby neskoršie platby nemohli ticho vymazať skorší snímok, (2) zoskupiť podľa zdieľanej identity faktúry (payee + invoice: + due:), (3) vylúčiť vyrovnané (nulové) skupiny a (4) zobraziť kladnú nesplatenú čiastku — nie surový podpísaný kredit AP.
Dátum vykazovania použitý všade nižšie: 2025-09-04.
Stiahnuteľná štartovacia hlavná kniha AP
Stiahnite accounts-payable-starter.bean — jednu samostatnú hlavnú knihu vygenerovanú z kompletnej ohrady nižšie (otvorenie účtov, fiktívna počiatočná hotovosť, vyrovnané / čiastočné / neuhradené faktúry, k dátumu 2025-09-04). Každé meno a čiastka sú fiktívne vzorové dáta. Nie je potrebný žiadny PDF faktúry, priečinok dokumentov ani iný súbor na validáciu alebo dotazovanie.
Prvé spustenie z čistého dočasného adresára (pinned 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 skončí s kódom 0 a bez výstupu. Dotaz vráti päť otvorených riadkov v očakávanej tabuľke nižšie (Forest chýba; Acme nesplatené 800.00; súčet kladných nesplatených = 1500.00). Znovu vygenerujte odovzdaný súbor pomocou yarn generate:ap-starter po úprave ohrady; yarn generate:ap-starter --check zlyhá, ak je artefakt zastaraný.
Vložte tento kompletný prípravok (otvorenia + počiatočná hotovosť + tri tvary faktúr, plus riadky splatné dnes / po splatnosti / okrajové prípady pre starnutie). Alternatívy skorej zľavy pre INV-10455 zostávajú úplne zakomentované — aktivujte presne jednu len vtedy, ak nahradíte štandardnú platbu Forest; nikdy nenechávajte obe možnosti zliav aktívne spolu s touto platbou.
; 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 USDDotaz na otvorené položky (beanquery 0.2.0 podporuje HAVING SUM(number) < 0; nepodporuje porovnávanie inventory s 0 pomocou 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;Očakávané riadky k 2025-09-04 (odvodené nezávisle z transakcií: faktúra − platby dátumované ≤ dátumu; Forest je nulový a chýba):
| payee | invoice | due | outstanding |
|---|---|---|---|
| No Due Co | INV-ND | (prázdne) | 50.00 |
| Metro Hardware | INV-77 | 2025-08-05 | 150.00 |
| Helix Industries | INV-440 | 2025-09-04 | 200.00 |
| Acme Parts | INV-9001 | 2025-09-09 | 800.00 |
| Bright Office Co | INV-220 | 2025-09-14 | 300.00 |
Súčet kladných nesplatených = 1 500,00. Faktúra Forest za 500 USD je preč. Acme stále zobrazuje 800 USD (1 200 − 400); platba 800 USD z 2025-09-05 je po dátume, takže nemôže uzavrieť tento snímok.
Zosúlaďte so záväzkom AP pri rovnakom uzavretí:
SELECT COST(SUM(position)) AS ap_balance
WHERE account ~ "^Liabilities:AccountsPayable"
AND date <= 2025-09-04;Očakávané: ap_balance = (-1450.00 USD). Nezávisle: otvorené nesplatené 1 500 USD mínus kredit dodávateľa 50 USD (nižšie) = 1 450 USD dlhovaných → inventár záväzkov -1450.00 USD.
Posuňte dátum o jeden deň neskôr (date <= 2025-09-05) a znovu spustite dotaz na otvorené položky: riadok Acme zmizne (finálna platba zahrnutá) a ap_balance sa stane (-650.00 USD). Platba po dátume vykazovania nikdy neprepíše skorší report.
Kredity dodávateľov / preplatky: HAVING SUM(number) < 0 ponecháva len čiastky, ktoré stále dlhujete. Preplatok otočí súčet AP v skupine na kladný. Zoznamujte ich samostatne — nepovažujte kladný zostatok AP za "čiastku na úhradu":
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;Očakávané: jeden riadok — Credit Vendor / INV-C1 / 2025-08-20 / credit = 50.00 (preplatili ste o 50 USD).
Chýbajúce due:: INV-ND sa stále objavuje v prehľade otvorených s prázdnym due. Zaraďte ho do vyhradeného segmentu missing-due (nižšie); nikdy ho ticho nevynechávajte.
Zoznam faktúr s pripojenými PDF:
SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account ~ "^Liabilities:AccountsPayable"
ORDER BY date DESC;Kde vidieť AP vo Fave
- Súvaha: Prejdite na
Súvaha→Záväzky→AccountsPayable, aby ste videli celkový zostatok a ponorili sa do detailov transakcií. - Denník: Filtrujte denník podľa
account:Liabilities:AccountsPayablealebo konkrétneho odkazu ako^INV-xxxx, aby ste videli celý životný cyklus faktúry. - Dokumenty: S nastaveným
option "documents"Beancount nájde súbory v tomto strome. Zobrazenia dokumentov vo Fave a pluginlink_documents(pozri vyššie) prepájajú tieto súbory s transakciami, ktoré nesú metadátadocument:.
Starnutie AP, obrat a povedomie o cash flow
Plán starnutia (reprodukovateľný export + segmenty): beanquery 0.2.0 môže vydať riadky otvorených položiek vyššie, ale neposkytuje vstavaný výraz pre segmenty starnutia nad metadátami due. Exportujte prehľad otvorených a potom segmentujte deterministicky proti rovnakému dátumu.
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 stĺpce: payee, invoice, due, outstanding.
Pravidlo segmentácie pre dátum D = 2025-09-04 a každý riadok due (ISO YYYY-MM-DD):
| Podmienka | Segment |
|---|---|
due prázdne | missing-due |
due > D | not-yet-due |
due == D | due-today |
1 ≤ (D − due) ≤ 30 | 1-30-overdue |
31 ≤ (D − due) ≤ 60 | 31-60-overdue |
(D − due) ≥ 61 | 61+-overdue |
Kompaktný Python (iba štandardná knižnica), ktorý implementuje túto tabuľku:
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"Očakávané starnutie pre otvorené riadky k 2025-09-04:
| invoice | due | dní po splatnosti | segment | outstanding |
|---|---|---|---|---|
| INV-ND | (prázdne) | — | missing-due | 50.00 |
| INV-77 | 2025-08-05 | 30 | 1-30-overdue | 150.00 |
| INV-440 | 2025-09-04 | 0 | due-today | 200.00 |
| INV-9001 | 2025-09-09 | −5 | not-yet-due | 800.00 |
| INV-220 | 2025-09-14 | −10 | not-yet-due | 300.00 |
Splatné dnes nie je zahrnuté do "aktuálne": due == as-of je vlastný segment. Ešte nesplatné vyžaduje due > as-of.
- Pomer obratu AP:
Celkové nákupy od dodávateľov ÷ Priemerné AP. Súvisiaca metrika, DPO (Days Payable Outstanding), je približne365 ÷ Pomer obratu. - Ak nemôžete platiť načas: AP je určené na krátkodobý dlh. Ak dodávateľ súhlasí s formálnym, dlhodobejším splácaním, preklasifikujte z AP na zmenku na úhradu — zachovajte rovnakú identitu faktúry pri konverzii, aby sa skupina AP vyrovnala.
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 USDNajlepšie postupy pre AP v hlavnej knihe v čistom texte
- Prejdite na bezpapierové: Ukladajte PDF faktúr do svojho stromu dokumentov a pripájajte ich pomocou metadát
document:(a nahrávanie vo Fave /link_documents, keď používate Favu). - Používajte identitu faktúry na platbách: Uveďte rovnaké
invoice:,due:a^odkazna faktúre a na každej platbe, ktorá ju vyrovnáva. - Vykazujte k dátumu: Uzavrite dotazy na otvorené položky a starnutie pomocou
date <= YYYY-MM-DD, aby neskoršia platba nemohla prepísať skorší snímok; starnite s rovnakýmD. - Udržujte metadáta upratané: Konzistentné používanie
invoice:,due:aterms:zlepšuje vyhľadávanie, dotazy a finančné kontroly. - Akruálne až do konca: Ak chcete užitočné reporty AP, zaväzte sa viesť knihy na akruálnom princípe. Beancount a Fava spracúvajú akruálne zostatky na súvahe bez špeciálnych pluginov.
Štartovací príklad na kopírovanie a vloženie: Faktúra dodávateľa + platba
Pre úplný pracovný postup otvorených položiek (vyrovnané + čiastočné + neuhradené, dátum, starnutie) uprednostnite stiahnuteľný štartovací AP vyššie. Minimálny pár faktúra + platba nižšie stále zobrazuje identitu na oboch stranách — najprv otvorte účty (alebo zahrňte tieto otvorenia do svojej hlavnej knihy). Voliteľné metadáta document: sú tu vynechané, takže nič mimo hlavnej knihy nie je potrebné.
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 USDS Beancount 3.2.3 a beanquery 0.2.0, načítanie tohto štartovacieho súboru nespôsobí žiadne chyby, účet AP sa vynuluje a dotaz invoice+due vráti jednu skupinu (Forest Paint Supply, INV-10455, 2025-09-04), ktorej čiastka je prázdna (vyrovnaná) — nie riadok faktúry plus osirelý riadok platby (…, null, null).
Táto príručka slúži na vzdelávacie účely a nepredstavuje daňové, právne ani finančné poradenstvo.
Referencie a ďalšie čítanie:
- Syntax jazyka Beancount — účty, metadáta, tagy, odkazy a dokumenty (overené 2026-09-11)
- Referencia dotazovacieho jazyka Beancount (BQL) (overené 2026-09-11)
- Funkcie Fava — nahrávanie dokumentov a
link_documents(overené 2026-09-11) any_meta()na dotazovanie metadát transakcie/zápisu (Martin Blais, mailing list Beancount; overené 2026-09-11)





