Knjigovodstveni programi i standardi

Uloga i vrednost standarda u oblasti programa za knjigovodstvo

“Ničim izazvano”, u komentarima na moj prethodni blog post gde sam spomenuo moju ideju o berzi knjigovodstvenih programa se razvila mala diskusijica koja se odnosi na ulogu standardizacije knjigovodstvenih programa. S obzirom da moje mišljenje na ovu temu izlazi svojom dužinom iz okvira komentara, odlučio sam da ga napišem ovde umesto u komentaru.

Ljudi koji me lično znaju, znaju da sam ja okoreli pragmatist i verovatno ne bi bili iznenađeni da čuju moj inicijalni stav na ovu temu koju sam pre nekoliko dana izneo Aleksandru u našoj Skype prepisci:”Za mene su standardi krivi dok se ne dokažu drugačijim; beskorisna gomila birokratskih papira bez stvarne vrednosti u stvarnom svetu”. Čini mi se da u tom mom konceptualnom shvatanju usklađen sa Nenadovim mišljenjem koji takođe tvrdi da su trenutni standardi samo mrtvo slovo na papiru kojih se neko pridržava zato što “misli da tako treba”, a ne zato što “razume ZAŠTO tako treba”. Slažem se i sa ostalim stvarima koje je izneo (postojanje sistemskih “nejasnoća” itd). verujem i da se Coba suštinski slaže sa tim.

Ono sa čim se ne slažem sa njim je da trebamo ovaj trenutnu status quo uzeti zdravo za gotovo kao nepromenljiv. Uvek može i mora bolje i to uopšte ne izgovaram kao neku frazu ovde već zato što iskreno to mislim.

Pitanje je šta se i kako se može situacija poboljšati?

altPopravljamo kišooobraneee

Jedan idejni pravac je da uzmemo kao osnovu neki postojeći standard koji osavremenimo i/ili prilagodimo našim regionalnim potrebama. Ja sam uz zadnja nekoliko dana prikupio zahvaljujući Aleksandru more standarda da pročitam, ali pošto je ova tema ovde neplanirano rano iskočila, jedino na čemu zasnivam svoj stav o ovom pravcu je JRS-33 iz koga evo nekoliko isečaka:

    • 33.12 Celishodnost/prikladnost je osobina kojom se utvrđuje prisustvo funkcija, karakteristika,, osobina softverskog proizvoda i pogodnost njihovog korišćenja i načina rada pri izvršavanju određenih zadataka npr. pristup (unos), korišćenje, izmena (ažuriranje) podataka u datotekama i bazama podataka, štampanje izveštaja.
    • 33.13. Treba da postoji:
      – opis strukture datoteka i/ili baza podataka
      – mogućnost da se utvrdi koji korisnik pristupa datoteci i/ili bazi podataka i sa kojom svrhom
      – opis vrste transakcija; uobičajeno podrazumeva: unos podataka, ispravke podataka u datoteci/bazi podataka, pozivanje radnog ekrana (upit), štampanje izveštaja i sl.
      – broj transakcija: stvarni i normalizovani
      (preračunati preko normalizovanog težinskog faktora 1)
      mogućnost da se utvrdi koji korisnik (sa kog terminala) vrši transakciju.
    • 33.73. Mogućnost instaliranja je osobina kojom se meri napor potreban da se softverski proizvod instalira u predviđenom okruženju.
    • 33.21. Svi podaci softverskog proizvoda se moraju zaštititi pomoću sistemskih softverskih alata ili projektno-programskim rešenjima aplikacije.
    • 33.45. Poruke iz programa treba da se lako razlikuju po vrsti , npr.: pitanja iz programa,  upozorenja, poruke grešaka, poruke zahvalnosti.
    • 33.90. Procedure prepisa stanja (back up) svih datoteka/baza podataka i vraćanja u prethodno stanje (restore) moraju da se obezbede u celini ili pojedinačno.
    • 33.93. Magnetni medijumi se čuvaju prema zakonskim propisima.
    • 33.94. Softverski proizvod mora da obezbedi memorisanje sistemskih poruka u posebnu datoteku (LOG), koje su posledica neregularnih situacija (prekidi, greške i sl.).

.
Mislim da je ova kratka lista dovoljna do verifikuje stav koji imamo Nenad i ja u vezi korisnosti standarda napisanih na način kakv jeste danas. Koji od ovih stavova ima bilo kakvu realnu upotrebnu vrednost u stvarnom svetu? Šta se tačno njima “standardizuje”? Koja je vrednost po krajnjeg korisnika tih standardizovanih merila? Kako i ko će da proveri da li su propisana merila ispunjena ili ne? Kakve veze ovi standardi imaju sa knjigovodstvenim programima?
Da se grubo našalim, ove zahteve podjednako ispunjavaju Notepad i bilo koji knjigovodstveni program kod nas.

(Ponavljam još jednom da na današnji dan ne znam zasigurno da i ostali moderni standardi imaju simptome “akutnog-sciencie-birokratizma” te rezervišem odmah pravo da dodam još stvari na ovom mestu u članku kad ih budem iščitao. Lično bi bio krajnje prijatno iznenađen da je situacija drugačija)

Take the red pill, Neo!

alt

Očigledno po mom mišljenju popravljanje postojećeg nije pravo rešenje, te sam sad dužan da kažem koji je to jedan od način koji po mom mišljenju može da nas dovede u bolju situaciju od današnje.

Da bi to izneo prvo moram da vam objasnim kako ja gledam na same knjigovodstvene programe i nas proizvođače istih:

  • Knjigovodstvo nije “nauka”, nego “zanat”.
  • Izrada knjigovodstvenih programa nije nauka nego je zanat.
  • Isključivi razlog postojanja programa za knjigovodstvo je podrška poslovanja nekog privrednog subjekta.
  • Knjigovodstveni program sa svim programiranjem, marketingom, naučnim disekcijama itd je na kraju dana samo jedan proizvod koji na kraju dana proizvođač knjigovodstvenog programa prodaje vlasniku neke firme.
  • Kupac knjigovodstvenog programa program kupuje iz samo jednog razloga: profit koji ostvaruje njime je veći od cene koju plaća za taj program.

.
Drugim rečima, knjigovodstveni program je samo jedna jako sofisticirana i pametna sporedna alatka koju koriste poslovni subjekti u svom postojanju. Iskreno verujem da kupci kompjuter sa knjigovodstvenim programom doživljavaju kao jednu ekstremno naprednu kasu koja ima neke dodatne funkcije. Što se prosečnog korisnika tiče, da li je u kućištu grupa gremlina koji okreću točkiće ili najmoderniji n-tier sistem apsolutno nema nikakvu važnost sve dok program radi šta treba kako treba.

Sada kada ste ukratko čuli "gde ja sedim”, mogu da vam objasnim i moje gledište, a koje se svodi na to da bilo koji standard koji nema (poželjno) direktnu ili indirektnu vrednost po korisnika knjigovodstvenih programa je mrtvo slovo na papiru.

Osnovna greška u definisanju standarda do sada (po mom skromnom mišljenju) je u tome što se do njih dolazi primenom induktivne logike. Raznolika grupa viđenijih naučnih ljudi, ponekad koji delegat iz nekog ministarstva se satanu i onda pokušavaju da definišu (poželjno prefiksovati sa “naučni “) dokument koji propisuje pravila kojih stvarnost treba da se pridržava. To možda i može da funkcioniše u drugim oblastima, ali u softverskoj industriji koja je sui generis neuporediv sa ostalim oblastima, definisanje takvog dokumenta bez učešća ljudi sa konkretnim iskustvom u toj oblasti (proizvođača knjigovodstvenih programa), u vakumu (ne osvrćući se na realno stanje ekosistema) je put koji može da vodi samo ka  jalovom dokumentu.

Umesto indukcije, pravi put u definisanju standarda knjigovodstvenih programa je put deduktivne logike. Po ovom pristupu, suština svakog standarda bi proistekla iz preseka realnog stanja i trebalo bi da bude esencija stvarnosti. Da li to znači da treba da sadrži “sve opcije” što svaki program sadrži?  Naravno da ne zagovaram uniju osobina. već nasuprot smatram da treba da konkretizuje presek tih osobina.

Kako doći do preseka i kako ga konkretizovati?

altKorak u tom pravcu je ovo što ja planiram da radim – staviću “na papir” koje realno svakodnevno potrebne funkcije programa korisnici koriste i predstaviću svaki program koji nađem /ja sam ili uz pomoć samih proizvođača / u vršenju tih funkcija. Tu listu funkcija neću ja sam definisati i sam testirati. Iskreno kada bih mogao da uopšte ne učestvujem u tome ja bi bio presrećan jer ima toliko ljudi kod su mnogo kompetentniji i sa dekadama više iskustva od mene. Zašto onda to radim? Zato što neko mora da počne, ako svi čekamo Godo-a nikad ništa neće da se desi i status quo će se održati. Tako ću ja za svaku od tih funkcionalnih stavki napisati poseban blog post i pozvati da ko god želi doda/oduzme stvari na toj listi. Ako i niko ne bude voljan da sarađuje na tim prostim funkcionalnim specifikacijama, nema veze jer verujem da  imam dovoljno predstave o problematici da održim momentum i završim spisak. Bilo kakav spisak je bolji od nikakvog spiska, akad se tome dodaju i video materijal koji pokazuje svaki program po tim kriterijumima, sigurno će rezultovati ako ne sad onda kasnije komentarima kako ga poboljšati.

Sadržaj te liste oplemenjen tim komentarima i javno predstavljen na sajtu sa video materijalom je moj doprinos prvom koraku u dedukciji. Da li to treba da bude standard? Svakako da ne, ali je zdrava osnova da se na njoj bazira razvoj standarda. Ono što je zasigurno, definitivno će biti od pomoći normalnim ljudima koji tragaju za knjigovodstveni programima da nađu onaj koji najbolje odgovara njegovim potrebama. Čak i da ništa od standarda ne bude, ako samo uspem da razbijem u 2011 trenutne “feudalne okove” knjigovodstvenih programa i poboljšam “pronalaženje i odabir” korisnika,  ja sam zadovoljan lično jer to mi je primarni cilj moje inicijative.

Znači toliko smo pametni da ignorišemo postojeće standarde?

altApsolutno ne. To može biti samo jedna idejna pritoka budućeg standarda. U paraleli treba proučiti sve standarde iz oblasti računovodstva koji su na snazi u regionu, a koji se dobrim delom i na sreću svode na malu grupu međunarodnih standarda. Moj razlog zašto treba proučiti sve te standarde je krajnje pragmatičan: ako ikad uđemo u EU (tu sam malo skeptik ali ok) biće nam svima od koristi da standard oko koga smo organizovali svoje poslovanje bude isti ili sličan standardima iz EU. Čak i da ne uđemo nikad u EU, smatram da je, i pored svih zala počinjenih 90-tih, Balkan dugoročno gledano poslovno okruženje koje je neizostavno okrenuto jedno drugima. Svi smo svedoci uspeha i tržišnog prisustva slovenačkih i hrvatskih programa na prostorima ex-YU – pojava koju ja najiskrenije pozdravljam sa svog načelnog stanovišta neoliberaliste. U Srbiji standardi ne postoje te u tom pogledu nema posebnih zahteva za njih, ali ako ste proizvođač iz Srbije koji ima planove da se prošiti van Srbije, onda vam je u interesu da taj proizvod koji imate bude usklađen sa regulativnima tih sređenijih tržišta.

Ok, šta standard knjigovodstvenih programa treba da sadrži po tebi?

altNeophodni minimum funkcionalne specifikacije. Primarno fokusiran na “šta”, a ne na “kako”. Definitivno nije taksativni spisak najsitnijih detalja koje “kalkulacija treba da sadrži” poput “u desnom gornjem uglu mora da bude 6 cifreni broj ulazne fakture dobavljača”. Nećemo da kreiramo armiju dronova, već samo da zaštitimo interese korisnika garantovanjem da je svaki standardizovan program funkcionalno spreman za većinu njegovih suštinskih zahteva. Ako već insistirate, namena standarda je u ovom kontekstu da pružimo kupcu malo osećaja sigurnosti prilikom odabira programa.

Standard knjigovodstvenih programa može da pokriva taktičke stvari poput:

  • načini numerisanja dokumenata (naglasak na množini, ne mora isključivo da bude jedan jedini, ali opet ne sme ni da bude 1000 različitih sistema)
  • Uloga barkodova na dokumentima
  • Konkretno definisanje procesa zaštite integriteta dokumenata (da li je dozvoljeno ili ne imati “neproknjižen račun”, da li je takav “neproknjižen” račun  dozvoljeno ispravljati, da li utiče ili ne na stanje lagera)
  • Definisanje procesa arhiviranja (pritom ne mislim na strimer trake, rezanje diskova i ostale gluposti več na konkretno dokumentovanje scenarija podrške korisnika koji ima verziju podataka u formatu koji ste vi imali pre 5 godina, pa nema kako da ih pokaže kontroli i sl.
  • šeme knjiženja različitih dokumenata sa konkretnim primerima
  • sadržaj i format štampanih izveštaja sa konkretnim primerima

.
Standard knjigovodstvenih programa treba da pokriva i strategijske stvari poput:

  • definisanje standardnog formata zapisa podataka knjigovodstvenog programa (npr. specificira se xml struktura fakture u koji svi standardizovani programi moraju da bi dobili standard da eksportuju svoje podatke) koja pospešuje interakciju između različitih programa i ubrzava protok robe i dokumenata-
  • definisanje obaveznog arhiviranja podataka u oblak.
    Pored zaštite korisnika od kvara na računaru, to otvara i za samu državu vrlo interesantne momente jer može da vrši kontrolu poslovnih knjiga koje se nalaze u oblaku, može da se uveri da periodična kopija koju imaju nije različita od one “zatečena na terenu” itd
  • da definiše aspekte elektronske trgovine, digitalnog potpisa i sl. naravno sve sa aspekta knjigovodstvenih programa.

.
Znam da većini ovi strateški detalji zvuče kao SF, ali po mom iskrenom mišljenju i pod pretpostavkom da budu konkretni i praktični, smatram da itekako imaju mesto i vrednost u standardu. Kad već kasnimo 15 godina za standardom za 2010-tu, ajde da pokušamo odmah da napravimo jedan za 2015-tu Smeško

Glavna sporedna prednost postojanja standarda programa za knjigovodstvo

Možda su se stvari promenile na bolje u ovih 6-7 godina koliko ne živim u Srbiji, ali ja se dobro sećam problema sa raznoraznim inspekcijama i kontrolama gde bukvalno svako “pregleda papire” na neki svoj način. Ono što je jednom ok, drugom nije itd. Pod pretpostavkom da se to nije promenilo, postojanje standarda koje precizno definiše kako se nešto računa i prikazuje i koga se pridržavaju većina programa na tržištu je način nas proizvođača da se jednom zauvek suprotstavimo tome jer gde god da je kontrola svaki program (koji izgleda i radi drugačije) će iste rezultate da im prikazuje te će voljno ili nevoljno morati i oni svi da se usaglase.

(Da, znam koliko je ovo glupavo bilo izgovoriti javno)

Zaključak

Postojeće stanje se mora poboljšati standardizacijom knjigovodstvenih programa u obostranu korist proizvođača i korisnika. Takvi standardi treba da kritički uvažavaju postojeće međunarodne standarde, ali da prevashodno proisteknu iz stvarnosti.

Kao ideal kome treba težiti treba da bude takav standard koji pored proizvođača i sam korisnik može bez problema da pročita i u njemu da nađe dosta vrednosti.

Standard knjigovodstvenih programa treba biti minimalno moguć, pragmatičan i fokusiran.

Eto sad znate moj stav na ovu temu i razlog zašto nisam hteo ovo sve da napišem u komentaru Smeško

Real-user monitoring for Accessibility, Performance, Security, SEO & Errors (SiteLint)