A periodikus elszamolasi projektek azok, ahol egy ugyfellel hosszu tavu, ismetlodo elszamolasi kapcsolat all fenn: konzultacios retainer, SaaS-elofizetes, eszkoz-lizing, takaritasi szerződes. A Netorigo Finance modul ezeket egy project tablan kezeli, schedule + esedekessegek + dunning + automatikus NAV-szamlazas integraciojaval.
A use case-ek
A leggakoribb tipusok:
-
Konzultacios retainer — havi fix osszeg (pl. 800,000 Ft/ho), egy adott szakember vagy szakemkapacitas lekotese. Az ügyfel a hozzaferes-jogot fizet, a tenyleges felhasznalas valtozhat.
-
SaaS-elofizetes — havi vagy eves elofzetessek, gyakran tier-szintekkel (Basic, Pro, Enterprise). A Netorigo Sales modullal integralva a tier-valtas automatikusan ujraszamol arajanlatot.
-
Eszkoz-lizing — pl. masolo-bertel, robot-bertel, jarmu-flotta. Fix havi dij + esetleges hasznalat-alapu pluszdij (oldal-szamlalo, kilometorszamlalo).
-
Takaritasi vagy karbantartasi szerződes — havi atatany + esetleges extra-megrendelesek.
A projekt-shape
Minden projekt egy project rekord, az alabbi alapadatokkal:
- partner (FK)
- szerződes-azonosito (ugyfel-oldali)
- kezdo es vegdatum (vagy hatarozatlan)
- schedule-szabaly (cron-szeru): pl. minden ho 1-en, vagy minden negyedev elso munkanapjan
- alapdij (osszeg + deviza)
- extra-tetel-szabalyok (hasznalat-alapu, milestone-alapu)
- felelos szemelyek (account manager, technikai felelos)
- dunning-szabaly (mikor menjen az emlekezto, mikor a leverlevel)
A project_invoice reszhalbla a kibocsatott szamlakat tarolja, fk-vel a project-re. Az project_milestone a teljesitesi pontokat (deliverable-okat) tarolja, ami a milestone-fixsz projekteknel hasznalatos.
A allapot-gep
Minden projekt egy 5 allapotos allapot-gepben mozog: DRAFT → ACTIVE → PAUSED → COMPLETED → ARCHIVED.
- DRAFT: meg nem inditott projekt. Szerződes elokeszitese alatt. Szamlazas nincs.
- ACTIVE: futo projekt. Schedule szerint automatikusan generalodnak a szamlak.
- PAUSED: atmenetileg leallitva (pl. nyari leallas, vegfelh. felmondas alatt). Szamlazas szunetel, de a projekt nem kerul archiivba.
- COMPLETED: a szerződes vegere ert, minden vegteljesites megtortent.
- ARCHIVED: a teljes lezarasa utan, audit-celokra megorizve, irhasznalatra nem elerheto.
Minden allapotvaltas auditalva van: project_audit tabla, ki valtoztatta, mikor, milyen okkal (commit-message-szeruen). Az ARCHIVED-be valtas csak 6 honap COMPLETED-utan engedelyezett, hogy a NAV-elavult-jogviszony egyszerusitett verziojat tisztan tartsuk.
Automata NAV-szamlazas
A schedule-szabaly szerint a project-billing.worker.ts BullMQ-cron a megadott napon (pl. minden ho 1-en 06:00-kor) felfut, lekerdezi az adott napra esedekes projekteket, es minden egyhez egy szamla-tervezetet general. A tervezet automatikusan jovahaagy a (auto-approve: true flag-gel) lett projekteknel, es a NAV-uploader azonnal felveszi a queue-ra. Igy a havi szamlazasi ciklus emberi beavatkozas nelkul lemegy.
A partnernek, akinek 84 aktiv projektje van (konzultacios ceg), regen 6 oraja ment el havonta a szamlazasi feladatra (project-listara nezni, atallitani statuszokat, atmasoolni Excel-be, kuldeni). Most ez a folyamat 2 percig tart (a hibakhoz at kell vizsgalni a generalt szamlakat, jovahagyni, kuldeni). Havonta 5 ora 58 perc megtakaritas.
A audit-szempontu allapot-gep
Miert nem engedunk peldaul ACTIVE → DRAFT visszalepest? Mert egy ACTIVE projekt mar kibocsatott szamlakat tartalmaz, es a DRAFT-re visszallitas felhomalyositana, hogy ezek a szamlak alapjabaul szolgalo szerződes meg 'tervezetnek' szamit-e. A NAV audit-szabaly szerint a kibocsatott szamlanak hatarozott alapjanak kell lennie.
Ha egy projektet vissza kell vonni, a STORNO-folyamatban kerul felmondasara: kibocsatunk egy STORNO szamlat minden korabbi szamlara, a projektet PAUSED-ba, majd COMPLETED-be allitjuk. Ez fer az NAV-szabaly mellet.
A periodikus elszamolas nem latvanyos modul, de havonta 6 orat tunk el egy szakember-cegtnel. Ez 72 oranyi visszanyert kapacitas evente.