Financie a administratíva

InvoiceFlow CK DAKA

Systém na príjem, kontrolu, schvaľovanie a úhradu dodávateľských faktúr (v príprave)

Server/API

O projekte

Navrhovaný systém, ktorý má automaticky prijímať dodávateľské faktúry, pokladničné doklady a vyúčtovania zájazdov (najmä z e-mailu), vyťažiť z nich údaje, priradiť ich k zájazdu či autobusu v systéme CK DAKA, prejsť schvaľovaním a pripraviť úhradu v banke. V repozitári je hotová podrobná špecifikácia, discovery existujúcej databázy CK DAKA, architektúra a čisté doménové jadro s testami; aplikácia (API, worker, web) vzniká v ďalšej fáze.

Čo aplikácia vie

  • Práca s peniazmi bez float čísel (BigInt so škálou 4 desatinných miest, menové jednotky podľa meny)
  • Stavový automat dokladu s 31 stavmi od prijatia po úhradu a archiváciu, vrátane ochrany schválených stavov a stavov v banke
  • Kontrola matematiky faktúry – riadky, rozpis DPH a súčty s toleranciami
  • Normalizácia čísla faktúry a miera podobnosti pre hľadanie duplicít
  • Validácia IBAN (mod 97), normalizácia a maskovanie pre zobrazenie
  • Rozpoznanie kódu termínu CK DAKA (RRMMDD + krajina + poradie) v texte dokladu
  • Typy dokladov (faktúra, dobropis, záloha, pokladničný doklad, vyúčtovanie zájazdu…) a spôsoby vyrovnania (prevod, hotovosť, karta, záloha zamestnanca)
  • Verejné ID dokladov a platobných dávok a EndToEndId platieb
  • Typované rozhrania adaptérov: zdroje dokladov (e-mail, upload, API, Peppol), banky (SEPA, okamžité platby, overenie príjemcu), systém CK DAKA, OCR/AI extrakcia, register dodávateľov

Technicky zaujímavé

  • Rozsiahla špecifikácia (5 600 riadkov) a discovery overené priamo proti schéme produkčnej databázy CK DAKA (len čítanie, bez osobných údajov)
  • Deterministické finančné jadro bez AI: AI smie klasifikovať a vyťažovať, nikdy neodosiela platbu ani nepotvrdzuje zmenu IBAN
  • Architektúra prispôsobená existujúcemu hostingu (Plesk, MariaDB, DB fronta namiesto Redisu) s vymeniteľnými adaptérmi

V pláne

  • Phase 1: e-mailový inbox cez Microsoft 365 (Graph) s OCR a AI vyťažením
  • Human review UI (split view), supplier master a kontrola zmeny IBAN
  • Detekcia duplicít (hash, dodávateľ + číslo, suma + dátum, IBAN + VS, fuzzy) aj voči existujúcim platbám v CK DAKA
  • Context matching na zájazd, termín a autobus z databázy CK DAKA
  • Rule engine, workflow schvaľovania so zastupovaním a SLA, risk engine a hard blocks
  • Payment Center: platobné dávky, Tatra banka a ČSOB API, pain.001 fallback, bankové párovanie
  • Pokladničné doklady z eKasa a vyúčtovania zájazdov sprievodcami
  • Prihlásenie cez Microsoft Entra ID, RBAC+ABAC, segregation of duties, audit s hash reťazcom
  • Nasadenie na Plesk Node.js hosting s MariaDB (bez Dockeru a Redisu)