Nordlet

← Blog

Hogyan működnek az ERP-rendszerek: modulok, adatáramlás és a háttérben meghúzódó főkönyv

Egyetlen tranzakció végigkövetése az ERP minden modulján, a konkrét könyvelési tételekkel, valamint annak magyarázata, hogy miért a főkönyv az a forrás, amelyből minden egyéb olvas.

Nordlet Team · · 8 perc olvasás

Egy ERP-rendszer úgy működik, hogy minden üzleti eseményt egyszer rögzít egyetlen adatbázisban, és hagyja, hogy az egyes modulok olvassák és írják ezt a megosztott rekordot. Egy kiszállított megrendelés ugyanaz a rekord, függetlenül attól, hogy a raktár, az értékesítési csapat vagy a könyvelő nézi. Az a modul, amely az egész rendszert hitelesen tartja, a főkönyv: minden pénzértékkel bíró esemény egyensúlyban lévő könyvelési tételként végződik benne, és minden riport ezekből a tételekből származik.

Ez a cikk végigkövet egy eladást a modulokon keresztül, bemutatja az általa generált könyvelési tételeket, és elmagyarázza, hogy az ERP-vel való integráció miért az eseményekről és a főkönyvről szól a képernyők helyett.

A közös adatbázis

Az ERP megjelenése előtt minden departament a saját programját futtatta. A készlet egy raktárkezelő rendszerben, a számlák egy számlázóban, a könyvelés pedig egy könyvelőprogramban élt. A hónap vége a hármas egyeztetésével telt. Mi az az ERP szoftver? bemutatja a kategóriát; az a mechanizmus, ami működőképessé teszi, egyetlen adatmodell, amelyben:

  • egy partner rekordot használ az értékesítés, a beszerzés és a főkönyv egyaránt,
  • egy cikk rekord tartalmazza a készletmennyiséget, a FIFO-költségrétegeket, az eladási árat és az árbevételi számlát,
  • egy bizonylat (megrendelés, számla, helyesbítő számla, beszerzés, gyártási rendelés) hivatkozik partnerekre és cikkekre, és pontosan egy könyvelési tételcsoportot hoz létre,
  • egy könyvelési tétel hivatkozik az azt létrehozó bizonylatra, így a riportban szereplő minden szám visszavezethető.

Ha a rekordok közösek, nincs mit egyeztetni a modulok között. Ami egyeztetésre marad, az a külvilág: a bankkivonatok és az adóbevallások.

A modulok térképe

Modul Ír Olvas
Értékesítés Megrendelések, számlák, helyesbítő számlák Partnerek, cikkek, árak, áfaszabályok
Beszerzés Beszerzési megrendelések, szállítói számlák Partnerek, cikkek, költségszámlák
Készlet Készletmozgások, FIFO-költségrétegek, leltárak Cikkek, raktárak
Gyártás Gyártási rendelések, anyagfelhasználás, késztermékek Anyagjegyzékek, készlet
Bank Importált tranzakciók, fizetési párosítások Nyitott számlák, bankszámlák
Bérszámfejtés Bérszámfejtési futtatások, járulékok, bevallások Alkalmazottak, szerződések, adótáblák
Eszközök Tárgyi eszköz nyilvántartás, értékcsökkenési futtatások Eszközcsoportok, hasznos élettartamok
Adó Áfabevallások, összesítő jelentések, Intrastat, e-számlák Kiállított és rögzített bizonylatok
Főkönyv Könyvelési tételek, időszakzárolások Minden fenti
Riportolás Semmit A főkönyv és az analitikák

Az utolsó kettő kivételével minden sor a főkönyvbe történő írással végződik. Ez az a tervezési szabály, amely megkülönbözteti az ERP-t a összekapcsolt eszközök halmazától.

Egy működő adatfolyam

Az alábbi példa a Nordlet végpontjait és a mellékelt litván számlatükör alapértelmezett számláit használja. Bármely ERP ugyanazokat a lépéseket hajtja végre; a számlakódok és a végpontok nevei eltérnek.

1. Megrendelés

Egy webshop megrendelést ad le a POST /v1/ecommerce/orders/create címen: egy partner, tételek cikkekkel és mennyiségekkel, valamint egy szállítási ország. Még semmi sem könyvelődik a főkönyvbe. A megrendelés elköteleződés, nem pedig tranzakció.

2. Készletfoglalás

Az orders/reserve félreteszi a mennyiségeket, így egy második megrendelés nem tudja eladni ugyanazokat az egységeket. Még mindig nincs könyvelési tétel: a lefoglalt készlet továbbra is a tulajdonunkban van.

3. Teljesítés

Az orders/fulfill rögzíti a raktárat elhagyó árut. Két dolog történik egyetlen adatbázis-tranzakcióban:

  • A készlet felhasználása FIFO-költségen történik: az egyes cikkek legrégebbi költségrétegeit használják fel először, ami a FIFO készletértékelés szószedetben leírt módszer.
  • Ezen egységek költsége könyvelési tételként kerül bejegyzésre: tartozik az eladott áruk beszerzési értéke, követel a készlet.
Számla Tartozik Követel
6000 Eladott áruk beszerzési értéke 600,00
2040 Készlet 600,00

A teljesítés létrehoz egy tervezet számlát is a megrendeléshez, és meghatározza az áfakezelést a szállítási ország alapján az EU áfa motor használatával.

4. Számlakibocsátás

A számla kibocsátása az a pillanat, amikor az árbevétel elszámolásra kerül egy adott időponthoz kötött értékesítés esetén. A bizonylat megkapja a hézagmentes sorszámát, és egy egyensúlyban lévő tétel könyvelődik: a bruttó összeg a követelésekbe, az áfa a fizetendő áfa számlára, a nettó pedig az árbevételbe.

Egy 1 000 eurós nettó eladás esetén 21%-os litván áfával:

Számla Tartozik Követel
2410 Vevők követelései 1 210,00
5000 Áruk értékesítésének árbevétele 1 000,00
4492 Fizetendő áfa 210,00

Ha egy tétel az időponthoz kötöttnél eltérő elszámolási móddal rendelkezik, a nettó összeg a halasztott bevételek közé kerül, és az árbevétel-elismerési motor ütemezetten oldja fel. A követelések és az áfa könyvelése nem változik.

A számla mostantól elküldhető PDF-ben, Peppol BIS 3.0 e-számlaként vagy a vállalat országának megfelelő nemzeti e-számlázási formátumban.

5. Banki egyeztetés

Két héttel később megérkezik 1 210 euró. A mozgás PSD2 banki hírcsatornán vagy camt.053 kivonat importon keresztül érkezik. A banki modul összeget, közleményt, partnernevet és IBAN-számot alapján pontozza a jelölt számlákat, és a bank/transactions/match bekönyveli a kiegyenlítést:

Számla Tartozik Követel
2710 Bank 1 210,00
2410 Vevők követelései 1 210,00

A számla állapota fizetettre változik, és a rendszer kibocsát egy sale_invoice.paid webhookot. A fizetési egyeztetés bejegyzés részletesebben elmagyarázza az illesztési logikát. Egy másik pénznemben történő fizetés ugyanebben a lépésben bekönyveri a realizált árfolyamkülönbözetet a nyereség vagy veszteség számlára.

6. Áfabevallás

A hónap végén semmit sem kell újra beírni. Az áfabevallást a kiállított és rögzített bizonylatok alapján kell kiszámítani: a declarations/eu/vat-return/compute a belföldi bevalláshoz (Litvániában FR0600), a declarations/eu/oss/compute pedig az Unió szerinti szabályzat hatálya alá tartozó határokon átnyúló fogyasztói értékesítésekhez. A fenti eladás a belföldi bevallás normál kulcsú sorába kerül, mivel az áfakulcsa domestic.

7. Időszak zárolása

A bevallás benyújtása után a ledger/periods/lock lezárja a hónapot. Ezt követően az erre a dátumra eső könyveléseket, beleértve a késői banki egyeztetést vagy az újrapróbált API-hívást, a rendszer HTTP 409-ces hibával elutasítja. A zárolás elindítja az időszak végéig esedékes halasztott bevételek elszámolását is, így a hónap nem zárható le úgy, hogy a passzívák között maradt megszerzett bevétel.

Miért a főkönyv a nyilvántartási rendszer?

A fenti modulok mindegyike fenntart egy analitikát: vevők szerint a követeléseket, szállítók szerint a kötelezettségeket, cikkenként a készletet, eszközönként az eszközöket. A főkönyv tartalmazza azokat a végösszegeket, amelyekkel ezeknek az analitikáknak egyezniük kell. Az analitika és főkönyv kapcsolata ismerteti a viszonyt; a gyakorlati szempont az, hogy a főkönyvből és az analitikából készült riportnak ugyanazt a számot kell adnia, és egy ERP ezt úgy garantálja, hogy mindkettőt ugyanazokból a könyvelési tételekből állítja elő.

Három tulajdonság teszi a főkönyvet hiteles nyilvántartássá:

  1. Az egyensúly kényszerített. A Nordletben az adatbázis visszautasítja az olyan tételeket, amelyek tartozik oldala nem egyezik meg a követel oldalával. Egy modulban lévő hiba nem hoz létre féloldalas könyvelést.
  2. A előzmények csak hozzáfűzhetőek (append-only). A lekönyvelt tételt soha nem szerkesztik. A hibát sztornóval és új tétellel javítják, mindkettő az eredetihez kapcsolódik. Az inkromuptibilis (módosíthatatlan) főkönyv bejegyzés elmagyarázza, hogy a könyvvizsgálatok miért ragaszkodnak ehhez.
  3. Az időszakok lezáródnak. Egy lezárt hónap nem változhat, így a beadott számok maradnak a rendszerben.

Integráció: események és idempotencia, nem pedig éjszakai kötegelt futtatások

A régebbi ERP-integrációk éjszaka cserélt fájlokon alapultak: exportáld a megrendeléseket, importáld őket, nézd meg a hibanaplót reggel. A modern ERP-k API-t biztosítanak, és az integráció két elv betartásává válik.

Kimenő események. Ha valami megváltozik, az ERP értesíti Önt. A Nordlet minden webhook eseményt beír egy üzenetsorba (outbox) ugyanabban az adatbázis-tranzakcióban, mint a változást, így a visszagörgetett bizonylat soha nem bocsát ki eseményt, és egyetlen esemény sem vész el. A kézbesítéseket HMAC-SHA256 aláírással látják el, és exponenciális várakozással próbálják újra. Az Ön rendszere a sale_invoice.paid eseményre reagál ahelyett, hogy öpercenként kérdezné, hogy bármit kifizettek-e.

Biztonságos bemenő újrapróbálások. A hálózatok megszakadhatnak, és egy újrapróbált kérés nem hozhat létre második számlát. A Nordlet minden módosító híváson elfogad egy Idempotency-Key fejlécet: ugyanaz a kulcs ugyanazzal a tartalommal a tárolt választ adja vissza, ugyanaz a kulcs eltérő tartalommal elutasításra kerül, és a kulcsok 24 óra elteltével lejárnak. Az idempotencia szószedet és az API konvenciók leírják a pontos viselkedést.

Mivel minden művelet egy POST /v1/{module}/{resource}/{action hívás, és az alkalmazás ugyanazokat a végpontokat használja, az integráció le tudja futtatni a fenti teljes folyamatot anélkül, hogy bárki megnyitna egy képernyőt. Hogyan integtráljunk felhőalapú könyvelési API-t egy SaaS platformba végigvezeti egy ilyen fejlesztést.

Mit olvas a riportolás?

A riportok nem tárolnak számokat. Ezek lekérdezések a főkönyvből és az analitikákból egy adott időpontban:

  • Főkönyvi kivonat, mérleg, eredménykimutatás, cash flow könyvelési tételeket olvasnak számla és időszak szerint.
  • Lejárati statisztika (debt aging) nyitott vevőket és szállítókat olvas esedékesség szerint.
  • Készletegyenleg és -mozgás a készletanalitikát és annak FIFO-rétegeit olvassa.
  • Áfa-összesítő a kiállított és rögzített bizonylatok áfasorait olvassa.
  • Költséghely-riportok az egyes könyvelési sorokon lévő költséghely-dimenziót olvassák.

A Nordletben a riport a háttérben generálódik XLSX, PDF vagy JSON formátumban, és egy webhook fut le, amikor a fájl elkészült. A konszolidált számok a konszolidációból származnak, amely több vállalat főkönyvét egyesíti tulajdoni hányaddal súlyozva és valutakonverzióval.

Ahol ez a gyakorlatban eltörik

A legtöbb ERP-probléma a közös rekord elvének megsértéséből fakad, nem pedig a szoftverből. Gyakori esetek:

  • Párhuzamos táblázat valami olyasmire, amit az ERP „nem tud”, ami aztán eltér a könyvektől.
  • Kézi könyvelési tételek a modul kimenetének javítására a bizonylat helyesbítése helyett, ami megszakítja a jelentéstől a forrásig vezető nyomvonalat.
  • Egyenlegeket író integrációk bizonylatok helyett, így a főkönyvben olyan végösszegek szerepelnek, amelyeket senki sem tud megmagyarázni.
  • Nyitva hagyott időszakok, amelyeket hónapokig nem zárnak le, így az előző negyedév benyújtott adatai elcsúsznak.

Miért buknak el az ERP-bevezetések bemutatja, hogyan alakulnak ki ezek a szokások a bevezetés során, és a reális ERP-bevezetési ütemtervek mutatják meg, hogy a projekt mely pontján szoktak előfordulni.

FAQ

Mi az alapja egy ERP-rendszernek?

A főkönyv és a köré épülő közös adatmodell. Minden modul olyan bizonylatokat ír, amelyek egyensúlyban lévő könyvelési tételeket hoznak létre, és minden riport ezekből a tételekből származik.

Hogyan áramlanak az adatok egy ERP-n keresztül?

Az eseményeket egyszer bizonylatként rögzítik (megrendelés, számla, mozgás, bérszámfejtés). A bizonylat könyvelési tételeket hoz létre a főkönyvben és mozgásokat a vonatkozó analitikában. A riportok és áfabevallások ezekből a rekordokból kerülnek kiszámításra. Semmit sem másolnak át a modulok között.

Mi a különbség a modul és az integráció között?

Egy modul ugyanabba az adatbázisba és ugyanabba a főkönyvbe ír, mint a rendszer többi része. Az integráció egy külső program, amely meghívja az ERP API-ját. Egy API-első ERP esetében a különbség kicsi, mivel az integráció ugyanazokat a végpontokat használja, mint a modulok.

Könyvel az ERP automatikusan gazdasági eseményeket?

Igen. Számla kibocsátása, megrendelés teljesítése, fizetés egyeztetése, bérszámfejtés futtatása vagy tárgyi eszköz értékcsökkenésének elszámolása mind könyvelési tételt hoz létre anélkül, hogy valakinek tartozik-követel párokat kellene összeállítania. A felhasznált számlák vállalatonként módosítható könyvelési szabályokból származnak.

Miért zárolják az ERP-k a könyvelési időszakokat?

Azért, hogy az adott időszakra vonatkozóan jelentett vagy benyújtott adatok utólag ne változhassanak meg. A zárolt időszak elutasítja az új könyveléseket, ami védi a audit nyomvonalat (audit trail), és a helyesbítéseket az aktuális időszakba kényszeríti, ahol láthatóvá válnak.

További olvasnivalók