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

Odmítnuté nebo částečně přijaté jednotné měsíční hlášení se řeší jinak podle toho, ve které vrstvě spadlo. Praktický návod pro mzdové účetní: co znamenají chybové kódy 20xxx a 40xxx včetně nejčastějších 40226 a 20062, jak číst chybovou hlášku z validace XML a jak vadu odstranit tak, aby se příští měsíc nevrátila.

35 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.

Pětimístné číslo v závorce není náhodné: je to číslo kontroly z oficiálního katalogu MPSV zvýšené o 20 000 nebo o 40 000. Kód 20xxx vrací systém ČSSZ hned při příjmu souboru, kód 40xxx přichází až v protokolu o kompletnosti. Nejhledanější chyba 40226 je tedy kontrola č. 226 – měsíční hlášení neobsahuje stejná zaměstnání jako registr zaměstnanců. Chyba 20062 je kontrola č. 62 – formulář zaměstnance neprošel validací proti XML schématu. Význam, propustnost a postup opravy u dalších kódů najdete v přehledu chybových kódů JMHZ níže.

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 tarifní mzdou (datová položka 10329). Ř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

Pětimístný kód chyby JMHZ vzniká z čísla kontroly v katalogu: kontroly systému ČSSZ mají kód „číslo kontroly + 20 000″, kontroly centrálního systému JMHZ „číslo kontroly + 40 000″. Pravidlo uvádí přímo záhlaví oficiálního katalogu kontrol MPSV. Kód 40226 je tedy kontrola č. 226, kód 20062 kontrola č. 62 a kód 20059 kontrola č. 59. První číslice zároveň říká, v jaké fázi chyba vznikla a ve kterém protokolu ji hledat. Kontroly řady 20xxx provádí DIS, tedy komponenta ČSSZ pro příjem a zpracování podání. Jejich výsledek přichází v protokolu z dílčího podání hned po nahrání souboru. Kontroly řady 40xxx běží až v centrálním systému JMHZ (cJMHZ) nad celým měsíčním hlášením, které porovnávají i s registrem zaměstnanců. Najdete je v protokolu o kompletnosti. V katalogu se kontroly vedou pod samotným číslem, v našem katalogu kontrol JMHZ s předponou K. Kód 40226 tam tedy hledejte jako K226.

Kód Kdo kontrolu provádí Kde se objeví Příklad
20xxx (kontrola + 20 000) DIS – příjem podání u ČSSZ Protokol z dílčího podání 20062 = kontrola č. 62
40xxx (kontrola + 40 000) cJMHZ – centrální systém JMHZ Protokol o kompletnosti 40226 = kontrola č. 226
K + číslo Označení kontroly v katalogu K226 = kód 40226

Z čísla kontroly se dá význam dohledat, ne odhadnout. Čísla kontrol nejsou řazená podle témat, takže sousední kódy spolu nemusí vůbec souviset. Pravidlo navíc platí jen tehdy, když kontrolu opravdu provádí systém, kterému odpovídá řada kódu. Pokud katalog kontrolu přiřazuje jinému systému, nebo číslo v katalogu nenajdete, význam neodvozujte a ověřte ho u dodavatele mzdového softwaru nebo u ČSSZ. Katalog se také mění mezi verzemi. Například kontrola č. 226 byla ve starších verzích vedená jako propustná. Podle Pravidel podání JMHZ ve verzi 1.4.4 z 20. července 2026 je nepropustná, i když podání nezamítá.

Přehled chybových kódů JMHZ

Níže jsou chybové kódy JMHZ, které mzdové účetní hledají nejčastěji, seřazené od nejhledanějšího. U každého kódu uvádíme znění podle katalogu kontrol MPSV, jestli kontrola podání zastaví, co ji typicky spouští a kterou položku opravit. Čísla v závorkách jsou ID datových položek z datového slovníku JMHZ a podle nich najdete příslušné pole ve mzdovém programu. Nepropustná kontrola vadnou část zamítne, propustná jen upozorní. Opravuje se vždy opravným hlášením s GUID řádného podání. Formulář, který byl zamítnut, se v něm posílá jako nový řádný formulář s novým GUID. Formulář, který prošel s propustnou vadou, se posílá jako opravný s původním GUID formuláře. Znění odpovídá katalogu kontrol MPSV ve stavu k 9. září 2026.

Chyba 40226 – počet zaměstnání v hlášení neodpovídá registru zaměstnanců

Kód 40226 znamená, že měsíční hlášení neobsahuje stejná zaměstnání, jaká eviduje registr zaměstnanců: některá chybí, nebo naopak přebývají. Jde o kontrolu č. 226 „Neodpovídá počet individualizovaných součástí měsíčního hlášení registru zaměstnanců“. Centrální systém pro každý variabilní symbol porovná počet řádných formulářů zaměstnanců s počtem pracovněprávních vztahů, které registr eviduje za dané období. V ukázkovém protokolu MPSV hláška pokračuje údajem „Počet PPV z hlášení: 1, počet PPV z RegZec: 0″, takže rozdíl vidíte přímo. Kontrola je nepropustná, ale jako jediná v katalogu podání nezamítá. Hlášení přejde do stavu částečně přijato a chybějící zaměstnání najdete v protokolu o kompletnosti jako „Chybějící formuláře“. Když hlášení nedoplníte do 20. dne, přijde formální výzva k podání opravného hlášení.

Typické příčiny: zaměstnanec je v registru přihlášený, ale v daném měsíci neměl příjem, a do hlášení se proto nedostal. Typicky jde o dohodu o provedení práce vyplácenou čtvrtletně. MPSV k tomu v odpovědích na dotazy uvádí, že registrovaného zaměstnance je nutné hlásit každý měsíc, i s nulovým příjmem. Druhou možností je zaměstnance odhlásit a znovu přihlásit, až bude zase pracovat. Opačný případ nastává, když hlášení obsahuje zaměstnání, které registr za dané období nezná. Registrace třeba ještě neproběhla, nebo pracovní vztah skončil a formulář v hlášení zůstal.

Jak opravit: chybějící zaměstnance doplňte opravným hlášením s GUID řádného podání, ve kterém je přiložíte jako řádné formuláře. Přebývající formulář systém zamítne. Katalog pak předepisuje poslat ještě jedno opravné hlášení jen s nezměněnou souhrnnou částí, po kterém se kontroly vyhodnotí znovu a hlášení se označí jako úplné. Pokud jste nahlásili měsíc, kdy pracovní vztah už netrval, Pravidla podání pro tuto situaci popisují takzvané nulové hlášení. Než cokoli odešlete, porovnejte zaměstnání ve mzdovém programu s tím, co máte přihlášené u ČSSZ. Rozdíl mezi nimi je přesně to, co kontrola hlásí.

Chyba 20062 – formulář neprošel validací proti XML schématu

Kód 20062 znamená, že formulář zaměstnance nemá strukturu předepsanou XML schématem. Konkrétní vadu popisuje text za slovy „Detail chyby“. Jde o kontrolu č. 62 „Formulářová kontrola XSD schématu“. Provádí ji přijímací systém ČSSZ hned při nahrání souboru a je nepropustná. Sesterská kontrola č. 61 (kód 20061) hlásí stejný typ vady pro celé podání. Samotné číslo 20062 tedy říká jen to, že formulář neodpovídá schématu. Co přesně je špatně, zjistíte až z detailu hlášky:

  • „has incomplete content … expected: ‚Tarif'“ – v elementu chybí povinný podřízený element. V příkladu výše jde o tarifní mzdu (10329) v rozpadu mzdy. Datový slovník ji vede jako povinnou a prázdnou hodnotu nepovoluje, takže zaměstnanec bez tarifní složky musí mít uvedenou nulu.
  • Porušení omezení minLength nebo length – hodnota je kratší nebo delší, než schéma dovoluje, nebo úplně chybí. Typicky jde o rodné číslo či kód.
  • Hodnotu elementu se nepodařilo analyzovat – pole obsahuje hodnotu jiného datového typu nebo je prázdné. Ježek software jako příklad uvádí nevyplněnou obec a kód obce v číselníku umístění.

Jak opravit: v detailu najděte název elementu, dohledejte k němu datovou položku a doplňte ji ve mzdovém programu. Potom soubor vygenerujte znovu. Hláška neuvádí jméno zaměstnance, proto pomůže otevřít soubor v prohlížeči XML JMHZ, který ukáže, u koho element chybí. Pokud stejná chyba padá u všech zaměstnanců najednou, řešte ji s dodavatelem mzdového programu, protože strukturu souboru vytváří jeho export.

Chyba 40007 – úhrn vyměřovacích základů nesouhlasí se součtem za zaměstnance

Kód 40007 znamená, že úhrn vyměřovacích základů v přehledu o výši pojistného (10023) se nerovná součtu vyměřovacích základů jednotlivých zaměstnanců, kteří nepracují v rizikovém zaměstnání ani jako zdravotničtí záchranáři nebo členové jednotky HZS podniku. Jde o kontrolu č. 7 a je propustná, takže podání projde. U činností K až S, pěstounů a pracovních vztahů specifické skupiny se součet počítá z položky 10477, u ostatních z položky 10478. V ukázkovém protokolu MPSV hláška obsahuje obě porovnávané částky (například „198333 / 33333″), takže rozdíl vidíte hned. Nesoulad vzniká tam, kde se úhrn a formuláře zaměstnanců počítají z různých dat. Příčinou může být ruční úprava úhrnu nebo špatný druh činnosti (10239), podle kterého se určuje, do kterého součtu zaměstnanec patří. Opravte údaje ve mzdovém programu a pošlete opravné hlášení.

Chyba 20059 – chybně uvedený vyměřovací základ

Kód 20059 („Chybně uvedený vyměřovací základ.“) hlásí nesoulad mezi vyměřovacím základem v ELDP části formuláře (10245), kódem ELDP (10240) a počty dnů. Kontrola č. 59 je nepropustná a vadný formulář zaměstnance zamítne. Hlídá tři situace. Je-li na druhé pozici kódu ELDP písmeno P, musí být vyměřovací základ uveden. Jsou-li započtené dny (10356) rovny vyloučeným dobám (10357) a druhá pozice kódu není D, musí být vyměřovací základ nulový. U zaměstnance, který v měsíci dovršil důchodový věk a má dva navazující záznamy ELDP, se v záznamu za dobu před dovršením věku uvádí nula. Katalog upozorňuje, že kterou z podmínek formulář porušil, vidí jen systém ČSSZ. Samotná hláška to neřekne. Projděte proto u zaměstnance kód ELDP, dny a vyměřovací základ podle přehledu kódů ELDP a formulář pošlete znovu jako řádný.

Chyba 40251 – stejné ID zaměstnání je v hlášení vícekrát

Kód 40251 znamená, že stejné ID zaměstnání (10228) je v měsíčním hlášení uvedeno u více formulářů. Kontrola č. 251 je nepropustná. Každé zaměstnání smí mít v hlášení právě jeden formulář, výjimkou jsou jen formuláře odloženého příjmu. Chyba vzniká, když mzdový program vytvoří pro jedno zaměstnání dva formuláře, nebo když dvě různá zaměstnání omylem dostanou stejné ID. Datový slovník přitom přiděluje samostatný identifikátor každému souběžnému zaměstnání i každému opětovnému nástupu. Katalog rozlišuje dvě situace. Pokud byly formuláře zamítnuty, podejte nový řádný formulář s novým GUID. Pokud byl formulář pro dané ID zaměstnání už přijat, další opravný formulář posílat nemusíte.

Chyba 20334 – zaměstnance se nepodařilo ztotožnit

Kód 20334 znamená, že ČSSZ zaměstnance podle identifikačních údajů v systémech nenašla nebo ho nedokázala ztotožnit. Kontrola č. 334 je nepropustná a formulář zaměstnance zamítne. Porovnává šest údajů: příjmení (10053), jméno (10054), datum narození (10056), datum nástupu do zaměstnání (10223), druh činnosti (10239) a variabilní symbol (10221). Chybu tak způsobí překlep ve jméně, jiné datum nástupu než v registraci nebo formulář odeslaný pod jiným variabilním symbolem, než pod kterým je zaměstnanec přihlášený. Porovnejte těchto šest údajů s registrací zaměstnance. Pokud je chyba v registraci, pošlete nejdřív její změnu nebo opravu, jak radí MPSV, a teprve potom formulář znovu.

Chyba 40012 – pojistné za zaměstnance nesouhlasí se součtem

Kód 40012 znamená, že pojistné za zaměstnance v přehledu o výši pojistného (10028) se nerovná součtu sociálního pojištění všech zaměstnanců (10370). Kontrola č. 12 je propustná a podání projde. Datové scénáře, které položku 10370 neobsahují, se do kontroly nezapočítávají. V ukázkovém protokolu MPSV hláška pokračuje přesným vzorcem „Pojistné za zaměstnance (10028) != ∑ (n) pojistného všech zaměstnanců (10370)“. Hledejte zaměstnance, u kterého se pojistné ve formuláři liší od částky započtené do přehledu. Opravu pošlete opravným hlášením.

Chyba 40343 – typ formuláře neodpovídá druhu činnosti

Kód 40343 znamená, že pro zaměstnance byl použit jiný typ individuálního formuláře (XSD schéma), než odpovídá jeho druhu činnosti (10239). Kontrola č. 343 je nepropustná. Katalog přiřazuje formuláře takto:

Druh činnosti (10239) Formulář
1–9 bez příznaku, 15, 16, A–J, T–ZC formBezPriznaku
M (pěstoun) formPestoun
K, N–S, nebo 1–9 s příznakem „pracovní vztah specifické skupiny“ formCinnostKS
1–9 s příznakem „výkon trestu odnětí svobody“ formVezen
10 formOzpTpp
11, 13, 14 formJinyPrijem
12 formMezinarodniPronajemSily
odložený příjem (vyplněný typ 10548) formOdlozenyPrijem

Příznakem se rozumí bližší určení pracovněprávního vztahu (10502). Když chyba nastane, porovnejte druh činnosti a příznak ve mzdovém programu s registrací zaměstnance. Formulář se vybírá právě podle těchto dvou údajů.

Chyba 40238 – opravné podání nenašlo dvojici OIČ a ID zaměstnání

Kód 40238 znamená, že v opravném podání nesedí formulář zaměstnance na řádné podání. Kontrola č. 238 je nepropustná. Formulář se stejným GUID musí mít v opravném podání stejnou dvojici OIČ (10051) a ID zaměstnání (10228) jako v řádném podání. Podle přehledu nejčastějších dotazů MPSV se chyba obvykle týká zaměstnanců, jejichž formuláře byly v předchozím podání zamítnuty nebo v něm chyběly. V opravném podání s GUID řádného podání je pošlete jako řádné formuláře s novým GUID. Pokud formulář přijat byl, pošlete ho jako opravný s původním GUID formuláře.

Chyba 40217 – chybný GUID podání

Kód 40217 znamená, že podání odkazuje na GUID řádného podání (10001), který systém nenašel. Kontrola č. 217 je nepropustná a katalog jako příčinu uvádí překlep nebo výběr jiného GUID. V ukázkovém protokolu MPSV zní hláška „Chybný GUID opravného podání. Řádné podání se nenašlo“. Převezměte GUID z protokolu k řádnému podání za stejné období a opravné podání pošlete znovu.

Chyba 20061 – celé podání neprošlo validací proti XML schématu

Kód 20061 znamená, že proti XML schématu neprošel celý soubor, ne jen jeden formulář. Kontrola č. 61 je nepropustná a zamítne celé podání. Hláška začíná slovy „Vaše e-Podání neprošlo validací proti XML schématu“ a za ní následuje detail chyby, který se čte stejně jako u chyby 20062. Když detail míří na hlavičku nebo strukturu souboru, a ne na údaje zaměstnance, řešte chybu s dodavatelem mzdového programu.

Chyba 40348 – nekritická chyba datové integrity podání

Kód 40348 hlásí obecnou vadu: na vstupu je hodnota, která neodpovídá očekávané struktuře nebo pravidlům datového modelu. Kontrola č. 348 je nepropustná a katalog ji popisuje jako nekritickou obdobu kontroly č. 323. Z kódu samotného se příčina určit nedá. Hledejte upřesnění v protokolu o kompletnosti, a pokud tam není, obraťte se na ČSSZ.

Chyba 40242 – prohlášení k dani a zároveň srážková daň

Kód 40242 znamená, že zaměstnanec s podepsaným prohlášením poplatníka (10419 = ANO) a daňovým rezidentstvím v ČR (10068 = CZ) má vyplněné položky srážkové daně. Kontrola č. 242 je nepropustná. MPSV doporučuje poslat opravné podání, ve kterém u těchto zaměstnanců nevyplníte položky 10416, 10307, 10308, 10309 a 10310. Nevyplnit znamená nevyplnit ani nulu. V ukázkovém protokolu MPSV má hláška dovětek „Údaje osoby nebyly nalezeny v Regzec“. Podle Ježek software ČSSZ potvrdila, že u části zaměstnanců se při dubnové doregistraci ztratil nebo chybně vyplnil údaj o rezidentství. Pak pomůže znovu odeslat doregistraci, nebo u zaměstnance na portálu ČSSZ doplnit kód státu rezidentství (10068).

Chyba 40245 – srážková daň a zároveň zálohová daň

Kód 40245 znamená, že zaměstnanec bez prohlášení poplatníka (10419 = NE) s příjmem pod limitem srážkové daně má vyplněné položky zálohové daně. Kontrola č. 245 je nepropustná a platí pro zaměstnavatele s jednou mzdovou účtárnou. Katalog ji spouští, když je součet základu pro výpočet daně (10535) u dohod o provedení práce nižší než 12 000 a u ostatních vztahů nižší než 4 500. MPSV doporučuje v opravném podání nevyplnit položky 10297, 10298, 10305 a 10306, a to ani nulou.

Chyba 40207 – úhrn vyměřovacích základů se slevou nesedí

Kód 40207 znamená, že součet vyměřovacích základů (10477) zaměstnanců, u kterých zaměstnavatel uplatňuje slevu na pojistném (10372 = ANO), se nerovná vykázanému úhrnu (10031). Kontrola č. 207 je v centrálním systému propustná, prevalidace na ePortálu ji ale vyhodnocuje jako nepropustnou. Zkontrolujte, u kterých zaměstnanců je příznak slevy nastavený, a porovnejte jejich součet s úhrnem.

Chyba 40087 – kód ELDP neodpovídá druhu činnosti

Kód 40087 znamená, že první pozice kódu ELDP (10240) neodpovídá druhu činnosti (10239). Kontrola č. 87 je nepropustná. Druh činnosti se podle katalogu přebírá z registrace zaměstnance. Pokud je chybný kód ELDP, opravte ho ve mzdové kartě. Pokud je chybný druh činnosti, opravte registraci.

Chyba 20037 – OIČ neodpovídá formátu

Kód 20037 znamená, že osobní identifikační číslo (IK MPSV, 10051) nemá platný tvar. Kontrola č. 37 je nepropustná. OIČ musí mít 10 číslic a desátá číslice je kontrolní: odpovídá zbytku po dělení prvních devíti číslic jedenácti. Zkontrolujte překlepy a mezery a porovnejte číslo s oznámením, kterým vám ČSSZ OIČ přidělila.

Kód, který v přehledu chybí, dohledáte v oficiálním katalogu kontrol MPSV podle čísla kontroly. Od kódu odečtěte 20 000 nebo 40 000 a ověřte, že kontrolu provádí systém odpovídající řadě kódu.

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. Kód 20xxx přišel v protokolu z dílčího podání hned po nahrání, kód 40xxx v protokolu o kompletnosti až po zpracování celého hlášení. Od kódu odečtěte 20 000 nebo 40 000 a dostanete číslo kontroly v katalogu.
  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, přehled chybových kódů ověřen 17. 9. 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; katalog kontrol MH na vývojářském portálu MPSV (stav k 9. 9. 2026) a jeho verze 1.4.1.2.3 v XLSX; MPSV, Pravidla podání JMHZ a související procesy, verze 1.4.4 (20. 7. 2026); MPSV, ukázkové protokoly DZMH v1.1; MPSV, Nejčastější dotazy při podávání JMHZ (9. 6. 2026); MPSV, odpovědi na otázky ze Síťovky JMHZ (22. 4. 2026); Ježek software, Možné chyby při podání JMHZ a postup pro jejich odstranění (18. 5. 2026, aktualizováno 6. 8. 2026). Text je obecným výkladem, ne právním ani metodickým stanoviskem.

FAQ

Časté otázky

Kód 40226 odpovídá kontrole č. 226 „Neodpovídá počet individualizovaných součástí měsíčního hlášení registru zaměstnanců“. Měsíční hlášení neobsahuje stejná zaměstnání, jaká za dané období eviduje registr zaměstnanců: některá chybí, nebo přebývají. Kontrola je nepropustná, ale podání nezamítá. Hlášení je částečně přijato a chybějící zaměstnání najdete v protokolu o kompletnosti jako „Chybějící formuláře“. Časté je to u dohody o provedení práce bez příjmu v daném měsíci, protože registrovaného zaměstnance je nutné hlásit každý měsíc.
Chybějící zaměstnance doplňte opravným hlášením, ve kterém uvedete GUID řádného podání a přiložíte je jako řádné formuláře. Přebývající formulář systém zamítne a podle katalogu kontrol je potom potřeba poslat ještě jedno opravné hlášení jen s nezměněnou souhrnnou částí, aby se hlášení vyhodnotilo jako úplné. Opravu stihněte do 20. dne, jinak přijde formální výzva k podání opravného hlášení. Předem porovnejte zaměstnání ve mzdovém programu s tím, co máte přihlášené u ČSSZ.
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ód 20062 odpovídá kontrole č. 62 „Formulářová kontrola XSD schématu“: formulář zaměstnance neprošel validací proti XML schématu. Kontrola je nepropustná a provádí ji systém ČSSZ hned při příjmu souboru. Konkrétní vadu popisuje text za slovy „Detail chyby“, například že element MzdaRozpad nemá úplný obsah a očekává se Tarif. V tom případě chybí tarifní mzda (položka 10329), která je povinná, a zaměstnanec bez tarifní složky musí mít uvedenou nulu. Opravte údaj ve mzdovém programu a soubor vygenerujte znovu.
Za slovy „Detail chyby“ najdete název elementu, popis problému a to, co systém očekával. Řetězec http://schemas.cssz.cz/jmhz/form/1.0 je jen jmenný prostor schématu a můžete ho ignorovat. Formulace „has incomplete content“ znamená chybějící povinný podřízený element. Porušení omezení minLength nebo length znamená, že hodnota je kratší nebo delší, než schéma dovoluje, nebo chybí. Hláška neuvádí jméno zaměstnance, proto je dobré otevřít soubor v prohlížeči, který XML zobrazí jako formulář.
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í.

Nástroje k JMHZ zdarma

Prohlížeč XML v čitelné podobě, katalog kontrol s vysvětlením chybových kódů a AI asistent na dotazy. Bez registrace.

Bez registraceZdarmaKatalog 206 kontrol