Vyplní celý formulář. DATA Most generuje CSV podklad. Eva odesílá na ČSSZ sama (ePortál / datovka).
Jana — Pohoda
Software: Pohoda (mzdový modul)
Vyplní formulář, DATA Most doplní JMHZ pole která Pohoda nemá. Export do Pohody.
Tereza — Pohoda + Pamica
Software: Pohoda + Pamica
Klient vyplní, účetní zkontroluje, DATA Most exportuje do Pamicy (DBF/XML). Pamica podává.
public Tři kategorie zaměstnance — tři různé procesy (výběr v Kroku 0)
NOVÉ v v3.0
A — ČR občan
Standardní proces
Plná sada formulářových kroků 1–10, bez cizinecké sekce.
Identifikace: RČ (povinné, checksum validace)
Doklady: OP
ZP: ČR pojišťovny (VZP, OZP, ČPZP, ...)
REGZEC: standardní lhůta
Dokumenty k uploadu: 2–3
B — EU / EHP cizinec
+ Cizinecká sekce
Volný pohyb osob, nevyžaduje pracovní povolení. RČ pokud přiděleno.
Identifikace: RČ (relaxovaná) nebo foreign_insurance_number
Doklady: pas / národní ID + přechodný pobyt
ZP: EHIC nebo ČR pojišťovna
REGZEC: jiná lhůta + dodatečná pole
Dokumenty: 3–4
C — Mimo EU (třetí země)
Plná cizinecká sekce
Vyžaduje pracovní povolení, vízum/pobyt, účetní ověřuje platnost.
Identifikace: číslo pasu (povinné), RČ jen pokud přiděleno
Doklady: pas + vízum + pracovní povolení
ZP: ČR pojišťovna (povinná) + komerční
REGZEC: rozšířený (typ dokladu, č. povolení)
Dokumenty: 5–7 + ověření
Sekce 1
Celý proces: Od nahlášení po registraci v JMHZ
Čtyři aktéři spolupracují: klient nahlásí nového zaměstnance, účetní firma připraví formulář, systém validuje a generuje export,
Pamica/Pohoda podává na ČSSZ. Od 7/2026 musí registrace proběhnout DEN PŘED nástupem.
Klient / HRHlásí, vyplňuje
1Nahlásí nového zam.
arrow_forward
4Otevře email, čte checklist
arrow_forward
5Vyplňuje 10 kroků (auto-save)
arrow_forward
6Odesílá + potvrzuje správnost
Účetní firmaKontroluje, schvaluje
2Vytvoří požadavek
arrow_forward
8Kontrola dat (REVIEW)
arrow_forward
9Schválí / vrátí s poznámkou
arrow_forward
11Stáhne DBF/XML
DATA MostValiduje, generuje
3Email + link klientovi
arrow_forward
5bAuto-save (2s debounce)
arrow_forward
7Antivir scan uploadů
arrow_forward
10Generuje DBF/XML + CSV
arrow_forward
12Složka zaměstnance (R2)
Pamica / ČSSZPodává, registruje
13Pamica importuje DBF/XML
arrow_forward
14Pamica generuje REGZEC
arrow_forward
15ČSSZ registruje + přidělí OIČ/IDPPV
info Boundary DATA Most vs. ČSSZ (dovysvětleno po feedbacku 21.4.2026):
DATA Most NEKOMUNIKUJE přímo s ČSSZ, FÚ, ÚP ani ČSÚ. Veškeré podání zajistí účetní firma přes Pamicu/Pohodu.
Naše role je zajistit, aby data dorazila do Pamicy kompletní a validní.
Sekce 2
Životní cyklus formuláře — stavový diagram
Stavy reflektují responsibility chain (14-bezpecnost.md). Při každém přechodu systém zaznamenává timestamp, user,
IP a hash dat pro právní dokumentaci kdo co potvrdil.
CHECKLIST
→
DRAFT
→ (klient potvrdí)
SUBMITTED
→
REVIEW
→ (schváleno)
APPROVED
→
EXPORTED
→
ARCHIVED
Alternativní cesta: REVIEW → RETURNED
→ DRAFT (klient musí po opravě znovu potvrdit — nový timestamp + hash)
Sekce 3
Wizard stepper — 0.5 kategorizace + 10 kroků
Krok 0.5 (občanství) určuje, jaká pole se v dalších krocích zobrazí. MVP = kroky 1–6 + 10 + částečně 7 (důchody).
V2 = zbytek 7 + krok 8. V3 = krok 9 (plná JMHZ).
0Checklist
0.5Občanství
1Základní údaje
2Bydliště
3Doklady + cizinec
4Pozice + mzda
5Vzdělání
6Banka
7Slevy + důchod
8Předchozí zam.
9JMHZ
10Shrnutí
Krok 0.5 / 10 · Kategorizace
Jaké občanství má zaměstnanec?
NOVÉ (P0 fix 21.4.2026)
Zvolte před vyplňováním. Podle toho se v dalších krocích zobrazí správné pole
(cizinci potřebují jiné doklady a identifikátory než občané ČR).
Občanství zaměstnance určuje proces
3 varianty A / B / C — různé požadované dokumenty, lhůty a povinná pole
MVP · blocker pro Krok 1+
help Nevíte, do které kategorie zaměstnanec patří?
Zjistěte z jeho dokladu totožnosti. Český OP = A · Průkaz EU občana (modrý) nebo národní ID členského státu EU = B · Cestovní pas jiné země = C.
Co se po výběru stane
Pro vývojáře a účetní: Volba A/B/C ovlivňuje:
• Krok 1: validace RČ (A strict checksum, B/C relaxed warning) · pole "Má zaměstnanec RČ?" toggle
• Krok 3: viditelnost cizinecké sekce (B+C) a sekce Pracovní povolení (jen C)
• Krok 3: `foreign_insurance_number` je required pro B/C pokud chybí RČ
• Krok 5: zobrazí fallback "Vzdělání ze zahraničí" pro B/C
• Krok 8: varianta C + možnost "Zaměstnán v zahraničí"
Data: employees.citizenship (FK ref_country) — auto-derived z Krok 1 + explicitní volba zde.
Krok 0
Checklist — Co si připravit
Klient vidí přehled předem, ví co si přichystat. Seznam se mění podle kategorie zaměstnance.
A — ČR občan
B — EU/EHP cizinec
C — Mimo EU
Připravte si následující dokumenty
Formulář se průběžně ukládá, můžete se kdykoliv vrátit. Odhadovaný čas: 15–20 minut.
Občanský průkaz
Číslo dokladu, datum vydání, vydavatel (ÚMČ)
Kartičku zdravotní pojišťovny
Kód pojišťovny (VZP, OZP, ČPZP, ...)
Číslo bankovního účtu
Pro výplatu mzdy (formát 12345/0100)
Rodné číslo
10-místné (YYMMDD/XXXX)
Zápočtový list
Z předchozího zaměstnání (pokud bylo); pokud ne → ÚP potvrzení nebo čestné prohlášení
Rodné listy dětí
Pokud uplatňujete slevu na dítě
Rozhodnutí o důchodu
Starobní nebo invalidní — pokud pobíráte
Doklady o vzdělání
Název školy, obor, rok ukončení
scheduleOdhadovaný čas: 15–20 minut
saveAuto-save po každé změně
Krok 1 / 10
Kdo nastupuje (základní údaje)
9 polí. Auto-parse RČ → datum narození + pohlaví se vyplní automaticky.
Základní osobní údaje
Platí pro všechny 3 kategorie (A / B / C) — rozdíl jen ve validaci RČ
MVP
badgeIdentifikace: Rodné číslo
Zvolená kategorie: A — ČR
info Povinné pro ČR občana — použije se pro registraci u OSSZ a zdravotní pojišťovny.
Má zaměstnanec přidělené české rodné číslo?
Zobrazí se jen pro kategorie B/C
info U cizinců se validuje volněji (ČSSZ přiděluje podle jiných pravidel). Checksum = jen warning, ne blokace.
Náhradní identifikátor pro cizince bez českého RČ (povinné pokud výše vybráno "nemá RČ").
Auto-vyplněno z RČ (nebo vyplňte ručně)
Automaticky vyplněno z rodného čísla
Pro vývojáře
ref_country (~250 záznamů, seed z Excelu). FK z employees.citizenship.
ref_schedule_type (7 záznamů). FK employments.schedule_type.
paymentsHrubá mzda / hodinová sazba
Nová sekce
Typ mzdy se mění podle typu pracovního vztahu.
Pro vývojáře
ref_wage_type (4 záznamy). FK employment_wage_elements.kind.
Měsíčně pro HPP, hodinově pro DPP/DPČ
Prémie, bonusy, osobní ohodnocení
Krok 5 / 10
Vzdělání
Kaskádní výběr: typ studia → rok → obor. API obory-vzdelani.cz. Povinné pro ISPV a JMHZ.
Nejvyšší dosažené vzdělání
4 pole · fallback "Nevím přesný obor"
MVP
Klasifikace KKOV · kód se uloží na pozadí
Pro vývojáře
ref_education_level (14 záznamů, KKOV kódy: A, B, C, D, E, H, J, K, L, M, N, R, T, V). FK employees.ispv_education.
API obory-vzdelani.cz · Lazy cache 30 dní
Krok 6 / 10
Kam posílat výplatu
Bankovní účet pro výplatu mzdy. Pokud zaměstnanec nesouhlasí s bezhotovostní výplatou, krok lze přeskočit.
Bankovní účet
4 pole
MVP
Auto-generováno
Souhlasím s bezhotovostní výplatou
Krok 7 / 10
Slevy na dani, důchod, ZTP, manžel/ka na RD
Rozšířeno 21.4.2026
Dynamický formulář — zobrazuje se podle zaškrtnutých toggle. MVP = důchody (ovlivňují odvody). V2 = zbytek.
Daňové slevy a specifika
Každou sekci klient zapne jen pokud slevu uplatňuje. Většinu řeší zaměstnanec v Prohlášení poplatníka.
Pro vývojáře
ref_tax_premium_type (~40 záznamů). FK employee_tax_items.type.
MVP částečně / V2 plně
child_careA. Děti (sleva na vyživované dítě) V2
Uplatňuji slevu na dítě / děti
Pro každé dítě:
upload_file Rodný list dítěte (PDF / JPG)
Jsem osamělý rodič (vyšší sleva)
elderlyB. Starobní důchod MVP (odvody!)
Starobní důchodce neplatí sociální pojištění — ovlivňuje výpočet mzdy od prvního měsíce.
Pobírám starobní důchod
Pro vývojáře
ref_pension (6 záznamů). FK employees.ossz_pension.
upload_file Rozhodnutí o přiznání důchodu
accessibilityC. Invalidní důchod MVP (odvody!)
Pobírám invalidní důchod
upload_file Rozhodnutí o přiznání invalidního důchodu
wheelchair_pickupD. ZTP / ZTP-P průkaz V2
Mám průkaz ZTP / ZTP-P
upload_file Kopie průkazu ZTP / ZTP-P
family_restroomE. Manžel/ka na rodičovské V2
Uplatňuji slevu na manžela/manželku na RD
upload_file Potvrzení ze sociálky (rodičovský příspěvek)
description Čestné prohlášení — systém generuje PDF (17-pdf-templates.md), klient podepíše a uploadne zpět
schoolF. Student do 26 let V2
Jsem student/ka do 26 let
upload_file Potvrzení o studiu
personG. Základní poplatníkova sleva MVP · default
Aktivní pro všechny zaměstnance bez podmínek (30 840 Kč/rok pro 2026).
Krok 8 / 10
Předchozí zaměstnání — 3 varianty
Rozšířeno 21.4.2026
Účetní potřebuje vědět kde zaměstnanec byl předtím — ovlivňuje daňové slevy, nevyčerpanou dovolenou, srážky. 3 scénáře.
Stav před nástupem
previous_employment_status enum
V2
A — Měl zaměstnání
B — Evidován na ÚP
C — Nic z toho
workVarianta A: Měl předchozí zaměstnání
upload_file Zápočtový list (PDF / JPG) — automatický antivir scan
badgeVarianta B: Byl evidován na úřadu práce
upload_file Potvrzení ÚP o době evidence
descriptionVarianta C: Nebyl zaměstnán ani evidován na ÚP
Tato varianta vyžaduje čestné prohlášení. Systém vám pomůže v 3 krocích.
1
Vygenerujte PDF šablonu~ 2 s
Systém vygeneruje PDF s vyplněným jménem, RČ a obdobím 01.01.2026 – 31.5.2026. Text čestného prohlášení je standardizovaný.
2
Vytiskněte a podepište~ 2 min (offline)
Vytiskněte vygenerované PDF, podepište ho (modrým perem, ne razítkem) a připravte na scan nebo foto. Alternativa: elektronický podpis (eIDAS) — V3 roadmap.
3
Nahrajte podepsaný dokument zpět~ 30 s
upload_fileNahrát scan / foto podepsaného prohlášení (PDF / JPG, max 50 MB)
Automatický antivir scan před uložením
Tip: Celý proces trvá ~ 5 minut včetně tisku. Pokud nemáte tiskárnu, doporučujeme kontaktovat vaši účetní firmu pro alternativní řešení.
Krok 9 / 10
JMHZ — nová povinná pole (od 4/2026)
Některá pole se doplňují v Kroku 1-4 (OIČ, typ PPV, datum nástupu, prislušnost). Tento krok řeší zbytek + validační indikátor.
JMHZ compliance panel
Zelená / žlutá / červená = status kompletnosti
V3 plná
vyplněno · kompletní
doporučené (pole chybí, ale export jde)
chybí povinné pole (blokuje export)
OIČ vyplněno
Typ PPV: HPP
Datum nástupu
Státní příslušnost
Zdravotní pojišťovna
CZ-ISCO (doporučeno)
Vzdělání KKOV
Datová schránka zam.
Doživotní identifikátor, nahrazuje RČ pro JMHZ — přiděluje ČSSZ
1–22 znaků, přiděluje ČSSZ po REGZEC
warning JMHZ Export Gate:
Formulář lze odeslat i se žlutým stavem (warnings). Červený stav (povinná pole chybí) blokuje odeslání.
Krok 10 / 10
Shrnutí a odeslání
Rekapitulace všech 9 kroků + povinný consent gate (14-bezpecnost.md).
Zkontrolujte údaje před odesláním
Po odeslání se data předají účetní ke kontrole (stav SUBMITTED → REVIEW)
Potvrzuji, že údaje odpovídají dokladům zaměstnance.
Tyto údaje budou použity pro registraci u OSSZ, zdravotní pojišťovny a dalších institucí (JMHZ).
Proč toto potvrzuji? zobrazit detail
Právní pojistka pro obě strany.
Zaměstnavatel (tj. vaše firma) má ze zákona odpovědnost za správnost mzdových dat svých zaměstnanců.
Účetní firma data zpracovává, ale není v pozici, aby ověřovala jejich věcnou správnost.
Potvrzením zaznamenáváme kdo, kdy a jaká data zadal — v případě kontroly z OSSZ nebo FÚ máme průkazné informace.
Pokud si nejste jistí některým údajem, raději vraťte formulář k doplnění než abyste odeslali nepřesnou informaci.
Podepsáno: Jan Novák (ABC s.r.o.) · 21. 4. 2026 14:32 · IP 89.24.xx.xx · Hash dat: a3f7...c9d2
Tyto údaje se ukládají do audit logu (viz dev specs 14-bezpecnost.md)
Sekce 4 · Technická reference
Mapování polí — pro vývojáře a účetní (power user)
Tato sekce je dev-only reference. Klient ani HR admin ji neuvidí v produkčním UI.
V wireframu ji necháváme pro validaci týmem. Plná verze v XSD-DB-MAPPING.md + MDB-MAPPING.md.
Zobrazit mapovací tabulku (formulář → DB → XSD → JMHZ)
UI label
Krok
DB sloupec
Pamica XSD
JMHZ
Kategorie
Jméno
1
employees.first_name
nameType/firstName
REGZEC
A/B/C
Rodné číslo
1
employees.personal_id (encrypted)
personalInfo/birthNumber
REGZEC
A + B (opt)
Číslo pojištěnce cizince
3
employees.foreign_insurance_number
foreignerType/insuranceNumber
REGZEC cizinec
B/C
Typ pracovního vztahu
4
employments.kind
employmentKindType
REGZEC
A/B/C
Datum nástupu
4
employments.start_date
employment/startDate
REGZEC · DEN PŘED od 7/2026
A/B/C
CZ-ISCO
4
employments.ispv_isco_class
wagePaymentType/isco
JMH (měsíční)
A/B/C
Hrubá mzda
4
employment_wage_elements.amount
wagePaymentType/amount
JMH
A/B/C
Vzdělání (KKOV)
5
employees.ispv_education
personalInfo/education
JMH
A/B/C
Bankovní účet
6
employees.bank_account (encrypted)
bankAccountType
—
A/B/C
Sleva na dítě
7
employee_tax_items (děti)
taxesInsurance/taxAdvantage
JMH (ročně)
A/B/C
Starobní důchod
7
employees.ossz_pension
personalInfo/pension
REGZEC · ovlivňuje odvody
A/B/C
Invalidní důchod
7
employee_tax_items (invalid)
taxesInsurance/disabilityTax
—
A/B/C
ZTP průkaz
7
employee_cards (type=ZTP)
—
—
A/B/C
Čestné prohlášení (PDF)
8
files (category=Potvrzeni)
—
—
A/B/C
OIČ
9
employees.jmhz_oic
—
REGZEC
A/B/C
Státní příslušnost
1
employees.citizenship
personalInfo/citizenship
REGZEC · určuje lhůtu
A/B/C
Typ pobytu (cizinec)
3
employees.fg_residence_type
foreignerType/residenceType
REGZEC cizinec
B/C
Pracovní povolení
3
employees.fg_work_permit
foreignerType/workPermit
REGZEC cizinec
C
Sekce 5
Klíčové poznámky k implementaci
Co vzniklo / změnilo se po feedbacku účetní 21.4.2026.
01Krok 0.5 — explicitní volba kategorie (P0 fix)
Před Krokem 1 klient explicitně volí A (ČR) / B (EU) / C (non-EU). Dříve to bylo pasivní variant tab v Kroku 3 = flow nevěděl co zobrazit. Teď kategorie determinuje validace RČ, viditelnost cizinecké sekce, Pracovní povolení (jen C) a další.
02Validace RČ cizinců — Varianta A (relaxed)
V Kroku 1 je pro B/C toggle "Má zaměstnanec české RČ?". Kategorie A (ČR): striktní validate_rc_cz s mod 11 checksum. Kategorie B/C: relaxovaný validate_rc_cizinec (kontrola 10 číslic + platné datum narození, checksum jen warning). Research plán viz RESEARCH-RC-CIZINCU-TODO.md.
03Hrubá mzda v Kroku 4 — MVP blocker
Bez hrubé mzdy / hodinové sazby nelze spočítat první mzdu. Povinné pole. Typ mzdy se řídí typem pracovního vztahu.
04CZ-ISCO přes nsp.cz
Lepší UX než brute-force 7966 položek. Uživatel píše "účetní" → NSP vrátí kartu pozice + CZ-ISCO kód. Fallback ref_isco.
05Důchody MVP (nikoliv V2)
Starobní a invalidní důchod ovlivňuje odvody od prvního měsíce. Nelze odložit na V2. Upload rozhodnutí povinný.
06Čestné prohlášení generátor
Krok 8 varianta C = systém generuje PDF template (17-pdf-templates.md). Klient podepíše a uploadne. Antivir scan povinný.
07Antivir scan (ClamAV Worker)
Každý upload (scan dokladu, rodný list, rozhodnutí, zápočtový list, čestné prohlášení) projde ClamAV před uložením do R2. MVP blocker.
08Consent gate v Kroku 10
Povinný confirmation step (14-bezpecnost.md). Ukládá timestamp, user ID, IP, hash formulářových dat. Chrání účetní firmu před sankcemi.
09Per-tenant AI learning
AI Import Agent (16-ai-agent.md) se učí mapping column → field jen v rámci tenanta. Žádné cross-tenant sdílení dat.
10Boundary: nekomunikujeme s ČSSZ
DATA Most = sběr + validace. Podání (REGZEC, JMH, JMHZ) dělá Pamica/Pohoda. Náš export = DBF / XML / CSV.