Najčastejší dôvod, prečo faktúra z českého alebo slovenského systému neprejde na strane príjemcu správne, nie je chybný formát XML – je to nesúlad medzi tým, ako fakturačný softvér chápe pojmy ako dobropis, ťarchopis alebo zálohová faktúra, a tým, ako ich vie vyjadriť norma EN 16931 a formát Peppol BIS Billing 3.0. Ten pozná len dva typy dokladu, Invoice a CreditNote, a pevný číselník typov dokladu – takže každý lokálny pojem sa musí namapovať správne, inak vyjde suma, ktorú má zákazník zaplatiť, nesprávne.
Zhrnuli sme, ako tieto veci riešime na našom accesspointe, aby si to mohli integrátori a účtovný softvér skontrolovať oproti vlastnej implementácii.
Typy dokladov: nepoužívajte všade kód 380
BT-3 (cbc:InvoiceTypeCode, prípadne cbc:CreditNoteTypeCode) hovorí príjemcovi, o aký doklad ide. Český aj slovenský účtovný softvér rozlišuje viac typov dokladov, než koľko ich bežne vidíme na faktúrach posielaných cez Peppol – a predvolený kód 380 pre všetko túto informáciu stráca.
| Doklad | Koreňový element UBL | Kód BT-3 |
|---|---|---|
| Faktúra – daňový doklad | Invoice | 380 |
| Dobropis (opravný daňový doklad, znižuje sumu) | CreditNote | 381 |
| Opravný daňový doklad zvyšujúci sumu (debetná nóta) | Invoice | 384 |
| Zálohová faktúra / nedaňový zálohový list (výzva na platbu, bez DPH) | Invoice | 386 |
| Daňová faktúra k prijatej platbe | Invoice | 388 |
| Zjednodušený daňový doklad | Invoice | 380 |
Jedna vec integrátorov dosť často prekvapí: BIS 3.0 nemá vlastný typ dokladu pre opravný doklad, ktorý sumu zvyšuje. Musí sa poslať ako Invoice s kódom 384 a odkazom na pôvodný doklad cez cac:BillingReference – nie ako CreditNote so záporným tovarom, ktorú viaceré prijímajúce systémy odmietnu alebo spracujú nesprávne.
Platobné symboly: VS, KS a ŠS
Banky aj účtovný softvér v Česku a na Slovensku párujú platby podľa troch symbolov, pre ktoré UBL nemá vlastné pole:
- VS (variabilný symbol) – identifikuje, ku ktorému dokladu sa platba vzťahuje, najčastejšie číslo faktúry.
- KS (konštantný symbol) – štvormiestny kód udávajúci charakter platby.
- ŠS (špecifický symbol) – desaťmiestny doplnkový údaj; banky ho čoraz menej podporujú (SEPA preň nemá pole), ale viacerí príjemcovia ho stále očakávajú.
BT-83 (cbc:PaymentID) je v EN 16931 definované priamo ako „hodnota spájajúca platbu s faktúrou“ – presne to, čo má samotný VS robiť. Keď máme len VS, patrí preto ako holá hodnota priamo tam, bez prefixu a bez cac:PaymentMeans/cbc:InstructionID:
| |
Štruktúrovanú kombináciu VS:…;KS:…;SS:… v InstructionID (a ako čitateľnú zálohu aj v PaymentID v tvare VS…/KS…/SS…) používame až vtedy, keď treba zakódovať viac než jeden symbol naraz – teda hneď ako sa objaví KS alebo ŠS:
| |
Najčastejšia chyba je vynechanie VS – platba sa potom na účte príjemcu objaví, ale nespáruje sa s faktúrou, ktorá ju vyvolala. Druhá najčastejšia je obaľovanie samotného VS do prefixu VS: a InstructionID, aj keď žiadny KS ani ŠS nie je k dispozícii – pre bežného (nie českého/slovenského) príjemcu je to len šum v poli, kde by mala byť čistá referencia.
Zálohy a ich odpočet
Štandardný postup má tri kroky: zálohová faktúra (výzva na platbu, kód 386, nie je daňovým dokladom) → po prijatí platby daňová faktúra k prijatej platbe (kód 388, DPH treba priznať do 15 dní od prijatia úhrady) → po dodaní zúčtovacia faktúra, ktorá musí každú prijatú a zdanenú zálohu odpočítať.
Tento odpočet je v Peppole pole BT-113, cbc:PrepaidAmount v cac:LegalMonetaryTotal, a musí sa premietnuť do cbc:PayableAmount podľa štandardného vzorca (BR-CO-16):
PayableAmount = TaxInclusiveAmount − PrepaidAmount + PayableRoundingAmount
Príklad: tovar za 2 500 € + 21 % DPH (3 025 € spolu). Na zálohu 1 000 € + DPH (1 210 €) už bol vystavený a zaplatený daňový doklad. Zúčtovacia faktúra potom musí obsahovať:
| |
Bez PrepaidAmount faktúra prejde validáciou podľa EN 16931 v poriadku – len bude od zákazníka chcieť zaplatiť celých 3 025 € znova. Ak zdrojový systém zálohy eviduje (ISDOC to robí v elementoch TaxedDeposits/NonTaxedDeposits), je potrebné ich súčet premietnuť do BT-113 pri každom exporte, nielen ich uviesť ako odkaz na doklad.
Dobropis, alebo opravný doklad zvyšujúci sumu?
Oba pojmy označujú opravný doklad, ale v opačnom smere:
- Dobropis znižuje dlžnú sumu – posiela sa ako
CreditNote, kód 381. - Opravný doklad zvyšujúci sumu (v Česku známy ako vrubopis, na Slovensku bežnejšie debetná nóta) dlžnú sumu zvyšuje – posiela sa ako
Invoice, kód 384, pretože BIS 3.0 nemá vlastný typ dokladu DebitNote.
Oba by mali niesť cac:BillingReference s odkazom na ID pôvodného dokladu, aby ho účtovný systém na strane príjemcu dokázal spárovať s opravovanou faktúrou, a nie ho spracoval ako samostatný doklad.
VAT Category Code a VATEX: prečo nulová DPH nestačí
BT-118 (cbc:ID v cac:TaxCategory) určuje daňový režim dodania – nie to, koľko je na faktúre DPH. Nulová suma DPH sama osebe neznamená kategóriu Z: môže ísť o oslobodené plnenie (E), intrakomunitárne dodanie (K), vývoz (G), prenesenie daňovej povinnosti (AE) alebo plnenie mimo predmetu DPH (O). Kategóriu Z použite len tam, kde zákon skutočne ustanovuje nulovú sadzbu.
Pri kategóriách iných než S a Z je potrebné uviesť dôvod – buď kódom VATEX (BT-121, cbc:TaxExemptionReasonCode), alebo textom (BT-120, cbc:TaxExemptionReason), prípadne oboma. Podľa FAQ Finančnej správy SR (august 2026) sa odporúča uvádzať primárne BT-121 a BT-120 ako doplňujúci text. Základné mapovanie pre slovenské podmienky:
| Režim | VAT Category | VATEX |
|---|---|---|
| Základná sadzba (23 %, 19 %, 5 %) | S | – |
| Oslobodené dodanie (čl. 132 smernice, napr. zdravotná starostlivosť, vzdelávanie, poisťovacie a finančné služby) | E | VATEX-EU-132-1A až -1Q, VATEX-EU-135-1 |
| Intrakomunitárne dodanie | K | VATEX-EU-IC |
| Vývoz mimo EÚ | G | VATEX-EU-G |
| Prenesenie daňovej povinnosti (tuzemský reverse charge, § 69) | AE | VATEX-EU-AE |
| Mimo predmetu DPH | O | VATEX-EU-O |
VATEX je európsky/Peppol číselník, nie slovenský legislatívny – nie ku každému ustanoveniu zákona o DPH preto existuje samostatný kód. Tam, kde si nie ste istí konkrétnym dôvodom v rámci čl. 132, je lepšie použiť všeobecný VATEX-EU-132 než hádať konkrétny podkód.
Náš converter z ISDOC do BIS 3.0 (a späť) toto už rozlišuje: ISDOC nemá vlastný číselník kategórií, ale má štruktúrované polia LocalReverseCharge (riadok v režime prenesenia daňovej povinnosti) a VATApplicable (riadok mimo predmetu DPH) – tie sa teraz správne prekladajú na AE/O a VATEX kód, namiesto toho, aby obe skončili ako bežná sadzba alebo všeobecné “oslobodené”.
SK CIUS a termín 1. januára 2027
Slovenská Finančná správa definuje nad rámec EN 16931 / BIS 3.0 vlastnú sadu povinných polí (SK CIUS): dátum dodania/vzniku daňovej povinnosti (BT-7), dátum splatnosti (BT-9), IČO a IČ DPH dodávateľa (BT-30, BT-31), IČ DPH odberateľa (BT-48), kompletnú adresu oboch strán (BT-35/37/38, BT-50/52/53), sadzbu DPH (BT-119) a pri oslobodených plneniach aj dôvod oslobodenia (BT-120/121).
Elektronická fakturácia cez Peppol je na Slovensku dobrovoľná od druhého štvrťroka 2026 a od 1. januára 2027 povinná pre všetkých platiteľov DPH, doručovaná cez certifikované accesspointy (“digitálnych poštárov”). Viac sme písali v článku Slovensko vyriešilo elektronickú fakturáciu za nás a v odpovediach na časté otázky k povinnej e-fakturácii na Slovensku.
Zhrnutie
Pre faktúry smerujúce do Česka a na Slovensko platí, že samotná validita podľa EN 16931 nestačí – schéma validáciu prejde aj doklad so zlým typom, chýbajúcim odpočtom zálohy, bez VS alebo so zlou kategóriou DPH. Kontrolný zoznam: opravné doklady majú správny typ (dobropis ako CreditNote/381, doklad zvyšujúci sumu ako Invoice/384), zálohy sa odpočítavajú cez PrepaidAmount, platobné symboly sú v PaymentID/InstructionID, kategória DPH zodpovedá skutočnému daňovému režimu (nie len výške DPH) a nesie zodpovedajúci VATEX kód, a slovenské faktúry nesú všetky polia podľa SK CIUS. Presne toto pri generovaní a validácii faktúr na našom accesspointe strážime automaticky.
Zdroje: ISDOC – špecifikácia formátu, Finančná správa SR – e-faktúra, Peppol BIS Billing 3.0
