Vygenerujete kontrolní hlášení, nahrajete XML do EPO na portálu MOJE daně, spustíte kontrolu — a protokol chyb vysype několik řádků s vykřičníky. První instinkt je jasný: něco je špatně a podat to nemůžu. Jenže právě u kontrolního hlášení to tak často není. Část hlášek v protokolu je totiž zcela očekávaná a formulář s nimi klidně (a správně) podáte. V tomto článku si ukážeme, jak protokol číst — a co přesně znamenají tři kódy, na které OSVČ narážejí nejčastěji: 58, 60 a 69.
Propustné vs. fatální chyby: zásadní rozdíl
Protokol kontroly v EPO rozlišuje dva druhy nálezů:
- Propustné chyby — upozornění. EPO vás informuje, že nějaká kolonka není vyplněná nebo že mu hodnota „nesedí do vzorce“, ale podání nebrání. Formulář odešlete a finanční správa ho normálně přijme a zpracuje.
- Fatální chyby — stopka. Struktura souboru nebo klíčový údaj je chybný (například DIČ ve špatném formátu nebo chybějící povinná položka) a EPO podání nepustí, dokud chybu neopravíte.
Zní to jednoduše, ale v praxi je to zdroj zbytečného stresu: protokol obojí zobrazuje ve stejné tabulce a slovo „chyba“ svítí i tam, kde jde jen o informativní poznámku. Klíčové je proto podívat se, do kterého sloupce protokol nález řadí — a u propustných chyb pochopit, proč se objevily.
Kódy 58 a 60: dodavatel ze třetí země do kolonek prostě nepatří
Typická situace moderní OSVČ: platíte americký software — hosting, AI nástroje, cloudové služby. Jde o přijetí služby od osoby neusazené v tuzemsku, u kterého daň přiznáváte vy jako příjemce (reverse charge podle § 108 zákona o DPH). Takové plnění se vykazuje v oddílu A.2 kontrolního hlášení.
A teď to zajímavé: oddíl A.2 má kolonky „Kód státu“ a „Identifikace dodavatele (VAT ID)“. Jenže americký dodavatel žádné EU VAT ID nemá — a číselník kódů státu v A.2 obsahuje pouze členské státy EU, Velkou Británii (GB) a Severní Irsko (XI). Kód „US“ v něm vůbec neexistuje; kdybyste ho zkusili vyplnit, EPO by ho odmítlo jako chybný kód státu.
Pokyny GFŘ k vyplnění kontrolního hlášení jsou v tomhle jednoznačné:
V případě, že dodavatel nemá VAT ID, tj. EU DIČ DPH (může se jednat např. o identifikaci zahraniční osoby povinné k dani), pole „Identifikace dodavatele“ zůstává prázdné.
Prázdné kolonky ale EPO neumí odlišit od zapomenutých — a tak při kontrole vypíše propustnou chybu 58 („Kód státu dodavatele by měl být vyplněn“) a 60 („Identifikace dodavatele (VAT ID) by měla být vyplněna“). Finanční správa k tomu sama uvádí, že tyto hlášky pouze informují o nevyplněných položkách a podání kontrolního hlášení nebrání.
Kód 69: daň neodpovídá sazbě — obvykle jen zaokrouhlení
Druhý častý nález zní hrozivěji: „Zadaná hodnota daně překročila přípustnou toleranci sazby daně.“ EPO si u každého řádku přepočítá, jestli vykázaná daň odpovídá sazbě (21 %, resp. 12 %) z vykázaného základu. Když se výsledek liší víc, než povoluje tolerance, ohlásí propustnou chybu 69 a rovnou vám ukáže, jakou daň by čekalo.
Odkud se rozdíl bere? Skoro vždy ze zaokrouhlování. Pokyny ke kontrolnímu hlášení připouštějí dvě varianty: uvádět hodnoty „v detailu (včetně haléřové položky)“, nebo zaokrouhleně na celé koruny. Zaokrouhlení na koruny je tedy legální — ale u malých částek snadno narazí na toleranci. Příklad: základ 97 Kč a daň 20 Kč vypadá nevinně, jenže 21 % z 97 Kč je 20,37 Kč a odchylka je najednou 1,8 % — víc, než EPO toleruje. U velkého základu by stejná koruna rozdílu prošla bez povšimnutí.
Řešení je jednoduché: vykazovat základ i daň v haléřích přesně podle dokladu. Daň pak sedí na setinu a kód 69 z protokolu zmizí. Přesně tak generuje kontrolní hlášení i Taxorio — samovyměřenou daň u reverse charge počítá z haléřového základu, takže přepočet v EPO vyjde beze zbytku.
Kdy naopak zbystřit: fatální chyby a nesedící součty
Propustná chyba není bianco šek na ignorování celého protokolu. Zpozornět byste měli, když:
- protokol označí chybu jako fatální — typicky chybný formát DIČ protistrany, chybějící kód finančního úřadu nebo poškozená struktura XML. Bez opravy nepodáte;
- nesedí kontrolní součty proti přiznání k DPH — kontrolní hlášení a přiznání se křížově porovnávají, výraznější rozdíl znamená, že v jednom z formulářů něco chybí;
- vidíte chybu u dokladu, který poznáváte a víte, že je tuzemský — třeba českému dodavateli chybí DIČ. To není kosmetika, ale díra v evidenci, kvůli které doklad spadl do špatného oddílu.
Zlaté pravidlo: u každé hlášky si položte otázku „vím, proč tam je?“. U dodavatele z USA odpověď znáte (nemá EU VAT ID). U tuzemské faktury bez DIČ ne — a tam patří vaše pozornost.
Rychlý checklist před odesláním
- Fatální chyby: nula. Cokoli fatálního opravte u zdroje (v evidenci, ne ručně v XML).
- Chyby 58/60 u dokladů ze třetích zemí: v pořádku, nechte být.
- Chyba 69: zkontrolujte, že základ i daň jsou z dokladu v haléřích. Pokud generujete z aplikace, která počítá haléřově, neměla by se objevit vůbec.
- Kontrolní součty vůči přiznání k DPH: sedí.
Kontrolní hlášení nemusí být každý kvartál malé drama. Když víte, které hlášky jsou jen informativní šum a které skutečný problém, zvládnete kontrolu protokolu za minutu — a zbytek času věnujete podnikání.