Preskočiť na hlavný obsah

Čo sú záväzky voči dodávateľom? Definícia, príklady a AP vs AR (2026)

Publikované Naposledy aktualizované 17 min čítaniaMike ThriftMike Thrift
Čo sú záväzky voči dodávateľom? Definícia, príklady a AP vs AR (2026)
Na tejto stránke

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í:

  1. Účty: Primárne budete používať svoj účet Liabilities:AccountsPayable, hotovostný účet ako Assets:Bank:Checking a rôzne nákladové účty (napr. Expenses:Supplies).
  2. 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: a document:. Nastavte option "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át document:, a povolenie plugin "fava.plugins.link_documents" prepojí tieto záznamy s nájdenými direktívami Document.
  3. 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.
  4. 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-query alebo 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 USD

Tento jediný zápis dosahuje dve kritické veci:

  1. Okamžite vykazuje náklad 500 USD v správnom období (august) — raz. Nevykazujte náklad znova pri platbe.
  2. 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 USD

Tento 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 USD

Pri 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 USD

Po 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 hodnoty invoice: / 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 USD

Dotaz 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):

payeeinvoicedueoutstanding
No Due CoINV-ND(prázdne)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

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úvahaZáväzkyAccountsPayable, aby ste videli celkový zostatok a ponorili sa do detailov transakcií.
  • Denník: Filtrujte denník podľa account:Liabilities:AccountsPayable alebo 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 plugin link_documents (pozri vyššie) prepájajú tieto súbory s transakciami, ktoré nesú metadáta document:.

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):

PodmienkaSegment
due prázdnemissing-due
due > Dnot-yet-due
due == Ddue-today
1 ≤ (D − due) ≤ 301-30-overdue
31 ≤ (D − due) ≤ 6031-60-overdue
(D − due) ≥ 6161+-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:

invoiceduední po splatnostisegmentoutstanding
INV-ND(prázdne)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

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žne 365 ÷ 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 USD

Najlepš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 ^odkaz na 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ým D.
  • Udržujte metadáta upratané: Konzistentné používanie invoice:, due: a terms: 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 USD

S 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:

Zdieľať tento článok

Zdroj: https://beancount.io/sk/blog/2025/08/20/what-is-accounts-payable

Publikované: 20. augusta 2025

Naposledy aktualizované: 15. septembra 2026