← DokArh Portal
modul

core/datev_worktime.py — Globalni DATEV Worktime Export Modul

Kreator: Ivan + CC (Sonnet 4.6) Datum: 2026-05-08 Status: LIVE
WeisE3™ ID: WEISE3::datev_worktime_global::fenix-v3::core::2026-05-08::FENIX2026
tipmodul
verzija1.0
statusLIVE
sto_jeDomenski neutralan modul za DATEV LODAS i Stundennachweis izvoz radnih sati. Poziva se iz BILO KOJE domene u sustavu.
lokacija{ "server": "/var/www/fenix-v3/core/datev_worktime.py", "import": "from core.datev_worktime import DATEVWorktime, WorktimeRecord, DATEVConfig" }
domene_koje_ga_koriste[ "sati.ink — sati_worktime app (primarni korisnik)", "genesispos.online — POS time tracking (budući)", "limit-connect.com — HR payroll TimeLog (budući)", "memio.farm / memio.world — radnici po projektu (budući)" ]
klase{ "DATEVConfig": "Konfiguracija mandanta: berater_nr, mandant_nr, kostenstelle, max_daily_regular_h", "WorktimeRecord": "Domenski neutralan zapis smjene. Adaptori: from_sati_log(), from_time_log()", "DATEVWorktime": "Statična klasa s export metodama: lodas_export(), stundennachweis_csv()" }
format_podrska[ "DATEV LODAS ASCII — Lohnbuchungsstapel (primarni, 90%+ DE Steuerberater)", "Stundennachweis CSV — Excel/Google Sheets (sekundarni, za radnike)" ]
lohnarten{ "100": "Lohnstunden — regularne sate (do max_daily_regular_h, default 8h/dan)", "110": "Überstunden — prekovremeni sati (>8h/dan)", "120": "ArbZG Pause — rezervirano, §4 ArbZG (nije u retku, nego u kolonama)" }
zakoni[ "ZAKON 26 — TypedDict/dataclass schema contract", "ZAKON 1A — WeisE3 ID u svakom retku" ]
backward_compat{ "putanja": "/var/www/fenix-v3/sati_worktime/datev_export.py", "sto_radi": "Re-exportira iz core.datev_worktime + legacy wrapper funkcije za stare pozive" }
sigurnost{ "bom": "UTF-8 BOM (\\ufeff) — DATEV standard za DE posebne znakove (ä/ö/ü)", "idempotent": "Svaki poziv generira isti output za iste ulazne podatke", "genesis_id_kolona": "weise3_id puni string u svakom retku — DokArh verifikacija" }
faze{ "f1": "core/datev_worktime.py napisan — DONE", "f2": "sati_worktime/datev_export.py → backward compat wrapper — DONE", "f3": "View + URL za download endpoint u sati_worktime — TODO (c0160 F6 nastavak)", "f4": "POS time tracking adapter — FUTURE", "f5": "TimeLog adapter (limit-connect.com) — FUTURE" }
zapis_sesijec0160 F6 — korisnik zatražio globalni modul koji se poziva po potrebi u sve domene