Nordlet

← Blog

Ako fungujú ERP systémy: Moduly, tok údajov a podkladová hlavná kniha

Jedna transakcia sledovaná naprieč všetkými modulmi ERP, vrátane skutočných účtovných zápisov, a vysvetlenie, prečo je hlavná kniha záznamom, z ktorého všetko ostatné vychádza.

Nordlet Team · · 9 min. čítania

ERP systém funguje tak, že každú obchodnú udalosť uloží iba raz, do jednej databázy, a umožní každému modulu čítať tento zdieľaný záznam a zapisovať doň. Vyexpedovaná objednávka je presne tým istým záznamom bez ohľadu na to, či sa na ňu pozerá sklad, obchodný tím alebo účtovník. Modulom, ktorý udržiava celý systém konzistentný, je hlavná kniha (general ledger): každá udalosť s peňažnou hodnotou sa tam nakoniec prejaví ako vyrovnaný účtovný zápis (journal entry) a každý výkaz sa odvíja práve od týchto zápisov.

Tento článok sleduje jednu predajnú transakciu naprieč modulmi, ukazuje účtovné zápisy, ktoré generuje, and vysvetľuje, prečo integrácia s ERP stojí na udalostiach a hlavnej knihe namiesto používateľských obrazoviek.

Zdieľaná databáza

Pred príchodom ERP mal každý department svoj vlastný program. Zásoby sídlili v skladovom systéme, faktúry v fakturačnom systéme a účtovníctvo v účtovnom balíku. Koniec mesiaca sa trávil vzájomným odsúhlasovaním týchto troch častí. Článok Čo je to ERP softvér popisuje celú kategóriu; mechanizmom, ktorý zabezpečuje jej fungovanie, je jednotný dátový model, v ktorom:

  • záznam obchodného partnera (partner) spoločne využívajú predaj, nákup aj hlavná kniha,
  • záznam položky (item) obsahuje množstvo zásob, oceňovacie vrstvy metódou FIFO, predajnú cenu and výnosový účet,
  • dokument (objednávka, faktúra, dobropis, nákup, výrobná zákazka) odkazuje na partnerov a položky a generuje presne jednu sadu účtovných zápisov,
  • účtovný zápis odkazuje na dokument, ktorý ho vytvoril, takže každé číslo vo výkaze možno vysledovať až k pôvodnému zdroju.

Keď sú záznamy zdieľané, medzi modulmi nie je čo odsúhlasovať. To, čo zostáva na odsúhlasenie, je vonkajší svet: bankové výpisy a daňové priznania.

Prehľad modulov

Modul Zapisuje Číta
Predaj Objednávky, faktúry, dobropisy Partneri, položky, ceny, pravidlá DPH
Nákup Nákupné objednávky, dodávateľské faktúry Partneri, položky, nákladové účty
Sklad Skladové pohyby, FIFO oceňovacie vrstvy, inventúry Položky, sklady
Výroba Výrobné zákazky, spotreba materiálu, hotové výrobky Kusovníky, zásoby
Banka Importované transakcie, párovanie platieb Otvorené faktúry, bankové účty
Mzdy Mzdové uzávierky, odvody, výkazy Zamestnanci, zmluvy, daňové tabuľky
Majetok Kniha majetku, odpisy Skupiny majetku, doby životnosti
Daň Priznania k DPH, súhrnné výkazy, Intrastat, e-faktúry Vydané a zaevidované dokumenty
Hlavná kniha Účtovné zápisy, uzávierky období Všetko uvedené vyššie
Výkazníctvo Nic Hlavná kniha a analytické evidencie (subledgers)

Každý riadok okrem posledných dvoch končí zápisom do hlavnej knihy. Toto je dizajnové pravidlo, ktoré odlišuje ERP od sady prepojených nástrojov.

Reálny tok údajov

Príklad nižšie využíva koncové body (endpoints) systému Nordlet a predvolené účty litovskej účtovnej osnovy, ktorú dodáva so sebou. Každý ERP systém vykonáva rovnaké kroky, líšia sa len kódy účtov a názvy koncových bodov.

1. Objednávka

E-shop vytvorí objednávku prostredníctvom POST /v1/ecommerce/orders/create: odošle partnera, položky v riadkoch s množstvami a krajinu dodania. Do hlavnej knihy sa zatiaľ nič neúčtuje. Objednávka je záväzok, nie transakcia.

2. Rezervácia zásob

Metóda orders/reserve vyčlení zásoby, aby rovnaké kusy nemohla predať iná objednávka. Stále nevzniká žiadny účtovný zápis: rezervovaný tovar je stále vo vlastníctve firmy.

3. Vyplnenie objednávky (fulfillment)

Metóda orders/fulfill zaznamenáva odchod tovaru zo skladu. V rámci jednej databázovej transakcie sa udeje dôležitá vec:

  • Zásoby sa vyskladňujú v cenách FIFO: použijú sa najstaršie oceňovacie vrstvy pre každú položku, čo je metóda popísaná v glosári ocenění zásob metodou FIFO.
  • Hodnota týchto kusov sa zaúčtuje ako účtovný zápis: strana Má dať (debit) pre náklady na predaný tovar, strana Dal (credit) pre zásoby.
Účet Má dať Dal
6000 Náklady na predaný tovar 600,00
2040 Zásoby 600,00

Vyplnenie objednávky zároveň vytvára návrh faktúry pre túto objednávku a na základe krajiny dodania určuje daňový režim DPH pomocou nástroja EU VAT engine.

4. Vystavenie faktúry

Vystavenie faktúry je okamihom, kedy sa pri predaji v určitom bode (point-in-time) uznávajú výnosy. Dokument dostane svoje súvislé číslo a zaúčtuje sa jeden vyrovnaný zápis: celková suma ide do pohľadávok, DPH na účet výstupnej DPH a čistá hodnota (základ) na výnosy.

Pre čistý predaj vo výške 1 000,00 EUR s litovskou DPH vo výške 21 %:

Účet Má dať Dal
2410 Odberatelia (pohľadávky) 1 210,00
5000 Výnosy z predaja tovaru 1 000,00
4492 DPH na úhradu (výstupná DPH) 210,00

Ak riadok obsahuje inú metódu uznania výnosov než v momente predaja, čistá suma ide namiesto toho do výnosov budúcich období (deferred income) a modul na uznávanie výnosov ju uvoľňuje podľa harmonogramu. Zaúčtovanie pohľadávok a DPH sa tým nemení.

Faktúra teraz môže opustiť systém vo forme PDF, ako e-faktúra vo formáte Peppol BIS 3.0 alebo v národnom formáte e-fakturácie, ktorý vyžaduje legislatíva danej krajiny.

5. Párovanie s bankou

O dva týždne neskôr dorazí platba 1 210,00 EUR. Tento pohyb prichádza prostredníctvom bankového feedu PSD2 alebo importom výpisu camt.053. Bankový modul vyhodnoti kandidátske faktúry podľa sumy, variabilného symbolu, názvu protistrany a čísla IBAN a príkaz bank/transactions/match zaúčtuje úhradu:

Účet Má dať Dal
2710 Bankové účty 1 210,00
2410 Odberatelia (pohľadávky) 1 210,00

Stav faktúry sa zmení na uhradenú a odošle sa webhook sale_invoice.paid. Záznam párovanie platieb podrobnejšie vysvetľuje logiku párovania. Platba v inej mne v rovnakom kroku zaúčtuje realizovaný kurzový rozdiel na účet kurzových ziskov alebo strát.

6. Daňové priznanie k DPH

Na konci mesiaca sa nič neprepisuje ručne. Priznanie k DPH sa vypočíta z vydaných a zaevidovaných dokumentov: declarations/eu/vat-return/compute pre národné priznanie (FR0600 v Litve), declarations/eu/oss/compute pre cezhraničný predaj spotrebiteľom v rámci schémy Union Scheme. Vyššie uvedený predaj spadá do riadku so základnou sadzbou domáceho priznania, pretože jeho daňový režim je nastavený ako domestic.

7. Uzávierka účtovného obdobia

Akonáhle je priznanie podané, príkaz ledger/periods/lock uzavrie mesiac. Od toho momentu je akýkoľvek zápis s dátumom patriacim do tohto obdobia, vrátane oneskoreného párovania platby alebo opakovaného volania API, zamietnutý s chybou HTTP 409. Uzatvorenie zároveň spúšťa zaúčtovanie všetkých výnosov budúcich období, ktoré pripadajú na koniec tohto obdobia, takže sa nemôže stať, že sa mesiac uzavrie a v záväzkoch zostanú visieť zarobené výnosy.

Prečo je hlavná kniha systémom pravdivých záznamov

Každý z vyššie uvedených modulov udržiava svoju analytickú evidenciu (subledger): pohľadávky podľa zákazníkov, záväzky podľa dodávateľov, zásoby podľa položiek, majetok podľa inventárnych položiek. Hlavná kniha uchováva súčty, s ktorými sa tieto analytické evidencie musia zhodovať. Článok Analytická evidencia vs. hlavná kniha sa venu tomuto vzťahu; praktickým dôsledkom je, že výkaz zostavený z hlavnej knihy a výkaz zostavený z analytickej evidencie musia vykázať rovnaké číslo, pričom ERP to garantuje tým, že oba výstupy produkuje z rovnakých účtovných zápisov.

Hlavná kniha je dôveryhodným záznamom vďaka trom vlastnostiam:

  1. Vynucovanie vyrovnanosti. V systéme Nordlet databáza odmietne prijať zápis, ktorého suma na strane Má dať sa nerovná súčtu na strane Dal. Chyba v niektorom module nemôže vytvoriť nesymetrický účtovný zápis.
  2. História iba na čítanie a pridávanie (append-only). Zaúčtovaný záznam sa nikdy dodatočne neupravuje. Chyba sa opravuje stornom a novým zápisom, pričom oba sú prepojené s originálom. Záznam v glosári nezmeniteľná hlavná kniha (immutable ledger) vysvetľuje, prečo na tomto prístupe trvajú audítori.
  3. Uzavieranie období. Uzavretý mesiac sa už nedá zmeniť, takže čísla, ktoré ste oficiálne vykázali, sú presne tie čísla, ktoré v systéme zostávajú.

Integrácia: udalosti a idempotentnosť namiesto nočných dávok

Staršie integrácie ERP fungovali na základe súborov vymieňaných v noci: exportovať objednávky, importovať ich, ráno skontrolovať chybový log. Moderné ERP systémy poskytujú API a integrácia sa stáva záležitosťou dvoch princípov.

Udalosti smerom von. Keď sa niečo zmení, ERP vás o tom informuje. Nordlet zapisuje každú udalosť webhooku do výstupnej fronty (outbox) v rámci tej istej databázovej transakcie ako samotnú zmenu, takže dokument, ktorý bol vrátený späť (rolled back), nikdy nevysiela udalosť a žiadna udalosť sa nestratí. Doručené správy sú podpísané pomocou HMAC-SHA256 a v prípade zlyhania sa opakovane odosielajú s rastúcim časovým odstupom (exponential backoff). Váš systém reaguje na udalosť sale_invoice.paid namiesto toho, aby sa každých päť minút pýtal, či je niečo zaplatené.

Bezpečné opakované požiadavky smerom dnu. Siete zlyhávajú a opakovaná požiadavka nesmie vytvoriť druhú faktúru. Nordlet akceptuje hlavičku Idempotency-Key pri každej mutujúcej požiadavke: rovnaký kľúč s rovnakými dátumami vráti uloženú odpoveď, rovnaký kľúč s odlišnými dátumami je zamietnutý a platnosť kľúčov vyprší po 24 hodinách. Položka v glosári idempotencia (idempotency) a konvencie API popisujú toto správanie do detailov.

Keďže každá operácia predstavuje volanie POST /v1/{module}/{resource}/{action} a aplikácia využíva tie isté koncové body, integrácia dokáže vykonať celý vyššie uvedený tok bez toho, aby musel ktokoľvek otvoriť obrazovku. Sprievodca Ako integrovať API cloudového účtovníctva do SaaS platformy vás takýmto vývojom prevedie krok za krokom.

Čo číta výkazníctvo

Výkazy neuchovávajú dáta nastálo. Sú to dopyty nad hlavnou knihou a analytickými evidenciami v určitom časovom bode:

  • Súvaha, výkaz ziskov a strát, predvahy a peňažné toky čítajú účtovné zápisy podľa účtov a období.
  • Starnutie pohľadávok a záväzkov (aging) číta otvorené pohľadávky a záväzky podľa dátumu splatnosti.
  • Zostatok a pohyb zásob čítajú skladovú analytickú evidenciu a jej oceňovacie vrstvy FIFO.
  • Súhrn DPH číta riadky DPH z vydaných a zaevidovaných dokumentov.
  • Reporty nákladových stredísk čítajú dimenziu nákladového strediska na každom účtovnom riadku.

V Nordlete sa výkaz generuje na pozadí vo formáte XLSX, PDF alebo JSON a po pripravení súboru sa odošle webhook. Konsolidované čísla pochádzajú z modulu konsolidácia, ktorý spája hlavné knihy viacerých spoločností s prihliadnutím na podielové vlastníctvo a prepočet mien.

Kde to v praxi zlyháva

Väčšina problémov s ERP systémami pramení sp sporného dodržiavania princípu zdieľaných záznamov než zo samotného softvéru. Bežné scenáre:

  • Paralelná tabuľka v Exceli na niečo, čo ERP "nedokáže", ktorá sa neskôr rozchádza s oficiálnym účtovníctvom.
  • Manuálne účtovné zápisy používané na opravu výstupov z modulu namiesto opravy samotného dokumentu, čím sa preruší väzba medzi výkazom a zdrojom.
  • Integrácie, ktoré zapisujú zostatky namiesto dokumentov, takže hlavná kniha obsahuje súčty, ktoré nikto nedokáže vysvetliť.
  • Otvorené obdobia, ktoré zostávajú neuzavreté celé mesiace, takže vykázané čísla za minulý kvartál sa postupne menia.

Článok Prečo implementácie ERP zlyhávajú rozoberá, ako tieto návyky vznikajú počas zavádzania systému, a Realistické harmonogramy implementácie ERP ukazuje, v ktorých fázach projektu sa obvykle objavujú.

FAQ

Čo je jadrom ERP systému?

Hlavná kniha a zdieľaný dátový model okolo nej. Každý modul zapisuje dokumenty, ktoré generujú vyrovnané účtovné zápisy, a každý výkaz sa odvíja od týchto zápisov.

Ako tečú dáta cez ERP systém?

Udalosť sa zaznamená raz ako dokument (objednávka, faktúra, pohyb, mzdová uzávierka). Dokument vytvára účtovné zápisy v hlavnej knihe a pohyby v príslušnej analytickej evidencii. Výkazy a daňové priznania sa počítajú z týchto záznamov. Medzi modulmi sa nič nekopíruje.

Aký je rozdiel medzi modulom a integráciou?

Modul zapisuje do tej istej databázy a do tej istej hlavnej knihy ako zvyšok systému. Integrácia je externý program, ktorý volá API rozhranie ERP systému. V prípade ERP so štýlom "API-first" je tento rozdiel minimálny, pretože integrácia využíva presne tie isté koncové body ako samotné moduly.

Účtuje ERP účtovné zápisy automaticky?

Áno. Vystavenie faktúry, vybavenie objednávky, spárovanie platby, spracovanie mzdovej uzávierky alebo odpisy majetku generujú svoje účtovné zápisy bez toho, aby musel človek ručne skladať strany Má dať a Dal. Použité účty vychádzajú z účtovných predpisov (posting rules), ktoré je možné nastaviť pre každú spoločnosť zvlášť.

Prečo ERP systémy uzatvárajú účtovné obdobia?

Aby sa čísla vykázané alebo podané za dané obdobie nemohli dodatočne zmeniť. Uzatvorené obdobie odmieta nové účtovné zápisy, čo chráni auditnú stopu a núti vykonať opravy v aktuálnom období, kde sú jasne viditeľné.

Ďalšie čítanie