Východisková situácia
Mzdové spracovanie vo viacerých interných ICC firmách bolo vykonávané v kombinácii Excel + manuálne odoslanie SEPA súborov do internet bankingu. Pri 5–15 zamestnancoch na firmu to bolo zvládnuteľné, no:
- Pravidelné chyby v prepisoch hodín alebo zrazok.
- Časová réžia každý mesiac 4–6 hodín jednej osoby.
- Žiadny audit trail — pri retroaktívnej úprave (oprava odpracovaných hodín) sa staré výpočty stratili.
- SEPA súbory sa skladali manuálne podľa banka-špecifického formátu, časté reklamácie pri nekonzistentnom IBAN/SWIFT.
Cieľ projektu
Postaviť vlastný mzdový systém ktorý:
- vykoná plný výpočet z hrubej mzdy na čistú so slovenskými sociálnymi a zdravotnými odvodmi,
- vygeneruje SEPA XML pain.001 platobný príkaz priamo,
- zachová audit trail každej úpravy,
- bezpečne integruje s bankovým API (ČSOB pilot, ostatné cez SEPA XML upload).
Riešenie
Tok výpočtu hrubej na čistú mzdu:
- Vstup — odpracované hodiny, prémie, nadčasy, zrazky.
- Výpočet hrubej mzdy podľa zmluvy (mesačná / hodinová / kombinácia).
- Sociálne odvody (zamestnanec + zamestnávateľ) — tabuľka per rok, automaticky aktualizovaná pri zmene legislatívy.
- Zdravotné odvody — analogicky.
- Daňový bonus, nezdaniteľná časť — per zamestnanec config.
- Čistá mzda + výpis pre zamestnanca (PDF v značke firmy).
SEPA XML generovanie:
- Štandardný formát pain.001.001.03 (slovenská banková špecifikácia).
- Pred-validácia IBAN cez MOD-97 kontrolný súčet + overenie BIC proti SWIFT registru.
- Kontrola hash výsledného XML proti vstupnej dávke — zaisťuje, že sa nezmení medzi generovaním a nahratím do banky.
Prepojenie s bankami:
- ČSOB Open API (pilotné nasadenie) — priame odoslanie pain.001 cez OAuth + ďalšie kroky autorizácie.
- Univerzálny SEPA XML export pre ostatné banky — manuálne nahratie do internetbankingu.
Audit trail:
- Každá zmena v evidencii (oprava hodín, retroaktívna prémia) je insert-only s odkazom na pôvodnú verziu.
- Mesačný uzávierka „freezuje” výpočty — neskoršie úpravy sú samostatné delta korekcie, nie prepisovanie histórie.
Výsledky
- Mesačné spracovanie sa skrátilo zo 4–6 hodín na 15–20 minút kontroly výsledkov.
- Žiadne reklamácie SEPA súborov od nasadenia (predtým 2–3 mesačne).
- Daňový bonus a neštandardné situácie (rodičovská, dlhšia PN) sa riešia konfiguráciou pre jednotlivca bez zásahu do kódu.
- Súlad s GDPR — mzdové dáta zostávajú výhradne v EÚ, na hardvéri ANDROS.
Technológie a infraštruktúra
Vlastný FastAPI backend, PostgreSQL s riadkovou bezpečnosťou per zamestnávateľ. Frontend React 19 + Tailwind v4 podľa D-008. Záloha cez restic + Backblaze B2 do dvoch nezávislých úložísk pre prípad havárie.