A real time pénzügyi, logisztikai ERP rendszerek sajátosságai
A kis- és középvállalatoknál használt modern ERP rendszereknél általában két kulcsszó szokott felmerülni, mint alapvető elvárás: integrált és real-time legyen.
Mit jelent az, hogy real-time?
Ez azt mutatja, hogy minden információ valós időben kerül lerögzítésre, és a rendszerből kinyert információk mindenkor az éppen aktuális állapotokat mutatják. Praktikusan azt, hogy nincsenek vagy csak minimálisak a “feladások”, “modulok közötti átadások”, stb. Ebből is adódik, hogy egy real-time rendszernek mindenképpen integráltnak is kell lennie. De ez fordítva már nem igaz.
Lássuk, hogy ez mit takar a pénzügy és a logisztika területén! Például nézzünk egy értékesítési számlát! Egy real-time rendszer a számla rögzítése pillanatában (un. tranzakcióban) leveszi a készletről az eladott árut (ha nem előzte ezt meg egy kimenő szállítólevél), amivel egyben csökkenti a készletértéket; lekönyveli a szükséges könyvelési tételeket (árbevételt, ÁFA-t és vevő oldali követelést); rárakja a követelést a partner folyószámlára; ha megelőzte szállítólevél / rendelés, akkor lezárja a szállítólevelet/rendelést; stb… Tehát a számla rögzítése után a készlet beszámoló rögtön a helyes készletet mutatja, a partner folyószámla beszámoló is az aktualizált kinnlevőséget tartalmazza.
Ezek a lépések úgynevezett tranzakciókban futnak. Így ha bármely lépés hibára fut (pl. nincs elég áru a készleten), akkor az egész folyamat “visszafordul”. Ezt az informatikában úgy hívjuk, hogy a tranzakció “rollback”-el. Tehát nem képződik könyvelés, stb., minden olyan, mint semmi sem történt volna.
Egy KKV-nél működő valós idejű rendszerben nagyon kevés olyan funkció van, amit utólag azért kell lefuttatni, hogy minden adat a helyére kerüljön. Ilyenre példa a kerekítési és árfolyamkülönbözetek könyvelése vagy csúsztatott átlagáras készletérték kezelés esetén a havi zárás (átlagár és elszámoló ár kiszámítása, készletérték különbözet lekönyvelése).
De miért használnak nem real-time rendszert?
A válasz általában kétféle lehet: vagy régi egy rendszer és már nem tudják vagy nem is akarják áttervezni, vagy nem lehet megcsinálni real-time-ra. A második eset érdekesebb. Hogyhogy nem lehet egy rendszer real-time? A válasz a néhány mondattal előbb leírtakból adódik. Tranzakciók kellenek ahhoz, hogy a rendszer “konzisztens” maradjon. Ne legyen a könyvelés féllábas, a folyószámla ne térjen el a főkönyvtől, a készlet csak akkor csökkenjen, ha nem megy mínuszba, stb… A tranzakció alatt ún. lokkolásokat kell létrehozni, tehát tipikusan a számköröket lokkolni kell. Ez a szigorú sorszámozás miatt alapvető. Márpedig egy integrált rendszerben egy tranzakció sokáig tarthat (értsd néhány tizedmásodperctől felfelé több másodpercig is). Márpedig ez néha hosszú idő. Így ha egy rendszert már eleve sok tranzakcióra terveztek (tipikusan nagyvállalati környezetben), akkor azt valószínűleg nem teljesen real-time rendszerre tervezték.
Arról, hogy mi hogyan biztosítjuk a Flexium real-time működését nagy tranzakciószám esetén is, egy következő cikkünkben olvashatnak.