Preskočiť na obsah
🎁 Všetky platené plány ZADARMO do 1. 12. 2026 — pripravujeme Slovensko na povinnú e-faktúru
Nástroj zadarmo

Validátor e-faktúry

Nahrajte XML a povieme vám, čo je s ním zle — po slovensky, s odkazom na konkrétne pravidlo. Bez registrácie, bez limitu na počet dokladov a bez toho, aby sme si súbor nechali.

Skontrolovať e-faktúru

Nahrajte súbor XML vo formáte UBL 2.1 a skontrolujeme ho podľa normy EN 16931, slovenského profilu PEPPOL BIS Billing 3.0 aj podľa §74 zákona o DPH — teda presne tak, ako by ho skontroloval prijímajúci prístupový bod.

Súbor sa nikde neukladá. Spracuje sa v pamäti, výsledok dostanete späť a dokument zahodíme. Neukladáme ho do databázy ani do logov.

01

Čo výsledok znamená

Chyby a upozornenia nie sú to isté a nemajú rovnaký dopad.

Chyba znamená, že doklad porušuje pravidlo, na ktorom sieť trvá. Prijímajúci prístupový bod ho odmietne a k odberateľovi sa nedostane. Musíte ju opraviť.

Upozornenie znamená, že doklad prejde, ale niečo v ňom nie je ideálne — chýbajúci variabilný symbol, neuvedená referencia odberateľa a podobne. Doklad sa doručí, ale odberateľovi môže sťažiť spárovanie.

Ak doklad prejde bez chyby aj bez upozornenia, znamená to jediné: formálne je v poriadku. Či je vecne správny — či sedí cena, množstvo a či dodávka naozaj prebehla — validátor posúdiť nevie a ani sa o to nepokúša.

02

Najčastejšie dôvody, prečo doklad neprejde

Z toho, čo vidíme na reálnej premávke cez náš prístupový bod.

  • Chýba referencia kupujúceho alebo číslo objednávky (PEPPOL-EN16931-R003)
  • Chýba elektronická adresa odberateľa alebo dodávateľa (BT-49, BT-34)
  • Súčty nesedia o cent, lebo sa zaokrúhľuje až celkový súčet
  • DIČ je zadané v poli pre IČ DPH — sú to dva rôzne údaje
  • Neplatiteľ DPH uvádza IČ DPH pri kategórii „nepodlieha DPH“
  • Zľava je vyjadrená zápornou jednotkovou cenou namiesto poľa pre zľavu
03

Prehľad 44 pravidiel po slovensky

Čo ktoré pravidlo vyžaduje a prečo v praxi býva porušené. Hlášky sú tie isté, aké dostanete z validátora.

Povinné hlavičkové polia

Chýbajúce pole v hlavičke je najčastejší dôvod zamietnutia. Doklad neprejde už na prvej kontrole a k odberateľovi sa vôbec nedostane.

PravidloČo vyžadujePrečo býva porušené
BR-01Faktúra musí obsahovať identifikátor špecifikácie (BT-24 CustomizationID).Systém, ktorý XML vygeneroval, nevie o PEPPOL profile. Býva to pri vlastných exportoch postavených na holom UBL.
BR-02Faktúra musí obsahovať číslo faktúry (BT-1).Číslo sa nepreniesol z číselného radu, alebo je prázdny reťazec namiesto chýbajúceho elementu.
BR-03Faktúra musí obsahovať dátum vyhotovenia (BT-2).Dátum je vo formáte, ktorý nezodpovedá ISO 8601 (musí byť RRRR-MM-DD), takže sa element neprečíta.
BR-04Faktúra musí obsahovať kód typu faktúry (BT-3).Chýba InvoiceTypeCode — pre bežnú faktúru 380, pre dobropis 381.
BR-05Faktúra musí obsahovať kód meny (BT-5).Mena sa neuvádza pri každej sume zvlášť, ale raz v hlavičke ako DocumentCurrencyCode.
BR-06Faktúra musí obsahovať názov dodávateľa (BT-27).Názov je vyplnený len v RegistrationName, chýba v PartyName.
BR-07Faktúra musí obsahovať názov odberateľa (BT-44).To isté na strane odberateľa — typické pri odberateľoch zadaných len IČOM.
BR-08Faktúra musí obsahovať poštovú adresu dodávateľa (BG-5).Adresa je uložená ako jeden reťazec namiesto štruktúrovaných polí.
BR-09Adresa dodávateľa musí obsahovať kód krajiny (BT-40).Krajina chýba, lebo systém predpokladá Slovensko. V PEPPOL sa nič nepredpokladá — musí tam byť SK.
BR-10Faktúra musí obsahovať poštovú adresu odberateľa (BG-8).Rovnaká príčina ako pri dodávateľovi.
BR-11Adresa odberateľa musí obsahovať kód krajiny (BT-55).Rovnaká príčina ako pri dodávateľovi.
BR-16Faktúra musí obsahovať aspoň jeden riadok (BG-25).Doklad má len celkovú sumu bez rozpisu. Elektronická faktúra bez položiek neexistuje.

Riadky faktúry

Pravidlá pre jednotlivé položky. Chyba sa hlási pri každom chybnom riadku zvlášť, takže jedna zle vygenerovaná položka vie vyrobiť desiatky hlášok.

PravidloČo vyžadujePrečo býva porušené
BR-21Každý riadok faktúry musí mať identifikátor (BT-126).Riadky sa nečíslujú. Stačí poradové číslo 1, 2, 3 — nemusí byť nijako významové.
BR-22Každý riadok faktúry musí mať fakturované množstvo (BT-129).Pri službách sa množstvo často vynecháva. Aj tam musí byť, typicky 1.
BR-23Každý riadok faktúry musí mať mernú jednotku množstva (BT-130).Chýba atribút unitCode. Kód musí byť z číselníka UN/ECE Rec 20 — kus je H87, hodina HUR, kus služby C62.
BR-24Každý riadok faktúry musí mať čistú sumu riadku (BT-131).Suma sa počíta až v súčte, v riadku chýba LineExtensionAmount.
BR-25Každý riadok faktúry musí mať názov položky (BT-153).Položka má len kód alebo katalógové číslo, chýba čitateľný názov.
BR-26Každý riadok faktúry musí obsahovať jednotkovú cenu položky (BT-146).Uvádza sa len celková suma riadku bez jednotkovej ceny.
BR-27Jednotková cena položky (BT-146) nesmie byť záporná.Zľava sa rieši zápornou cenou. Správne je kladná cena a AllowanceCharge, prípadne dobropis.
BR-28Hrubá jednotková cena položky (BT-148) nesmie byť záporná.Rovnaká príčina ako pri BR-27.
BR-30Koniec obdobia riadku (BT-135) nesmie byť skôr ako jeho začiatok (BT-134).Prehodené dátumy pri opakovaných službách, alebo koniec obdobia zadaný ako deň pred začiatkom.

Výpočtové pravidlá a súčty

Najzákernejšia skupina: doklad vyzerá správne, ale zaokrúhlenie na medzisúčtoch nesedí o cent. Validátor je nekompromisný, odberateľov systém tiež.

PravidloČo vyžadujePrečo býva porušené
BR-CO-10Súčet čistých súm riadkov (BT-106) sa musí rovnať súčtu súm všetkých riadkov (BT-131).Zaokrúhľuje sa až celkový súčet namiesto každého riadku zvlášť. Rozdiel býva jeden cent.
BR-CO-13Suma bez DPH (BT-109) = súčet riadkov (BT-106) − zľavy (BT-107) + prirážky (BT-108).Zľava je odpočítaná v riadkoch aj v hlavičke, teda dvakrát.
BR-CO-14Celková suma DPH (BT-110) sa musí rovnať súčtu súm DPH všetkých členení (BT-117).DPH sa počíta z celkovej sumy namiesto z jednotlivých členení podľa sadzieb.
BR-CO-15Suma s DPH (BT-112) = suma bez DPH (BT-109) + celková DPH (BT-110).Do sumy s DPH je už započítaná záloha alebo zaokrúhlenie — tie patria až do BT-113 a BT-114.
BR-CO-16Suma na úhradu (BT-115) = suma s DPH (BT-112) − zaplatené (BT-113) + zaokrúhlenie (BT-114).Odpočet zálohovej faktúry sa urobil v riadkoch namiesto do poľa PrepaidAmount.
BR-CO-17Suma DPH členenia (BT-117) = základ dane (BT-116) × sadzba (BT-119), zaokrúhlené na 2 desatinné miesta.Použilo sa iné pravidlo zaokrúhľovania než half-up na dve miesta.
BR-CO-18Faktúra musí obsahovať aspoň jedno členenie DPH (BG-23).Chýba blok TaxSubtotal — býva pri neplatcoch DPH, ktorí ho považujú za nepotrebný. Potrebný je, len s kategóriou O alebo E.
PEPPOL-EN16931-R120Čistá suma riadku (BT-131) musí zodpovedať: množstvo × (cena ÷ základné množstvo) + prirážky riadku − zľavy riadku.Nastavené BaseQuantity iné než 1 (napríklad cena za 100 kusov), ale suma sa počíta, akoby bolo 1.
PEPPOL-EN16931-R121Základné množstvo ceny (BT-149) musí byť kladné číslo.BaseQuantity je 0 alebo záporné — typicky nevyplnené pole, ktoré sa serializovalo ako nula.

DPH a identifikátory

Pravidlá, ktoré na Slovensku trápia najmä neplatiteľov DPH a firmy registrované podľa §7 alebo §7a.

PravidloČo vyžadujePrečo býva porušené
BR-CO-9IČ DPH (BT-31/BT-48/BT-63) musí začínať kódom krajiny, napr. „SK“.Do poľa sa dalo DIČ namiesto IČ DPH. Sú to dva rôzne údaje: DIČ patrí do BT-32, IČ DPH do BT-31.
BR-CO-26Dodávateľ musí mať aspoň jeden identifikátor: BT-29, IČO (BT-30) alebo IČ DPH (BT-31).Neplatiteľ DPH nevyplnil IČO, lebo IČ DPH nemá. Aspoň jeden identifikátor tam musí byť vždy.
BR-O-01Faktúra s riadkom „Nepodlieha DPH“ (kat. O) musí obsahovať presne jedno členenie DPH s kódom O.Kategória O sa mieša s kategóriou E alebo Z v jednom doklade. Kategóriu O nemožno kombinovať.
BR-O-02Faktúra s riadkom „Nepodlieha DPH“ (kat. O) nesmie obsahovať IČ DPH dodávateľa, daňového zástupcu ani odberateľa.Firma registrovaná podľa §7 alebo §7a má IČ DPH, ale platiteľom nie je. Ak fakturuje v kategórii O, IČ DPH v doklade byť nesmie.
BR-45Každé členenie DPH musí obsahovať základ dane (BT-116).Uvádza sa len suma DPH bez základu, z ktorého vznikla.
BR-48Každé členenie DPH musí obsahovať sadzbu DPH (BT-119), okrem kategórie „Nepodlieha DPH“.Pri oslobodených plneniach sa sadzba vynecháva. Musí tam byť nula, nie prázdno.

Pravidlá siete PEPPOL

Tieto nad rámec normy EN 16931 pridáva samotná sieť. Doklad môže byť podľa normy v poriadku a cez PEPPOL aj tak neprejde.

PravidloČo vyžadujePrečo býva porušené
PEPPOL-EN16931-R001Faktúra musí obsahovať identifikátor procesu (BT-23 ProfileID).ProfileID sa zamieňa s CustomizationID. Sú to dve rôzne polia a obe sú povinné.
PEPPOL-EN16931-R003Musí byť uvedená referencia kupujúceho (BT-10) alebo číslo objednávky (BT-13).Najčastejšia PEPPOL chyba vôbec. Odberateľ často vyžaduje konkrétnu referenciu, inak faktúru nespáruje s objednávkou.
PEPPOL-EN16931-R004Identifikátor špecifikácie (BT-24 CustomizationID) musí zodpovedať Peppol BIS profilu.Použil sa holý EN 16931 identifikátor bez PEPPOL rozšírenia.
PEPPOL-EN16931-R010Musí byť uvedená elektronická adresa odberateľa (BT-49 EndpointID).Chýba adresa, na ktorú sa doklad doručí. Na Slovensku má tvar 0245:{DIČ}.
PEPPOL-EN16931-R020Musí byť uvedená elektronická adresa dodávateľa (BT-34 EndpointID).Rovnaká príčina na strane odosielateľa — bez nej odberateľ nevie, komu odpovedať.
BR-49Platobná inštrukcia (BG-16) musí obsahovať kód spôsobu platby (BT-81).Chýba PaymentMeansCode. Pre prevod je to 30 alebo 58 (SEPA).
BR-50Pri platbe prevodom musí byť uvedený identifikátor platobného účtu — IBAN (BT-84).IBAN je len v texte platobných podmienok namiesto štruktúrovaného poľa PayeeFinancialAccount.
BR-CO-25Ak je suma na úhradu kladná, musí byť uvedený dátum splatnosti (BT-9) alebo platobné podmienky (BT-20).Splatnosť je vyjadrená len slovne („14 dní“) v poznámke, ktorú validátor nečíta.
04

Kontrola priamo z vášho systému

Ak validujete pravidelne, nemusíte nič nahrávať ručne.

Rovnakú kontrolu máme ako verejné REST API bez registrácie — pošlete UBL XML a dostanete späť zoznam chýb a upozornení. Vhodné do CI, do exportu z ERP alebo ako kontrolu pred odoslaním. Podrobnosti nájdete na stránke o API integrácii.

Ak doklady aj odosielate, validácia beží automaticky pred každým odoslaním cez náš prístupový bod — chybu tak nájdete vy a nie odberateľ.

Časté otázky

Ukladáte si nahraté faktúry?

Nie. Dokument sa spracuje v pamäti, vrátime výsledok a zahodíme ho. Neukladáme ho do databázy ani do logov a neposielame nikam ďalej.

Podľa čoho sa doklad kontroluje?

Podľa európskej normy EN 16931, podľa slovenského profilu PEPPOL BIS Billing 3.0 a podľa §74 zákona o DPH. Je to tá istá kontrola, akou prechádzajú doklady odosielané cez náš prístupový bod.

Aký formát mám nahrať?

XML vo formáte UBL 2.1 s koreňovým elementom Invoice alebo CreditNote, najviac 5 MB. PDF ani sken skontrolovať nevieme — elektronická faktúra je štruktúrovaný súbor, nie obrázok dokladu.

Doklad prešiel. Znamená to, že ho odberateľ prijme?

Znamená to, že ho neodmietne z formálnych dôvodov. O vecnej správnosti — či sedí cena, či dodávka prebehla — kontrola nehovorí nič. Odberateľ môže doklad stále zamietnuť obchodne.

Musím byť váš zákazník?

Nie. Nástroj je verejný a bez registrácie. Ak by ste chceli faktúry aj odosielať, sme akreditovaný poskytovateľ doručovacej služby — príjem máme zadarmo vo všetkých plánoch.

Prečo mi validátor hlási chybu, ktorú iný program nehlási?

Účtovné programy často kontrolujú len vlastnú logiku, nie pravidlá siete PEPPOL. Doklad môže byť podľa normy EN 16931 v poriadku a cez PEPPOL aj tak neprejde — sieť pridáva vlastné pravidlá navyše.

Dá sa validácia zavolať z môjho systému?

Áno, máme na to verejné REST API bez registrácie. Dokumentáciu nájdete na stránke o API integrácii.

Pripravte sa na rok 2027 už teraz

Príjem PEPPOL faktúr máte zadarmo v každom pláne. Účet si založíte na IČO za pár minút — bez karty a bez skúšobnej doby.