Dokumentace pro vývojáře Obsah 1. ÚVOD... 2 2. SLUŽBA CSSZ A JEJÍ TRANSAKCE OSVC_PRE... 2 2.1 Údaje v GovTalk obálce... 2 3. SYSTÉM PRO ZPRACOVÁNÍ DAT... 2 3.1 Datové rozhraní transakce OSVC_PRE (CSSZ_OSVC_PRE)... 3 3.1.1 Popis prvků obálky datové věty... 4 3.2 Struktura datové věty (přehled OSVČ) - obsah elementu GovTalkMessage/Body/Message/Body (zašifrovaný)... 5 3.2.1 Datové typy... 9 3.3 Struktura datové věty (přehled OSVČ) prázdný příklad... 9 3.4 Podepisování a šifrování datových vět... 10 3.5 Zpracování výstupů transakce CSSZ_OSVC_PRE... 10
1. ÚVOD Tento dokument je popisem implementace služby OSVČ pro Českou správu sociálního zabezpečení. Dokumentace je určena pro vývojáře aplikací, kteří chtějí do svých programů zabudovat elektronické zasílání přehledů OSVČ České správě sociálního zabezpečení prostřednictvím transakční části PVS. 2. SLUŽBA CSSZ A JEJÍ TRANSAKCE OSVC_PRE Služba OSVČ pro Českou správu sociálního zabezpečení je již třetí službou v pořadí, jejímž provozovatelem je Česká správa sociálního zabezpečení. Hlavním a zatím jediným účelem služby je možnost podávání elektronických přehledů OSVČ. Služba OSVČ pro Českou správu sociálního zabezpečení má zatím jedinou implementovanou transakci s identifikátorem CSSZ_OSVC_PRE (obsah elementu CLASS v GovTalk obálce). 2.1 Údaje v GovTalk obálce Následuje výčet a kombinace údajů v GovTalk obálce v případě užití transakce CSSZ_OSVC_PRE. Údaj v obálce GovTalkMessage/Header/MessageDetails/Class GovTalkMessage/GovTalkDetails/Keys/Key@Type Hodnota údaje CSSZ_OSVC_PRE Atribut @Type může nabývat jediné hodnoty a to: vars v případech použití služeb pod účty občana nebo jeho zástupce GovTalkMessage/GovTalkDetails/Keys/Key Vlastní hodnoty známých údajů jsou vkládány přesně tak, jak byly zadány při registraci popř. při přihlášení ke službě. 3. SYSTÉM PRO ZPRACOVÁNÍ DAT Systém zpracování dat pro službu OSVČ pro Českou správu sociálního zabezpečení plní následující funkce: Přijetí elektronického podání a potvrzení doručení od transakčního jádra PVS Kontrola správnosti obálky, rozšifrování zprávy, kontrola digitálního podpisu Kontrola oprávněnosti podání na ČSSZ (nutná registrace na ČSSZ) Zaslání výsledku zpracování zpět do transakčního jádra PVS 2
3.1Datové rozhraní transakce OSVC_PRE (CSSZ_OSVC_PRE) Struktura vstupního dokumentu následuje příklad GovTalk obálky včetně obálky datové věty. <GovTalkMessage xmlns= http://www.govtalk.gov.uk/cm/envelope > <EnvelopeVersion>2.0</EnvelopeVersion> <Header> <MessageDetails> <Class>CSSZ_OSVC_PRE</Class> <Qualifier>request</Qualifier> <Function>submit</Function> <TransactionID /> <AuditID /> <CorrelationID /> <ResponseEndPoint /> <Transformation>XML</Transformation> </MessageDetails> <SenderDetails> <IDAuthentication/> </SenderDetails> </Header> <GovTalkDetails> <Keys/> </GovTalkDetails> <Body> <Message version= 1.1 xmlns=" http://www.cssz.cz/xmlschema/emp/envelope"> <Header> <Signature xmlns:dt="urn:schemas-microsoft-com:datatypes" dt:dt="bin.base64"> MIICEAYJKoZIhvcNAQcDoIICATCCAf0CAQAxgc.</Signature> <Vendor productname="vendor01" version="1.0" /> </Header> <Body encrypted= yes contentencoding= gzip > MIICEAYJKoZIhvcNAQcDoIICATCCAf0CAQAxgc YwgcMCAQAwbTBfMQswCQYDVQQG TlpA +Pjhkg== </Body> </Message> </Body> </GovTalkMessage> 3
3.1.1 Popis prvků obálky datové věty Název elementu Povinný údaj Popis elementu Message A Identifikace dokumentu v rámci ČSSZ (interní obálka). Obálka pro elektronická podání ČSSZ je kvalifikována jmenným prostorem http://www.cssz.cz/xmlschema/emp/envelope. version A Verze obálky a struktury datové věty určené pro ČSSZ. Hodnota současné verze je 1.1. Hodnota popisuje použitou strukturu obálky. Header A Hlavička obálky pro DIS server. Signature A Element obsahuje digitální podpis datové věty (vlastního přehledu OSVČ) Vendor A Informace o produktu, který dokument vygeneroval. Hodnoty jsou uvedeny v atributech: productname="název produktu" version="verze produktu" Body A Vlastní zašifrovaná data uložená ve formátu base64 encrypted A Označuje, zda je datová věta zašifrována. V současné verzi (1.1) je šifrování povinné, a tedy encrypted musí být nastaveno na hodnotu yes. contentencoding A Označuje zda je obsah (datová věta) zašifrována v komprimované formě nebo v čisté formě. Atribut může nabývat hodnot gzip a raw. 4
3.2 Struktura datové věty (přehled OSVČ) - obsah elementu GovTalkMessage/Body/Message/Body (zašifrovaný) Obsah elementu Message/Body (zašifrovaný) následující: Název atributu Popis Dat. typ Délka Povinnost Kontroly Element Prehledosvc.for prehledosvc A 11 A hlava prehledosvc.dep číslo okresu (org. Jednotky N 3 A číselník hlava ČSSZ) prehledosvc..rok rok podání přehledu N0 4 A hlava prehledosvc..dat datum podání D 10 N hlava prehledosvc..bno rodné číslo N0 9-10 A kontr. RČ prehledosvc..den Narozen D 10 A prehledosvc..name.sur Příjmení AZ 1-35 A prehledosvc..name.fir Jméno AZ 1-24 A prehledosvc..name.tit Titul AZ 1-10 N prehledosvc..adr.str trvalý pobyt ulice ANZ 1-48 N prehledosvc..adr.num trvalý pobyt - č.p. ANZ 1-8 A prehledosvc..adr.pnu trvalý pobyt - psč ANZ 11 A prehledosvc..adr.cit trvalý pobyt obec ANZ 1-48 A prehledosvc..adr.cnt trvalý pobyt stát A 2 N prehledosvc..vs variabilní symbol OSVČ N0 8 A prehledosvc..zahc datum posledního zahájení D 10 A CVČ prehledosvc..druc Druh činnosti H -hlavní, V - A 1 A vedlejší a S souběh hlavní a vedlejší prehledosvc..por Daňový poradce A 1 A prehledosvc..meldat Lhůta pro předložení DP - D 10 N datum prehledosvc..melozn Datum oznámení prodloužení D 10 N lhůty DP prehledosvc..pov Povinnost podávat daňové A 1 A přiznání prehledosvc..pau Jsem polplatníkem daně A 1 A z příjmu stanovené paušální částkou prehledosvc..paud Datum protokolu o paušální D 10 N částce prehledosvc..ucz Účtování v hosp. roce od D 10 N prehledosvc..uck Účtování v hosp.roce do D 10 N prehledosvc.vedc.zam prehledosvc.vedc.du.od Zaměstnání s příjmem nad 86220,- nárok na výplatu IČ nebo I nebo mi byl přiznán S od A 1 N vedc.zam D 10 N vedc.du 5
Název atributu Popis Dat. typ Délka Povinnost Kontroly Element prehledosvc.vedc.du.do D 10 N nárok na výplatu IČ nebo I vedc.du nebo mi byl přiznán S do prehledosvc.vedc.rp.od D 10 N nárok na RP nebo příspěvek při vedc.rp péči o blízkou od prehledosvc.vedc.rp.do D 10 N nárok na RP nebo příspěvek při vedc.rp péči o blízkou od prehledosvc.vedc.vs.od Vojenská nebo civilní služba D 10 N od vedc.vs prehledosvc.vedc.vs.do Vojenská nebo civilní služba D 10 N do vedc.vs prehledosvc.vedc.nd.od Nezaopatřeným dítětem od D 10 N vedc.nd prehledosvc.vedc.nd.do Nezaopatřeným dítětem do D 10 N vedc.nd prehledosvc.vedc.vt.od Vazba nebo trest odnětí D 10 N svobody od vedc.vt prehledosvc.vedc.vt.do Vazba nebo trest odnětí D 10 N svobody do vedc.vt prehledosvc.vedc.du1.od nárok na výplatu IČ nebo I D 10 N nebo mi byl přiznán S od vedc.du prehledosvc.vedc.du1do nárok na výplatu IČ nebo I D 10 N nebo mi byl přiznán S do vedc.du prehledosvc.vedc.rp1.od nárok na RP nebo příspěvek při D 10 N péči o blízkou od vedc.rp prehledosvc.vedc.rp1.do nárok na RP nebo příspěvek při D 10 N péči o blízkou od vedc.rp prehledosvc.vedc.vs1.od Vojenská nebo civilní služba D 10 N od vedc.vs prehledosvc.vedc.vs1.do Vojenská nebo civilní služba D 10 N do vedc.vs prehledosvc.vedc.nd1.od Nezaopatřeným dítětem od D 10 N vedc.nd prehledosvc.vedc.nd1.do Nezaopatřeným dítětem do D 10 N vedc.nd prehledosvc.vedc.vt1.od Vazba nebo trest odnětí D 10 N svobody od vedc.vt prehledosvc.vedc.vt1.do Vazba nebo trest odnětí D 10 N svobody do vedc.vt prehledosvc.spo.bno Rodné číslo spolupracující N0 9-10 N osoby kontr. RČ spo prehledosvc.spo.name.sur Příjmení spolupracující osoby AZ 1-35 N spo prehledosvc.spo.name.fir Jméno spolupracující osoby AZ 1-24 N spo prehledosvc.spo.name.tit Titul spolupracující osoby AZ 1-10 N spo prehledosvc.spo.den Datum narození spolupracující osoby prehledosvc.spo.adr.str adresa spolupracující osoby ulice prehledosvc.spo.adr.num adresa spolupracující osoby - č.p. prehledosvc.spo.adr.pnu adresa spolupracující osoby - psč prehledosvc.spo.adr.cit adresa spolupracující osoby obec D 10 N spo ANZ 1-48 N spo ANZ 1-8 N spo N 5 N spo ANZ 1-48 N spo 6
Název atributu Popis Dat. typ Délka Povinnost Kontroly Element prehledosvc.spo.adr.cnt adresa spolupracující osoby A 2 N stát prehledosvc.pvv.pri Příjmy ND 13 A Pvv prehledosvc.pvv.vyd Výdaje ND 13 A Pvv prehledosvc.pvv.roz Příjmy po odpočtu výdajů ND 13 A Pvv prehledosvc.pvv.mesc.h Počet měsíců SVČ (spolupráce) N 2 A celkem hlavní Pvv prehledosvc.pvv.mesc.v Počet měsíců SVČ (spolupráce) N 2 A celkem vedlejší Pvv prehledosvc.pvv.mesv.h Počet měsíců SVČ (spolupráce) N 2 A po odpočtu měsíců nemoci, Pvv vojenské služby at. - hlavní prehledosvc.pvv.mesv.v Počet měsíců SVČ (spolupráce) N 2 A po odpočtu měsíců nemoci, vojenské služby at. vedlejší prehledosvc.pvv.mesp Průměrný měsíční příjem ND 13 A prehledosvc.pvv.pov.h Příjmy po odpočtu výdajů - ND 13 A hlavní prehledosvc.pvv.pov.v Příjmy po odpočtu výdajů - ND 13 A vedlejší prehledosvc.pvv.vvz.h Vypočtený vyměřovací základ ND 9 A - hlavní prehledosvc.pvv.vvz.v Vypočtený vyměřovací základ ND 9 A - vedlejší prehledosvc.pvv.dvz.h Dílčí vyměřovací základ - ND 9 N hlavní prehledosvc.pvv.dvz.v Dílčí vyměřovací základ - ND 9 N vedlejší prehledosvc.pvv.mvz Minimální vyměřovací základ N 9 A prehledosvc.pvv.uvz Určený vyměřovací základ N 9 A prehledosvc.pvv.poj Pojistné ND 9 A prehledosvc.pvv.zal Úhrn záloh ND 9 A prehledosvc.pvv.ned Rozdíl mezi pojistným a ND 9 A zálohami- nedoplatek/přeplatek prehledosvc.pre.vra Přeplatek ve výši vrátit ND 9 N Pre prehledosvc.pre.kam Vrátit jak S složenkou, A 1 N Pre U - na účet prehledosvc.pre.m1 Měsíc použití přelatku 1 A 1 N Pre prehledosvc.pre.m2 Měsíc použití přelatku 2 A 1 N Pre prehledosvc.pre.m3 Měsíc použití přelatku 3 A 1 N Pre prehledosvc.pre.m4 Měsíc použití přelatku 4 A 1 N Pre prehledosvc.pre.m5 Měsíc použití přelatku 5 A 1 N Pre prehledosvc.pre.m6 Měsíc použití přelatku 6 A 1 N Pre prehledosvc.pre.m7 Měsíc použití přelatku 7 A 1 N Pre prehledosvc.pre.m8 Měsíc použití přelatku 8 A 1 N Pre prehledosvc.pre.m9 Měsíc použití přelatku 9 A 1 N Pre prehledosvc.pre.m10 Měsíc použití přelatku 10 A 1 N Pre 7
Název atributu Popis Dat. typ Délka Povinnost Kontroly Element prehledosvc.pre.m11 Měsíc použití přelatku 11 A 1 N Pre prehledosvc.pre.m12 Měsíc použití přelatku 12 A 1 N Pre prehledosvc.pre.iban IBAN mezinárodní číslo účtu ANZ 24 N Pre prehledosvc.pre.bs.pu Bankovní spojení pro přeplatek AZ 6 N Pre - předčíslí účtu prehledosvc.pre.bs.cu Bankovní spojení pro přeplatek AZ 11 N Pre - číslo účtu prehledosvc.pre.bs.kb Bankovní spojení pro přeplatek N 4 N kód banky Pre prehledosvc.pre.bs.ss Bankovní spojení pro přeplatek N 1-10 N SS Pre prehledosvc.pre.bs.vs Bankovní spojení pro přeplatek N 1-10 N VS Pre prehledosvc.pre.name.sur Přeplatek poslat Příjmení AZ 1-35 N Pre prehledosvc.pre.name.fir Přeplatek poslat - Jméno AZ 1-24 N Pre prehledosvc.pre.name.tit Přeplatek poslat - Titul AZ 1-10 N Pre prehledosvc.pre.adr.str Přeplatek poslat - Ulice ANZ 1-48 N Pre prehledosvc.pre.adr.num Přeplatek poslat - č.p. ANZ 1-8 N Pre prehledosvc.pre.adr.pnu Přeplatek poslat - psč ANZ 11 N Pre prehledosvc.pre.adr.cit Přeplatek poslat obec ANZ 1-48 N pre prehledosvc.pre.adr.cnt Přeplatek poslat stát A 2 N pre prehledosvc.zal.ved Pro r. 2006 činnost hlavní nebo A 1 N vedlejší zal prehledosvc.zal.vz Nejnižší měsíční vyměřovací N 6 N základ zal prehledosvc.zal.dp Nejnižší měsíční záloha na N 6 N pojistné na DP pre prehledosvc.zal.np Nejnižší měsíční pojistné na N 6 N NP OSVČ zal prehledosvc.zal.cel Celkem N 6 N zal Prehledosvc.zal.pri Přihláška k účasti na DP A A 1 A přihlášen, zal N - nepřihlášen Prehledosvc.dat.dre Datum vyplnění formuláře D 10 A Prehledosvc.pri.poc Počet příloh A 1 N pri Prehledosvc.pri.img.nazev Název souboru přílohy AN 25 Prehledosvc.pri.img.typ Přípona (typ) souboru přílohy AN 3 Prehledosvc.pri.img.base64 data Binární podoba příloha zakódovaná base64 3MB N N N 8
3.2.1 Datové typy typ A N Význam alfaznaky (A - Z, a-z) + ŠŚŤŽŹšśťžźŁĄŞŻłąşĽľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőöřůúűüýţ číslo - znaky 0-9, nesmí začínat nulou AZ alfaznaky A a znaménka: pomlčka(-), čárka (,), tečka(.), plus(+), lomítko (/), zpětné lomítko (\) AN alfaznaky A a numerické znaky (0-9) ANZ N0 D ND alfaznaky A, numerické znaky N a znaménka Z číslo - znaky 0-9, může začínat nulou datum ve formátu unicode RRRR-MM-DD (nebo ve formátu D.M.rrrr) číslo - znaky 0-9, může obsahovat znaménko jako první znak a des. tečku (nebo des. čárku) 3.3 Struktura datové věty (přehled OSVČ) prázdný příklad <OSVC xmlns=""> <prehledosvc dep="" for=""> < rok="" dat="" bno="" den=""> <name sur="" fir="" tit="" /> <adr str="" num="" pnu="" cit="" cnt="" /> <vs /> <druc /> <zahc /> <por /> <meldat /> <melozn /> <pov /> <pau paud="" /> <ucz /> <uck /> </> <vedc zam=""> <du od="" do="" /> <rp od="" do="" /> <vs od="" do="" /> <nd od="" do="" /> <vt od="" do="" /> <du1 od="" do="" /> <rp1 od="" do="" /> <vs1 od="" do="" /> <nd1 od="" do="" /> <vt1 od="" do="" /> </vedc> <spo bno="" den=""> <name sur="" fir="" tit="" /> <adr str="" num="" pnu="" cit="" cnt="" /> </spo> <pvv pri="" vyd="" roz=""> <mesc h="" v="" /> <mesv h="" v="" /> <mesp /> <pov h="" v="" /> <vvz h="" v="" /> <dvz h="" v="" /> 9
<mvz /> <uvz /> <poj /> <zal /> <ned /> </pvv> <pre vra="" kam=""> <m1 /> <m2 /> <m3 /> <m4 /> <m5 /> <m6 /> <m7 /> <m8 /> <m9 /> <m10 /> <m11 /> <m12 /> <iban /> <bs pu= cu="" kb="" ss="" vs="" /> <name sur="" fir="" tit="" /> <adr str="" num="" pnu="" cit="" cnt="" /> </pre> <zal ved="" vz="" dp="" np="" cel="" pri="" /> <dat dre="" /> <pri poc=""> <img nazev="" typ="" base64data="" /> </pri> </prehledosvc> </OSVC> </GovTalkMessage> 3.4 Podepisování a šifrování datových vět Systémy pro zpracování podání v ČSSZ, na kterých jsou datové věty po rozšifrování načítány, podporuje několik typů kódování XML datových vět. Některé z těchto typů kódování (zejména typy UTF-??) jsou rozpoznávány tzv. Byte Order Marks (dále jen BOM). BOM hraje důležitou roli při načítání XML parsery na straně ČSSZ. Z tohoto důvodu je vhodné BOM zahrnovat při těchto kódováních do digitálního podpisu. Například součástí digitálního podpisu obsahující datovou větu v kódování UTF-8 bude vypadat následovně (žlutě je zvýrazněný BOM): 00000000: EF BB BF 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E <?xml version 00000010: 3D 22 31 2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D ="1.0" encoding= 00000020: 22 55 54 46 2D 38 22 3F 3E 0A 3C 50 69 73 65 6D "UTF-8"?> <Messa 3.5 Zpracování výstupů transakce CSSZ_OSVC_PRE Výstupy transakce CSSZ_OSVC_PRE jsou syntakticky shodné s výstupy transakcí CSSZ_RELDP a CSSZ_PRIHL. Popisy jsou k dispozici na stránkách ČSSZ (např. pro RELDP: http://www.cssz.cz/tiskopisy/eldp_2004/evidencni_listy_2004.asp ). Konkrétní příklady výstupů doplněny v další verzi tohoto dokumentu. 10