E-faktura: kontrola XML faktury zdarma podle EN 16931 a Peppol
Když firma připravuje e-fakturu ve formátu XML, soubor musí projít sadou strojově čitelných pravidel dřív, než ho příjemce nebo síť Peppol přijme. Evropská norma EN 16931 určuje sémantický datový model jádra faktury, tedy jaké údaje musí faktura obsahovat a jak spolu souvisejí; její pravidla se ve schematronu dělí na základní pravidla s kódy BR a na pravidla součtů a vzájemných vazeb s kódy BR-CO. Nad touto normou stojí Peppol BIS Billing 3.0 v syntaxi OASIS UBL 2.1, která přidává vlastní pravidla s kódy PEPPOL-EN16931-R a PEPPOL-COMMON-R a část z nich se týká i jiných zemí než Slovenska. Kontrola XML faktury zdarma proto neznamená jen soubor otevřít, ale projít ho postupně proti oběma sadám pravidel, jádru EN 16931 i rozšíření Peppol. Tento text ukazuje, která konkrétní pravidla validace e-faktury nejčastěji hlídají a jak zní jejich přesné znění ve schematronu.
Co je EN 16931 a proč e-faktura potřebuje strojová pravidla
EN 16931 nevznikla proto, aby popsala vzhled faktury, ale její datový model: které položky musí obsahovat a jak se navzájem musí sedět. V oficiálním schematronu se pravidla dělí na dvě skupiny. První skupina, základní pravidla s kódy BR-01 až BR-65, ve skutečnosti obsahuje 58 pravidel, protože ne všechna čísla v řadě jsou obsazená. Druhá skupina, pravidla součtů a vzájemných vazeb s kódy BR-CO-01 až BR-CO-26, jich má 24.
Pro firmu to v praxi znamená, že validace e-faktury neprojde ani soubor, který má správně vyplněné jméno dodavatele i odběratele, pokud mu chybí vazba mezi částkami na řádcích a součtem v hlavičce, protože právě tuto vazbu kontrolují pravidla BR-CO.
Pravidla BR: číslo faktury a součet řádků
Nejzákladnější pravidlo se týká čísla faktury. Pravidlo BR-02 normy EN 16931 zní: "[BR-02]-An Invoice shall have an Invoice number (BT-1)." Faktura bez čísla je tedy hrubá chyba a validátor ji zamítne.
Další skupina pravidel hlídá součty. Pravidlo BR-CO-10 zní: "[BR-CO-10]-Sum of Invoice line net amount (BT-106) = Σ Invoice line net amount (BT-131)." Součet částek jednotlivých řádků faktury se tedy musí přesně rovnat hlavičkové sumě bez DPH.
Nejčastěji hlášenou chybou součtů je ale pravidlo BR-CO-15: "[BR-CO-15]-Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110)." Částka s DPH se musí přesně rovnat součtu částky bez DPH a částky DPH.
Peppol BIS Billing 3.0: pravidla nad rámec EN 16931
Samotná norma EN 16931 na kontrolu UBL faktury v síti Peppol nestačí. Peppol BIS Billing 3.0 je CIUS, tedy specifikace nad EN 16931 v syntaxi OASIS UBL 2.1, a nad pravidla normy přidává vlastní pravidla s kódy PEPPOL-EN16931-R a PEPPOL-COMMON-R; ve vydání 3.0.20 z listopadu 2025 jich je celkem 41 a část se týká jiných zemí, než je Slovensko.
Jedním z polí, které Peppol i EN 16931 kontrolují společně, je kód kategorie DPH podle kódovníku UNTDID 5305. Norma zná hodnoty S pro základní sazbu, Z pro nulovou sazbu, E pro osvobození od DPH, AE pro přenesení daňové povinnosti, K pro dodání v rámci Evropské unie, G pro vývoz mimo Evropskou unii, O pro plnění nepodléhající DPH, L pro Kanárské ostrovy a M pro Ceutu a Melillu, přičemž vlastní skupinu pravidel mají jen některé z nich: BR-S, BR-Z, BR-E, BR-AE, BR-G a BR-O, a pro kód K skupina BR-IC, zatímco pro L a M fakty žádnou vlastní skupinu neuvádí.
Měna a slevy: BR-CL-04 a pravidlo R040
Měna faktury nesmí být slovo ani znak, ale kód. Pravidlo BR-CL-04 zní: "[BR-CL-04]-Invoice currency code MUST be coded using ISO code list 4217 alpha-3." Měna faktury tedy musí být třípísmenný kód podle normy ISO 4217, například EUR, a ne slovo euro ani znak měny.
Peppol navíc kontroluje matematiku slev a přirážek. Pravidlo PEPPOL-EN16931-R040 zní: "Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists." Pokud je u slevy nebo přirážky uvedený základ i procento, částka musí přesně sedět na jejich součin.
Časté otázky
Jak zjistím, že moje XML faktura odpovídá normě EN 16931?
Soubor musí projít oběma skupinami pravidel schematronu, základními pravidly BR i pravidly součtů BR-CO; obě skupiny dohromady popisují datový model jádra faktury.
Proč mi validace e-faktury hlásí chybu v součtu, i když se čísla zdají v pořádku?
Nejčastější chybou součtů je nesoulad mezi částkou s DPH a součtem částky bez DPH a částky DPH samotné, což hlídá pravidlo BR-CO-15.
Musí UBL faktura kromě EN 16931 splnit i pravidla Peppol?
Ano: i formálně bezchybná faktura podle EN 16931 může být sítí Peppol odmítnuta, protože specifikace Peppol BIS Billing 3.0 přidává vlastní pravidla PEPPOL-EN16931-R a PEPPOL-COMMON-R nad rámec normy.
Závěr
Přehled pravidel EN 16931 a Peppol BIS Billing 3.0, podle kterých se e-faktura ve formátu XML kontroluje, najdete na stránce e-faktury. Faktura, která projde pravidly BR i BR-CO, má formálně v pořádku číslo i součty podle definice normy; správnost kódů DPH pak hlídá samostatná skupina pravidel s kódy BR-S, BR-Z, BR-E, BR-AE, BR-G, BR-O a BR-IC.
Zdroje. Fakta v článku jsou očíslována podle interního podkladu a ověřena k datu vydání. ARLing není banka; čistý výsledek kontroly nezaručuje, že banka platbu přijme. Pokud některý zdroj změnil znění, napište na andrej@arling.sk a článek opravíme.
- F90: schematron CEN EN 16931, https://github.com/ConnectingEurope/eInvoicing-EN16931 (licencia EUPL 1.2, overené 11. 9. 2026)
- F91: schematron Peppol BIS Billing 3.0, https://github.com/OpenPEPPOL/peppol-bis-invoice-3 (overené 11. 9. 2026)
- F92: schematron CEN EN 16931, https://github.com/ConnectingEurope/eInvoicing-EN16931; zoznam kódov Peppol, https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/ (overené 11. 9. 2026)
- F94, F95, F96, F97: schematron CEN EN 16931, súbor CEN-EN16931-UBL.sch, https://github.com/ConnectingEurope/eInvoicing-EN16931 (licencia EUPL 1.2, overené 11. 9. 2026)
- F98: schematron Peppol BIS Billing 3.0, súbor PEPPOL-EN16931-UBL.sch, https://github.com/OpenPEPPOL/peppol-bis-invoice-3 (overené 11. 9. 2026)