Preskoči na sadržaj

40% popusta na cenu rešenjaRezervišite ranu prijavu

NG One

Backdated dokumenti i preobračun zaliha

Prijemnica sa datumom u prošlosti menja nabavnu vrednost robe koja je već prodata, fakturisana i proknjižena — i to je najteži problem robno-materijalnog poslovanja.

Operacije
Objavljeno
Autor
Konis Software
9 min čitanja

Prijemnica nosi datum 3. marta. U sistem je uneta 27. marta. Između ta dva datuma roba sa nje je izdata sa magacina, fakturisana kupcu i proknjižena. Nijedan od tih dokumenata nije nastao pogrešno — svaki je bio tačan po podacima koji su tada postojali. Od 27. marta svi su netačni. Ovo nije rubni slučaj nego normalan mart u firmi koja radi sa robom: dobavljač kasni sa dokumentom, carinski račun stigne posle robe, magacioner unese prijem kad dođe do računara, a faktura prevoznika tek deset dana kasnije otkrije pravu nabavnu cenu. Robno-materijalno poslovanje je jedini deo ERP-a u kom vreme unosa i vreme događaja rutinski ne idu zajedno — i jedini u kom ta razlika menja brojeve unazad.

Pet datuma, ne jedan

Prvi izvor zabune je što reč „datum“ u ERP-u nema jedno značenje. Ozbiljan dokument nosi najmanje pet, i svaki upravlja drugim obračunom:

  • Datum dokumenta — kada je dokument sastavljen. Formalnost, ali ga korisnik vidi prvi, pa ga najčešće pomeša sa ostalima.
  • Datum prometa — kada je roba prešla u posed. Određuje redosled na zalihama i vrednost svakog izlaza posle njega.
  • Datum knjiženja — u koji računovodstveni period ide stavka glavne knjige.
  • Poreski datum — u koji PDV period ide obaveza ili pravo na odbitak prethodnog poreza.
  • Datum valute — kada obaveza dospeva. Jedini bez uticaja na vrednovanje.

„Backdated dokument“ znači tačno jedno: datum prometa je stariji od trenutka unosa. Sve ostalo su posledice. Sistem sa jednim datumom na dokumentu ovaj problem ne rešava — on ga ne vidi, pa razliku prebacuje na knjigovođu i na kraj meseca.

Šta se stvarno lomi

Zalihe se vode kao niz kretanja koji se samo dodaje (append-only) i kao stanje izvedeno iz tog niza. Dok kretanja pristižu redom, sve je jednostavno. Zakasnela prijemnica ne dodaje kretanje na kraj — ubacuje ga u sredinu. A svaki metod vrednovanja je funkcija redosleda. Uzmimo jedan artikal, jedan magacin i tri dokumenta:

DokumentDatum prometaDatum unosaPrometNabavna cena
PR-2026-0006105.03.2026.05.03.2026.+200 kom1.100,00
OT-2026-0021412.03.2026.12.03.2026.−150 kom
PR-2026-0008703.03.2026.27.03.2026.+100 kom1.000,00

FIFO

Pre unosa zakasnele prijemnice FIFO je za 150 izdatih komada trošio jedini postojeći sloj — 200 komada po 1.100,00 — i dao nabavnu vrednost izlaza od 165.000,00. Posle unosa ispred njega stoji stariji sloj: 100 komada po 1.000,00, sa datumom prometa 3. marta. FIFO ga mora potrošiti prvi, pa vrednost istog izlaza postaje 100.000,00 plus 55.000,00, odnosno 155.000,00. Razlika je 10.000,00 na jednom dokumentu. Marža na toj fakturi bila je pogrešna petnaest dana, a niko nije napravio grešku.

Ponderisani prosek

Prosečna cena se ponaša drugačije i, suprotno intuiciji, teže. FIFO ima slojeve, pa se pogađaju samo izlazi koji su dodirnuli pomereni sloj. Prosek nema slojeve — ima jedan broj koji se preračunava pri svakom ulazu. Ulaz na 3. mart menja prosek od 3. marta nadalje, pa svaki izlaz posle tog datuma dobija drugu vrednost. Svaki, bez izuzetka.

MetodVrednost izlaza — preVrednost izlaza — posleRazlikaŠta se sve pomera
FIFO165.000,00155.000,00−10.000,00Izlazi koji dodiruju pomereni sloj
Ponderisani prosek165.000,00160.000,00−5.000,00Svi izlazi posle 03.03. — bez izuzetka

Kod proseka je 160.000,00 rezultat lanca, ne jedne formule: 3. marta prosek postaje 1.000,00; 5. marta ulaz od 220.000,00 podiže vrednost na 320.000,00 za 300 komada, pa prosek na 1.066,67; 12. marta izlazi 150 komada po toj ceni. Ako posle 12. marta postoji još deset izlaza, svih deset se pomera. Ako je neki bio ulaz u proizvodnju, pomera se i cena koštanja gotovog proizvoda, pa i vrednost njegovog izlaza — i tako niz sastavnicu. Preobračun nije korekcija jednog reda nego talas, čiji je domet nepoznat dok se ne izračuna.

Robno-finansijsko usaglašavanje nije izveštaj, nego posledica

U većini firmi „robno-finansijsko usaglašavanje“ je posao u tabeli krajem meseca: uporedi se vrednost lagera sa saldom konta zaliha i traži razlika. Kad se nađe, proknjiži se „na ruke“, bez zapisa odakle je došla, pa sledećeg meseca isti posao počinje od nule. A razlika skoro nikad nije misteriozna — ima konačan spisak uzroka i svaki od njih ima datum:

  1. Zakasneli ulaz koji je promenio vrednovanje svih izlaza posle svog datuma prometa.
  2. Zavisni troškovi koji su ušli u cenu posle prijema — prevoz, špedicija i dažbine po JCI stižu sa fakturom prevoznika, a raspodeljuju se na robu koja je možda već otišla.
  3. Nivelacija proknjižena u periodu različitom od onog u kom je promenila vrednost zalihe.
  4. Manjkovi i viškovi popisa knjiženi izvan datuma popisa; manjak preko blokirane ili tuđe zalihe je poseban slučaj sa poreskim posledicama.
  5. Storno posle promene šeme kontiranja — mora da koristi STARU verziju pravila, inače sam pravi razliku koju traži.
  6. Roba u tranzitu i konsignaciona roba: fizički kod nas, vlasnički ne naša. Ako vlasništvo nije dimenzija modela zalihe, ova razlika je trajna.

Kad sistem zna za svaki od ovih uzroka i drži ih kao zapise sa datumom i izvornim dokumentom, usaglašavanje prestaje da bude istraga. Izveštaj slaganja tada ne prikazuje razliku nego njeno objašnjenje, stavku po stavku, sa vezom na dokument koji ju je napravio.

Ako sistem ume da izračuna razliku, a ne ume da je objasni, on razliku nije izračunao — samo je premestio problem na čoveka.
NG One — načelo obračuna: verzionisanje pravila i reproduktivnost

Preobračun kao postupak, ne kao dugme

  1. 1

    Odredi tačku uticaja

    Kretanje se ubacuje na svoj datum prometa, ne na kraj. Tačka uticaja je taj datum, taj artikal i taj magacin — ne ceo lager i ne cela godina. Preobračun koji ne ume da suzi opseg neće se izvršiti na pravoj bazi.

  2. 2

    Pronađi pogođena kretanja

    Sva kretanja istog artikla posle tačke uticaja, po datumu prometa, sa determinističkim razbijanjem izjednačenja — po rednom broju kretanja, nikad po vremenu upisa u bazu. Bez toga dva izvršavanja nad istim podacima daju dva rezultata.

  3. 3

    Preračunaj po pravilu koje je tada važilo

    Metod vrednovanja, decimale i raspodela zaokruženja uzimaju se iz verzije pravila važeće na datum prometa, ne iz trenutne konfiguracije. Prelazak sa proseka na FIFO u junu ne sme da prepiše mart.

  4. 4

    Proknjiži razliku, ne rezultat

    U glavnu knjigu ide delta po periodu, sa referencom na izvorni dokument i na preobračun koji ju je izazvao. Prepisivanje starog knjiženja nije opcija: proknjižena stavka je zapis, ne promenljiva.

  5. 5

    Ostavi trag koji izdrži pitanje

    Svaki pogođeni izlaz mora da odgovori: koja je vrednost bila, koja je sada, koji dokument je promenu izazvao, po kojoj verziji pravila i ko je odobrio. Preobračun bez tog traga je nedokaziv — što u reviziji znači isto što i netačan.

PristupPonašanjeKada ima smislaCena
OdbijanjeDokument sa datumom prometa u zatvorenom periodu se ne primaUvek, za zatvorene periodeBez jasnog toka „šta sad“ korisnik namešta datum — problem postaje nevidljiv
Potpun preobračunSva kretanja posle tačke uticaja se preračunavaju, razlika ide u otvoren periodOtvoren period, robno-materijalno jezgroSkupo pri obimu; traži deterministički redosled i zaključavanje artikla za vreme obrade
Prospektivna korekcijaProšlost se ne dira; razlika ulazi kao nivelacija na dan saznanjaZatvoren period, mala razlika, dugačak lanac izlazaMarža na starim dokumentima ostaje netačna — svesno i zapisano, ne slučajno
Ručna ispravkaKnjigovođa knjiži razliku „na ruke“ da se lager i konto složeNikad kao pravilo, samo kao poslednja meraZapis nema vezu sa uzrokom; svako sledeće usaglašavanje počinje od nule

Nijedan od ova četiri pristupa nije univerzalno tačan. Tačan je onaj koji je izabran svesno, zapisan kao pravilo i primenjen dosledno — a ne onaj koji je nastao kao slučajna posledica davno napisane procedure.

Granica: zaključan period i PDV

PDV strana ima svoju logiku i svoj datum. Poreski datum ne prati datum prometa robe automatski, pravo na odbitak vezuje se za posedovanje računa, a POPDV i PP PDV za prošli period su već predati. Zakasnela ulazna faktura zato po pravilu ne ide u prošlu evidenciju nego u tekuću, po pravilima koja važe za taj slučaj; isto važi za EEO i EPP evidencije, čiji rokovi imaju sopstvena pravila obračuna i pomeranja za neradne dane. Zaključak je asimetričan i vredi ga izgovoriti naglas: zaliha se preračunava unazad, PDV evidencija se ne prepisuje. Sistem koji ta dva toka veže za isti datum grešiće na jednom.

Kako ovome pristupa NG One

NG One backdated dokument tretira kao normalno stanje, ne kao izuzetak. Magacin je u jezgru sistema — lokacije, usmereno komisioniranje, talasi — pa datum prometa nije trenutak kada je magacioner stigao do računara. Pravila koja ovaj problem čine rešivim postavljena su pre prve tabele zaliha; takva se posle ne dodaju:

  • Pet datuma stoji na svakom dokumentu kao pet odvojenih polja — dokumenta, prometa, knjiženja, poreski i valuta — a ne kao naknadno dodata kolona.
  • Kretanja su append-only, stanje je izvedeno, a jednakost „stanje = suma kretanja“ je svojstveni test nad generisanim scenarijima, ne primer u dokumentaciji.
  • Backdated preobračun je eksplicitno pravilo u konfiguraciji, ne implicitno ponašanje koda: koliko unazad, uz čije odobrenje, sa kakvim efektom na knjiženje.
  • Pravila obračuna — metod vrednovanja, decimale, raspodela zaokruženja, metod raspodele zavisnih troškova — verzionisana su i vremenski važeća, pa se stari obračun reprodukuje starim pravilom.
  • Delta ulazi u glavnu knjigu dimenziono, od prve stavke: preobračun pogađa maržu po artiklu, magacinu, kupcu i nosiocu troška bez naknadnog raspoređivanja.
  • Retroaktivna prijemnica kad je deo robe već prodat je test prihvatanja, uz knjiženje u zaključan period, storno posle promene kontiranja i popis sa manjkom preko blokirane zalihe. To nisu scenariji koji se testiraju ako ostane vremena.

Backdated dokumenti nisu greška korisnika koju treba iskoreniti obukom. Oni su odraz toga kako roba stvarno putuje i kako dokumenti stvarno kasne. ERP koji ih tretira kao izuzetak proizvodi tabelu u Excelu na kraju svakog meseca i knjigovođu koja pamti zašto je prošle godine bila razlika. ERP koji ih tretira kao normalno stanje cenu plaća unapred — u modelu podataka, u verzionisanim pravilima i u testovima koji se pišu pre nego što problem nastane. Ta cena se plaća jednom.

Isto pitanje, na vašim brojevima

Prikaz radimo na vašim dokumentima i vašem toku odobravanja, a ne na demo podacima. Vaša stavka, vaše dimenzije, vaše knjiženje — na ekranu, ne u slajdovima.