Obsah fakticky overený Oficiálne zdroje
Blog ePošťáka

Praktická validácia · overené 12. 9. 2026 · 6 min čítania

XML prejde XSD, ale Peppol ho odmietne: tri chyby a ich opravy

Platná štruktúra XML ešte neznamená platnú Peppol faktúru. Na štyroch úplných súboroch si môžete overiť, ako sa líši kontrola XSD od obchodných pravidiel a číselníkov.

Čo presne sme overili

Východiskový dokument a tri jeho zmenené varianty sme 12. 9. 2026 skontrolovali lokálnym ion-docval 1.2.1: UBL 2.1 XSD, CEN EN 16931 1.3.16 a Peppol BIS Billing 3.0.21 z vydania máj 2026. Východiskový dokument mal 0 chýb a 0 upozornení. Každý chybný variant mal presne jednu chybu uvedenú nižšie a žiadnu chybu XSD.

Ide o test obsahu dokumentu. Fiktívne firmy a identifikátory nie sú určené na odoslanie do produkčnej siete. Výsledok neoveruje registráciu príjemcu, oprávnenie odosielateľa, slovenský daňový reporting ani doručenie.

Ak sa s XML ešte len zoznamujete, začnite vysvetlením jednotlivých blokov e-faktúry. Význam normy a slovenskú vrstvu rozoberá EN 16931 na CPDS.sk.

Stiahnutie a postup

  1. Stiahnite východiskovú faktúru XML. Otvorte ju ako text, nie ako PDF.
  2. Skontrolujte ju vo validátore ePošťáka. Pri inom výsledku najprv porovnajte verziu a rozsah pravidiel s týmto článkom.
  3. Otvorte jeden chybný variant, vyhľadajte uvedený kód a opravte príslušné pole podľa ukážky.
  4. Overte celý opravený dokument znova. V týchto izolovaných príkladoch vás oprava vráti k východiskovému dokumentu bez chýb.

1. Chýba referencia kupujúceho alebo objednávky

Kód: PEPPOL-EN16931-R003 · Stiahnuť chybný XML

UBL umožňuje tieto prvky vynechať, ale Peppol vyžaduje referenciu kupujúceho alebo nákupnej objednávky. Doplňte skutočnú referenciu dohodnutú s odberateľom; testová hodnota slúži iba pre tento príklad.

Pred opravou

<!-- BuyerReference aj OrderReference chýbajú -->

Po oprave

<cbc:BuyerReference>TEST-OBJ-001</cbc:BuyerReference>

Oficiálne pravidlo PEPPOL-EN16931-R003

2. Splatná suma nesedí s celkovou sumou

Kód: BR-CO-16 · Stiahnuť chybný XML

Príklad má základ 100 €, DPH 23 € a celkovú sumu 123 €. Neobsahuje uhradený preddavok ani zaokrúhľovaciu položku, preto je splatná suma 123 €. XSD kontroluje typ čísla, nie túto účtovnú rovnosť. Pri vlastnom doklade opravte príčinu rozdielu, nie iba výsledné číslo.

Pred opravou

<cbc:PayableAmount currencyID="EUR">124.00</cbc:PayableAmount>

Po oprave

<cbc:PayableAmount currencyID="EUR">123.00</cbc:PayableAmount>

Oficiálne pravidlo BR-CO-16

3. Lokálna skratka jednotky nie je platný kód

Kód: BR-CL-23 · Stiahnuť chybný XML

KUS je zrozumiteľné človeku, ale v tomto poli nepatrí do požadovaného číselníka. Pre jeden kus v ukážke použijeme C62. Pri hodinách, kilogramoch alebo baleniach vyberte kód podľa skutočnej mernej jednotky; nenahrádzajte všetky hodnoty kódom C62.

Pred opravou

<cbc:InvoicedQuantity unitCode="KUS">1</cbc:InvoicedQuantity>

Po oprave

<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>

Oficiálne pravidlo BR-CL-23

Validácia nie je dôkaz doručenia

Po úspešnej kontrole ešte musí prebehnúť správne adresovanie a doručenie. Až samostatný účtovný proces určí schválenie a úhradu. Pri čakaní alebo odmietnutí pokračujte cez postup sledovania stavov faktúry.

Pre slovenskú implementáciu doplňte aj kontroly aktuálnej slovenskej špecifikácie. Prípravu opisuje slovenský Peppol testbed a rozsah validácie. Verejný výsledok bez uvedenej verzie nie je automaticky dôkazom kontroly podľa rovnakého vydania pravidiel.