Chyby při podání JMHZ: chybové kódy a jak je odstranit

Odmítnuté podání jednotného měsíčního hlášení se řeší jinak podle toho, ve které vrstvě spadlo. Praktický návod pro mzdové účetní: jak číst chybovou hlášku z validace XML, co znamenají číselné kódy a kontroly z katalogu ČSSZ a jak vadu odstranit tak, aby se příští měsíc nevrátila.

17 min čtení

Když jednotné měsíční hlášení neprojde validací, udělejte tři věci v tomto pořadí: zjistěte, jestli jde o chybu struktury XML, nebo o obsahovou kontrolu; najděte v hlášce název elementu nebo číslo datové položky; a opravte data ve mzdovém systému, ne v souboru. Tenhle postup vypadá samozřejmě, ale většina ztraceného času vzniká jeho obcházením — ruční opravou XML, opakovaným odesíláním naslepo, nebo hledáním významu čísla v závorce dřív, než si člověk přečte samotný text hlášky. Text hlášky přitom skoro vždy obsahuje víc informace než kód. Tento článek řeší výhradně chyby při podání. Pokud teprve zjišťujete, co se hlásí, komu a v jakých termínech, začněte u průvodce jednotné měsíční hlášení a sem se vraťte, až vám podání spadne.

Upozornění: následující text je obecný výklad určený mzdovým účetním, ne závazné stanovisko. Katalog kontrol i XML schéma se mezi verzemi mění. Konkrétní případ si vždy ověřte u ČSSZ nebo u dodavatele svého mzdového softwaru.

Proč JMHZ neprošlo validací a kde chyba vzniká

Podání JMHZ prochází dvěma oddělenými vrstvami kontrol a od toho, ve které z nich spadlo, se odvíjí celé řešení. První vrstva je formální validace proti XML schématu ČSSZ. Ta se ptá jen na jedno: má soubor předepsanou strukturu? Chybí povinný element, je hodnota v poli špatného datového typu, je text kratší nebo delší, než schéma dovoluje? Tahle vrstva vůbec neřeší, jestli jsou čísla správně — spočítanou nesmyslnou mzdu propustí, pokud sedí struktura. Druhá vrstva jsou obsahové kontroly z katalogu ČSSZ, které se spustí až na strukturně platném souboru a ověřují vnitřní logiku dat: jestli součty odpovídají složkám, jestli rodné číslo prochází kontrolním výpočtem, jestli je počet hodin v přípustném rozsahu. Strukturní chyba se hledá v souboru, obsahová ve mzdové evidenci.

Třetí, často přehlížené místo vzniku chyb není v datech vůbec — je v tom, jak se soubor na ePortál dostane. ČSSZ v upozornění z 2. dubna 2026 uvádí, že XML pro JMHZ a REGZEC lze nahrát pouze službou „Podání nahráním dat z účetního systému“, a že tlačítko „Načíst tiskopis ze souboru“ v sekci Tiskopisy pro tato podání použít nelze. Zároveň upozorňuje, že nahrané údaje už v ePortálu nijak neupravíte — jakákoli oprava znamená vygenerovat soubor znovu. Stejný materiál řadí mezi hlavní problémy nesprávně nastavená oprávnění k ePortálu, která si uživatelé pletou s oprávněním k datové schránce.

Jak číst chybovou hlášku JMHZ

Chybová hláška z validace XML má vždy stejnou stavbu a čtou se v ní čtyři věci: název elementu, povaha problému, co se očekávalo, a číslo chyby v závorce. Typický zápis, se kterým se mzdové účetní setkávají a který se v této doslovné podobě objevuje i ve vyhledávání, vypadá takto:

Váš formulář neprošel validací proti XML schématu.
Detail chyby: The element 'mzdaRozpad' in namespace
'http://schemas.cssz.cz/jmhz/form/1.0' has incomplete content.
List of possible elements expected: 'Tarif' in namespace
'http://schemas.cssz.cz/jmhz/form/1.0'. (20062)

Přeloženo: v elementu rozpadu mzdy chybí povinný podřízený element s tarifem. Řetězec http://schemas.cssz.cz/jmhz/form/1.0 je jmenný prostor — technická adresa schématu, proti kterému se soubor validuje. Nejde o odkaz, který byste měli otevírat, a rozhodně nejde o zdroj chyby; je v každé hlášce a nese nulovou diagnostickou informaci. Ignorujte ho a čtěte to, co je mezi ním: 'mzdaRozpad' říká kde, has incomplete content říká co, expected: 'Tarif' říká, co tam mělo být. Podobně se objevují formulace o porušení omezení minLength nebo length u konkrétního pole — ty znamenají, že hodnota je kratší, delší nebo úplně chybí.

Co v hlášce naopak nenajdete, je jméno zaměstnance. Schéma pracuje s pořadím elementů, ne s lidmi. Který zaměstnanec vadu způsobil, zjistíte jen z pozice v souboru — a proto je surové XML pro hledání chyby tak nepohodlné. Otevřít si soubor v prohlížeči, který ho vykreslí jako formulář se jmény a částkami, ušetří u většího hlášení desítky minut. Právě k tomu slouží bezplatný prohlížeč XML na jmhz.lyxa.cz.

Co znamená chybový kód JMHZ

V provozu narazíte na tři různé číselné soustavy a je zásadní je nezaměňovat. Kódy v řadě 20xxx pocházejí z validace proti XML schématu — v praxi se objevují například 20059, 20062 nebo 20334. Kódy vady v řadě 40xxx se vyskytují v protokolu o zpracování, tedy až po přijetí souboru; do vyhledávání je účetní kopírují ve tvaru „jmhz kód vady 40226″. A konečně kontroly katalogu ČSSZ mají předponu K a číslo, například K3 nebo K129.

Soustava Kde se objeví Co znamená Kde se opravuje
20xxx Validace při nahrání souboru Struktura XML neodpovídá schématu Ve zdroji dat, pak nový export
40xxx (kód vady) Protokol o zpracování Vada zjištěná při zpracování podání Podle popisu vady v dokumentaci ČSSZ
K + číslo Obsahové kontroly katalogu Porušení logické podmínky nad datovými položkami V mzdové evidenci

Význam konkrétního kódu si nikdy neodvozujte z čísla. Čísla nejsou uspořádaná tematicky a podobné kódy spolu nesouvisejí. Pokud u kódu, který vám vypadl, neznáte popis, dohledejte jej v dokumentaci ČSSZ nebo v katalogu kontrol — je to rychlejší než zkoušet opakovaná podání a nesrovnatelně bezpečnější než odhad. Chybný výklad kódu vede k tomu, že opravíte správné pole špatným směrem.

Nepropustné a propustné kontroly — co znamenají pro podání

Nepropustná kontrola podání zastaví, propustná jen upozorní a podání projde. Rozdíl je v praxi zásadní, protože určuje, jestli musíte reagovat teď hned, nebo si můžete nález poznamenat a vyřešit ho v klidu po termínu. Katalog kontrol ČSSZ ve specifikaci verze 1.4.2, aktualizované k 13. dubnu 2026, obsahuje 206 kontrol, z nichž 181 je nepropustných (zdroj: katalog kontrol ČSSZ v prohledávatelné podobě na jmhz.lyxa.cz/kontroly, ověřeno 26. 7. 2026). Poměr je výmluvný: naprostá většina nálezů znamená, že hlášení neprojde. Část kontrol je navíc označena jako vyhodnocovaná pouze na serveru ČSSZ, takže je vlastní software před odesláním nezachytí.

Každá kontrola je zapsaná jako podmínka nad číslovanými datovými položkami. To je pro čtení nezvyklé, ale nesmírně praktické — číslo položky vám přesně řekne, které pole máte ve mzdovém systému hledat. Několik příkladů ze zmíněného katalogu:

Kód Typ Podmínka
K1 propustná Soulad počtu zaměstnanců se slevou mezi položkami 10030 a 10372
K3 nepropustná Sleva na pojistném (10032) zaokrouhlená nahoru = 5 % úhrnu vyměřovacích základů (10031)
K4 nepropustná (10033) = (10029 − 10032 − 10487 − 10545)
K88 nepropustná Datum vyplnění podání nesmí být vyšší než aktuální datum
K129 nepropustná Číslo měsíce musí být v rozsahu 1–12 včetně

Zdroj: katalog kontrol ČSSZ v1.4.2, ověřeno 26. 7. 2026. Znění kontrol se mezi verzemi mění — u konkrétní chyby si ověřte verzi platnou v době vašeho podání.

Nejčastější chyby při podání JMHZ a kde vznikají

Většina chyb nevzniká ve mzdovém výpočtu, ale v číselnících a v evidenci osobních údajů — tedy tam, kam se rok nikdo nedíval. Do JMHZ se poprvé promítají údaje, které dřív žádné podání nevyžadovalo, a nevyplněná políčka v personalistice se najednou stávají blokující vadou. ČSSZ v upozornění z 2. dubna 2026 řadí mezi nejčastější chyby v registračních podáních nevyplnění povinných položek, vyplnění položek zakázaných, nesprávné číselníkové hodnoty a chybnou kombinaci OIČ a ID zaměstnání.

Projev Typická příčina Kde opravit
Porušení omezení minLength u rodného čísla (kód 1140) Chybí rodné číslo u zaměstnance nebo vyživované osoby Personalistika — doplnit u všech osob
Element obec nebo kodObce se nepodařilo analyzovat V číselníku umístění není vyplněn název nebo kód obce Číselník umístění — doplnit u všech lokalit
Nesprávný kód ELDP Kód neodpovídá typu pracovního poměru nebo dohody Mzdová karta podle tabulky kódů ELDP
Nesedící součty pojistného Ruční zásah do dílčí složky bez přepočtu součtu Mzdový systém, nikoli XML
Datum podání v budoucnosti (K88) Špatné systémové datum na stanici, která soubor generovala Nastavení stanice

Zdroj prvních tří řádků: přehled možných chyb při podání JMHZ, Ježek software, 18. 5. 2026, ověřeno 26. 7. 2026. Kód 1140 uvádíme tak, jak jej hlásí popsaný software; označení kódů se mezi programy může lišit.

Dobré je také vědět, které datové položky bývají prázdné nejčastěji, protože jde o údaje, které mzdová účtárna dřív nikam nehlásila: kód státu rezidentství (10068), celkový počet neodpracovaných hodin (10275), čistý příjem (10344) a srážky ze mzdy (10349). Než pošlete první hlášení za nové období, projděte právě tyhle čtyři.

Jak chybu odstranit krok za krokem

Opravujte odshora dolů: nejdřív určete vrstvu, pak konkrétní pole, teprve potom zasahujte — a vždy ve zdroji dat. Nejdražší chyba při řešení odmítnutého podání je oprava přímo v XML. Soubor sice projde, ale vada zůstane ve mzdovém systému a příští měsíc se vrátí i s celým kolečkem hledání.

  1. Zařaďte hlášku. Obsahuje-li text „neprošel validací proti XML schématu“ a název elementu, jde o strukturní chybu. Obsahuje-li kód s předponou K a číslo datové položky, jde o obsahovou kontrolu. Kód vady v protokolu znamená, že soubor už byl přijat a řeší se jinou cestou.
  2. Otevřete si soubor čitelně. V prohlížeči, který XML vykreslí jako formulář se zaměstnanci, se ke konkrétnímu místu dostanete během chvíle. V surovém XML hledáte řádově déle a snadno přehlédnete kontext.
  3. Dohledejte zdroj hodnoty. U obsahové kontroly vám číslo datové položky řekne pole; zjistěte, odkud se do hlášení dostalo — z docházky, z mzdové karty, z číselníku.
  4. Opravte ve zdroji a vygenerujte soubor znovu. Ruční úprava XML má smysl jen jako nouzové řešení při hrozící lhůtě, a i tehdy si opravu poznamenejte a doplňte ji do systému.
  5. Zkontrolujte před odesláním, ne po něm. Každý odmítnutý pokus znamená další čekání na protokol. Kontrola na vlastní straně je řádově levnější.

Blíží-li se lhůta rychleji, než jste schopni chybu odstranit, nepodat nic není řešení. Podejte to, co je platné, a vadné části řešte opravou — sankce se odvozuje od nesplněné povinnosti, ne od počtu opravných podání. Konkrétní postup opravy pro svou situaci si ale ověřte u ČSSZ, protože se liší podle toho, které části podání se vada týká.

Kam se obrátit, když si s chybou nevíte rady

Pořadí je jednoduché: dodavatel mzdového softwaru, pak ČSSZ, a teprve pak diskuzní fóra. Dodavatel zná vlastní číselníky, ví, kde se která položka do exportu plní, a u opakujících se hlášek už chybu nejspíš viděl u jiných zákazníků; tam bývá řešení nejrychlejší. ČSSZ je správným adresátem tam, kde jde o výklad povinnosti, o oprávnění k ePortálu nebo o vadu zjištěnou až při zpracování — tedy o věci, které dodavatel softwaru rozhodnout nemůže. Diskuzní skupiny mzdových účetních jsou užitečné pro rozpoznání, jestli je chyba vaše, nebo plošná, ale jako zdroj závazného výkladu neobstojí.

Pro rychlé zorientování v tom, co konkrétní kontrola vlastně požaduje, jsme dali k dispozici tři bezplatné nástroje: prohlížeč XML, který soubor zobrazí jako čitelný formulář, katalog kontrol s prohledávatelným zněním všech 206 podmínek, a AI asistenta Lyxee, kterému se dá na chybovou hlášku prostě zeptat. Slouží k orientaci a k zúžení hledání, ne k nahrazení stanoviska ČSSZ.

Jak chybám v JMHZ předcházet v účetní kanceláři

Nejúčinnější prevence není lepší kontrola před odesláním, ale čistá vstupní data — a ta se dají uklidit jednou, ne každý dvacátý den v měsíci. Projděte personalistiku na povinné údaje, které dřív nikam nešly: rodná čísla u všech osob včetně vyživovaných, kód státu rezidentství, kompletní číselník umístění s kódy obcí, kódy ELDP proti typu vztahu. U externí mzdové kanceláře, která zpracovává desítky klientů, se tahle jednorázová revize vrátí během první sezóny — právě proto, že se opakující se vada jinak vrací každý měsíc u každého klienta zvlášť.

Druhý pilíř prevence je kalendář. Okno pro řádné podání je od 1. do 20. dne následujícího měsíce a obě hranice jsou tvrdé, takže veškerý manévrovací prostor na opravu leží uvnitř těch dvaceti dnů. Kdo generuje soubor pátého, má patnáct dní na dvě tři kolečka oprav. Kdo devatenáctého, nemá nic. Pomůže i běžná provozní hygiena účtárny — automatické notifikace na blížící se termín a automatická extrakce dat z dokladů, která odstraní ruční přepis jako zdroj překlepů. Stejná logika platí i pro ostatní data, která do systémů opisujete ručně — ať už jde o účetní doklad, nebo o daňový doklad: čím méně hodnot člověk přepisuje, tím méně jich může zadat špatně. Širší souvislosti najdete v přehledu, jak funguje automatizace účetnictví.

Ověřeno 26. 7. 2026. Zdroje: ČSSZ, Aktuální chyby v podáních JMHZ (2. 4. 2026); katalog kontrol ČSSZ v1.4.2 aktualizovaný k 13. 4. 2026; Ježek software, Možné chyby při podání JMHZ a postup pro jejich odstranění (18. 5. 2026). Text je obecným výkladem, ne právním ani metodickým stanoviskem.

FAQ

Časté otázky

Podání prochází dvěma vrstvami kontrol. Formální validace proti XML schématu ČSSZ ověřuje jen strukturu souboru — chybějící povinný element, špatný datový typ, hodnotu kratší nebo delší, než schéma dovoluje. Obsahové kontroly z katalogu ČSSZ se spustí až na strukturně platném souboru a ověřují logiku dat, tedy jestli sedí součty, jestli rodné číslo prochází kontrolním výpočtem a jestli jsou hodnoty v přípustném rozsahu. Strukturní chyba se hledá v souboru, obsahová ve mzdové evidenci.
Kódy v řadě 20xxx pocházejí z validace proti XML schématu, tedy z formální kontroly struktury souboru. Samotné číslo ale neříká, u kterého zaměstnance vada vznikla — to zjistíte jen z textu hlášky, který uvádí název elementu a co se v něm očekávalo. U kódu, jehož popis neznáte, si jej dohledejte v dokumentaci ČSSZ. Význam se nedá odvodit z čísla, protože kódy nejsou uspořádané tematicky.
Je to technická adresa XML schématu, proti kterému se soubor JMHZ validuje. Objevuje se v každé chybové hlášce z formální validace a nenese žádnou diagnostickou informaci — není to zdroj chyby ani odkaz, který byste měli otevírat. Užitečné části hlášky jsou název elementu, popis problému a informace o tom, co se v daném místě očekávalo.
Nepropustná kontrola podání zastaví, propustná jen upozorní a podání projde. Katalog kontrol ČSSZ ve specifikaci verze 1.4.2 aktualizované k 13. dubnu 2026 obsahuje 206 kontrol, z nichž 181 je nepropustných. Naprostá většina nálezů tedy znamená, že hlášení neprojde. Část kontrol je navíc vyhodnocována pouze na serveru ČSSZ, takže je vlastní software před odesláním nezachytí.
Ve zdroji dat, tedy ve mzdovém systému, v personalistice nebo v číselníku. Ruční oprava XML souboru sice zajistí, že podání projde, ale vada zůstane v evidenci a příští měsíc se vrátí. Úprava přímo v souboru má smysl jen jako nouzové řešení při hrozící lhůtě, a i tehdy je potřeba opravu poznamenat a doplnit ji do systému.
Nejdřív na dodavatele mzdového softwaru, který zná vlastní číselníky a ví, kde se která položka do exportu plní. ČSSZ je správným adresátem tam, kde jde o výklad povinnosti, o oprávnění k ePortálu nebo o vadu zjištěnou až při zpracování. Diskuzní skupiny mzdových účetních pomohou rozpoznat, jestli je chyba vaše, nebo plošná, ale jako zdroj závazného výkladu neobstojí.

Vyzkoušejte Lyxu zdarma

14 dní zdarma. Bez kreditky. Doklady necháte na Lyxe.

14 dní bez omezeníŽádná kreditkaZrušíte kdykoliv