Validátor elektronických faktur ISDOC

Zkontrolujte fakturu ISDOC dřív, než ji odešlete: schéma ISDOC 6.0.2, pravidla, která standard zveřejňuje, a to, zda sedí rekapitulace DPH a součty, s každým zjištěním na jeho řádku. Nic se nenahrává.

Elektronická fakturace v Česku ve zkratce

Mezi firmami elektronická fakturace povinná není. Daňový doklad může být listinný i elektronický a elektronický vyžaduje souhlas odběratele (§ 26 zákona o DPH, 235/2004 Sb.). V praxi si české firmy vyměňují ISDOC, národní formát XML, který čte a zapisuje většina českých účetních programů. Definovala ho pracovní skupina ICT Unie a spravuje ho Ministerstvo vnitra; aktuální je verze 6.0.2 z 23. března 2022.

Veřejné subjekty elektronické faktury přijímat musí. Ústřední orgány státní správy a jejich organizace přijímají evropské formáty a ISDOC 5.2 nebo novější od 31. prosince 2018 (usnesení vlády 347/2017). Podle zákona o zadávání veřejných zakázek (134/2016 Sb., § 221) nesmí zadavatelé odmítnout elektronickou fakturu podle evropské normy EN 16931: stát a Česká národní banka od 1. dubna 2019, všichni ostatní zadavatelé od 1. dubna 2020. Zákon zavazuje odběratele; dodavatel smí dál posílat papír. Přeshraniční faktury mezi firmami v EU se podle směrnice ViDA stanou elektronickými do 1. července 2030.

Jak zkontrolovat českou fakturu

  1. Otevřete validátor s profilem ISDOC 6.0.2. Soubor se jmenným prostorem ISDOC si ho vybere sám.
  2. Vložte XML nebo přetáhněte soubor .isdoc, ISDOC.PDF nebo balíček .isdocx a klikněte na Validate. Z ISDOC.PDF i z .isdocx se dokument ISDOC vyjme přímo ve vašem prohlížeči.
  3. Pro fakturu veřejnému subjektu v evropském formátu zvolte EN 16931 UBL Invoice, variantu CII, nebo Peppol BIS 3.0 Invoice, pokud jde přes Peppol.

Co se kontroluje

Nejprve schéma ISDOC 6.0.2, pak pravidla, která standard zveřejňuje jako Schematron, pojmenovaná zde podle oddílu standardu, který je stanoví: opravný daňový doklad musí odkazovat na původní doklad (ISDOC-4.1.1), doklad v cizí měně v ní uvádí i všechny částky (ISDOC-4.1.2) a doklad v tuzemské měně žádné a kurz 1 (ISDOC-4.1.3), dále pravidla pro doklady mimo DPH, dávky a identifikátory položek. Dva ze zveřejněných testů nejsou platný XPath a jedno pravidlo by se nikdy nespustilo; zde jsou opravené.

Potom pravidla z přílohy A standardu, která jeho Schematron vynechává, sepsaná námi: rekapitulace DPH dává svůj součet (XV-CZ-04), součty odpovídají rekapitulaci (XV-CZ-05), zálohy a zaokrouhlení vedou k částce k úhradě, se zaplacenými zálohami jako kladnými částkami (XV-CZ-12), a žádné prázdné UUID. IČO se špatnou kontrolní číslicí a DIČ v nesprávném tvaru jsou varování.

Profily pro kontrolu

  • ISDOC 6.0.2: The Czech format for electronic invoices, read by most Czech accounting software, checked against its schema, its Schematron rules and the amount rules of the standard. Ověřit
  • EN 16931 Invoice (UBL): A UBL invoice checked against the schema and the business rules of the European e-invoicing standard EN 16931: mandatory fields, code lists and totals. Ověřit
  • EN 16931 Credit Note (UBL): A UBL credit note checked against the schema and the EN 16931 business rules. Ověřit
  • EN 16931 Invoice (CII): A Cross Industry Invoice checked against the D16B schema and the EN 16931 business rules: the XML inside Factur-X and ZUGFeRD (EN 16931 profile). Ověřit
  • Peppol BIS Billing 3.0 Invoice: A Peppol invoice checked the way an access point does: UBL 2.1 schema, EN 16931 rules and the Peppol BIS Billing 3.0 rules. Ověřit

Nejčastěji porušovaná pravidla

Každé má stránku s tím, co kontroluje, jeho testem a často i postupem opravy.

  • ISDOC-4.1.1: Pro typ dokladu 2, 3 a 6 musí existovat vazba na původní doklad. Konkrétně tedy pro DocumentType = 2, 3, 6 musí existovat element OriginalDocumentReference a mu...
  • ISDOC-4.1.2: Doklad vystavený v cizí měně musí obsahovat v cizí měně i všechny finanční elementy. Konkrétně: pokud existuje element ForeignCurrencyCode, pak musí existovat v...
  • ISDOC-4.1.3: Doklad vystavený v tuzemské měně nesmí obsahovat žádný element v cizí měně. Pokud neexistuje element ForeignCurrencyCode, pak nesmí existovat žádný element pro...
  • XV-CZ-04: TaxTotal/TaxAmount (…) must equal the sum of TaxAmount of every TaxSubTotal (…), in the foreign currency too (ISDOC 6.0.2, A.10).
  • XV-CZ-05: LegalMonetaryTotal/TaxExclusiveAmount (…) must equal the sum of TaxableAmount in the VAT summary (…), in the foreign currency too (ISDOC 6.0.2, A.11).
  • XV-CZ-12: PayableAmount (…) must equal DifferenceTaxInclusiveAmount + PayableRoundingAmount - PaidDepositsAmount (…); paid advance payments are given as positive amounts...

Otázky

Nahrává se faktura na server?

Ne. Kontrola schématu i pravidla běží ve vašem prohlížeči. Na našich serverech ověřují jen API a monitorování URL.

Umí to přečíst ISDOC.PDF nebo .isdocx?

ISDOC.PDF ano: přetáhněte PDF a ověří se k němu připojený soubor invoice.isdoc. PDF se kontroluje i podle oddílu 3.2 standardu (PDF/A-3a, název přílohy, její vztah a typ MIME, její místo v /AF a mezi přílohami) a v jeho textu se hledá číslo faktury, datum, součty a DIČ. Balíček .isdocx také: ověří se dokument, který uvádí jeho manifest.xml, a balíček se kontroluje podle oddílu 3.3 (manifest, žádné šifrování, soubory deflate nebo uložené, názvy souborů v UTF-8). U obou musí být přítomna každá příloha ze SupplementsList s otiskem SHA-1 nebo SHA-2, který faktura uvádí, a nejvýše jedna označená jako náhled; PDF v .isdocx se s fakturou porovná jako ISDOC.PDF.

Je ISDOC totéž co evropská norma?

Ne. ISDOC vychází z UBL, ale má vlastní jmenný prostor a prvky, například částky ve dvou měnách a zálohy. Veřejné subjekty přijímají obojí a zákon o zadávání veřejných zakázek jim ukládá přijímat EN 16931.

Příklad z balíčku ISDOC neprojde. Proč?

Ukázka priklad2-egov.isdoc z balíčku ISDOC 6.0.1 porušuje vlastní přílohu A standardu: jedna sazba daně má prohozené částky Difference, celková daň není součtem sazeb a zaplacené zálohy jsou záporné. Náš příklad pravidla dodržuje.

Mohu kontrolovat faktury z kódu?

Ano: přes API a klienta pro příkazovou řádku s --schema isdoc-6.0.2, nebo --schema auto pro složku s různými fakturami.

Oficiální zdroje

Další země