Kdo musí podávat přehled v XML
Povinnost platí pro OSVČ s datovou schránkou zpřístupněnou ze zákona. Přehled o příjmech a výdajích podává výhradně v elektronické podobě ve formátu XML. Ostatní tiskopisy, pro které ČSSZ formát XML nestanovila, se posílají v čitelném formátu, nejčastěji PDF, a k jejich podání v XML se nepřihlíží.
| Kanál | Co pošleš | Poznámka |
|---|---|---|
| ePortál ČSSZ | formulář vyplněný na webu | XML vytvoří ePortál sám |
| Datová schránka e-Podání (ID 5ffu6xk) | XML datové věty jako přílohu zprávy | případně do schránky příslušné OSSZ |
| Veřejné rozhraní e-Podání (VREP/APEP) | XML z vlastního programu | vyžaduje uznávaný elektronický podpis |
Lhůty a výpočet pojistného se mění podle roku a podle toho, jestli OSVČ podává daňové přiznání a kdo ho podává. Řiď se pokyny ČSSZ k příslušnému roku, tato kapitola řeší jen formát souboru.
Kde najít XSD a vzorový soubor
Na stránce Definice e-Podání OSVČ
má každý rok vlastní balíček: popis datové věty a datových typů, zadání pro programátory, pokyny,
ukázku formuláře, schéma OSVC25.xsd a příklad datové věty OSVC25 vzor.xml
(pro rok 2025).
Schéma samo nestačí. OSVC25.xsd importuje společné datové typy ze
souboru baseTypes2.xsd (jmenný prostor http://schemas.cssz.cz/baseTypes/v2),
který je na zvláštní stránce
Definice
a XSD schéma Datových typů. Ulož ho do stejné složky jako OSVC25.xsd, jinak
validátor schéma nezkompiluje: libxml2 hlásí
Failed to locate a schema at location 'baseTypes2.xsd' a
WXS schema OSVC25.xsd failed to compile.
Jak vypadá datová věta
<?xml version="1.0" encoding="UTF-8"?>
<OSVC xmlns="http://schemas.cssz.cz/OSVC2025" version="1.0">
<VENDOR productName="Moje účetnictví" productVersion="2026.1"/>
<SENDER EmailNotifikace="jana@example.cz" ISDSreport="3" VerzeProtokolu="1"/>
<prehledosvc for="prehledosvc" dep="122" vsdp="12345678" rok="2025" typ="N" dat="">
<client>
<name fir="Jana" sur="Nováková" tit=""/>
<birth bno="0000000000" den="1985-01-01"/>
<adr str="Dlouhá" num="12" pnu="41201" cit="Litoměřice" cnt="CZ"/>
<idds>abc1234</idds>
<druc>H</druc>
<!-- hlavc, vedc, narok, sleva: měsíce m1 až m13 -->
</client>
<pvv pri="350000">
<!-- údaje o daňovém a vyměřovacím základu, pojistné a zálohy -->
</pvv>
<!-- prihldp, zal, pre, prizn, opr, spo -->
<dat dre="2026-04-20"/>
<prilo coun="1" plnamoc="N" jina="A">
<img nazev="potvrzeni.pdf" base64data="JVBERi0xLjcK..."/>
</prilo>
</prehledosvc>
</OSVC>
Kořen OSVC nese výchozí jmenný prostor s rokem (http://schemas.cssz.cz/OSVC2025)
a atribut version="1.0". Jmenný prostor se mění každý rok: pro rok 2024 je to
http://schemas.cssz.cz/OSVC2024. Podání obsahuje vždy právě jeden formulář
prehledosvc. Hodnoty jsou převážně v atributech a krátkých elementech, data ve tvaru
RRRR-MM-DD.
| Element | Oddíl tiskopisu | Obsah |
|---|---|---|
| OSVC | – | kořen: jmenný prostor roku a version="1.0" |
| VENDOR, SENDER | – | nepovinné: název programu, e-mail a typ odpovědi (ISDSreport 1 = XML, 2 = HTML, 3 = obojí) |
| prehledosvc | záhlaví | dep (kód OSSZ), vsdp (variabilní symbol), rok, typ (N = řádný, O = opravný) |
| client | A, B, C | identifikace, druh činnosti druc (H = hlavní, V = vedlejší), měsíce výkonu m1 až m13 |
| pvv | D | daňový základ, vyměřovací základ, pojistné a zálohy |
| prihldp | E | přihláška k důchodovému pojištění u vedlejší činnosti |
| zal | F | zálohy na příští rok |
| pre | G | přeplatek a způsob vrácení |
| prizn | H | daňové přiznání a paušální režim |
| opr | I | opravný přehled: datum zjištění a důvod |
| spo | J | spolupracující osoba |
| dat, prilo | L | datum vyplnění a přílohy v Base64 |
Přílohy (plná moc, jiné doklady) jsou přímo v XML: každý element img má název souboru
a jeho obsah zakódovaný v Base64 v atributu base64data. Pro ruční kontrolu přílohy
poslouží dekódování Base64.
Co ověří XSD a co ne
Schéma OSVC25.xsd hlídá strukturu: jmenný prostor, pořadí a povinnost elementů
a atributů. Typově přísně kontroluje jen kód okresu dep, který musí být číslo
nezačínající nulou. Většina ostatních hodnot je typu xs:string. Proti schématu proto
projde i datum 21.03.1985, rodné číslo s lomítkem nebo typ="R", ačkoli
popis datové věty předepisuje formát data RRRR-MM-DD, rodné číslo bez lomítka
a typ N nebo O. Tato pravidla (sloupec Kontroly v popisu datové věty)
ověřuje až ČSSZ při zpracování.
Chyby, které validace proti schématu najde:
| Problém | libxml2 (xmllint, PHP) | Java (Xerces) |
|---|---|---|
| XML z jiného roku (jmenný prostor OSVC2024 proti OSVC25.xsd) | Element '{http://schemas.cssz.cz/OSVC2024}OSVC': No matching global declaration available for the validation root. | cvc-elt.1.a: Cannot find the declaration of element 'OSVC'. |
| Kód okresu dep="012" (nesmí začínat nulou) | attribute 'dep': [facet 'pattern'] The value '012' is not accepted by the pattern '[1-9].*|0'. | cvc-pattern-valid: Value '012' is not facet-valid with respect to pattern '[1-9].*|0' … |
| Chybí povinný element birth | Element '…adr': This element is not expected. Expected is ( {http://schemas.cssz.cz/OSVC2025}birth ). | cvc-complex-type.2.4.a: Invalid content was found starting with element … One of '{…birth}' is expected. |
Hlášky jsou stejné jako u jiných schémat, podrobně je vysvětlují stránky cvc-elt.1.a, cvc-pattern-valid a cvc-complex-type.2.4.a.
Doporučený postup pro vlastní program
- Stáhni balíček definice pro správný rok a k němu
baseTypes2.xsd. - Generuj XML serializérem, ne skládáním řetězců. Uvozovky a ampersand v hodnotách atributů se pak správně escapují a kódování souboru odpovídá XML deklaraci.
- Zapisuj hodnoty podle popisu datové věty (data
RRRR-MM-DD, čísla bez mezer), i když je schéma nevynucuje. - Každý soubor ověř proti XSD. Ověř i vzorový soubor ČSSZ, abys vyloučil chybu v sadě schémat.
- Po odeslání zkontroluj odpověď ze zpracování (podle
ISDSreportv XML, HTML nebo obou).
Podobně fungují podání pro finanční správu, viz XML pro finanční úřad. Obecný postup validace popisuje kapitola XML Schema (XSD).