eFakture Plus – odobri sve fakture odjednom (i još dosta toga)
Srbija je pre izvesnog vremena uvela elektronske fakture (eFakture) i za sada su utisci podeljeni, ali ipak više negativni. Knjigovođe su istakle u više navrata da novi sistem ne radi kako treba, ali trenutno ne možemo mnogo toga učiniti da se to popravi.
Ipak, ono što ja mogu učiniti to je da korisnicima ovog sajta olakšam njegovo korišćenje dodavanjem opcija koje fale mnogima. Konkretno meni lično su falile dve opcije i pošto čekanje da se te opcije pojave nije rešenje, kreirao sam svoje u vidu dodatka za browser (kao i za KupujemProdajem).
Tako je nastao dodatak „eFakture Plus„
Ovaj dodatak za sada nudi dve glavne opcije koje (po meni) korisnicima eFakture najviše trebaju, a po potrebi ću dodati još.
#1 Prihvati/odobri više faktura odjednom
Ono što mi je najviše nedostajalo na sajtu to je mogućnost da odobrim više (ili čak sve) fakture jednim klikom.
Recimo, banka šalje desetine faktura nedeljno i moram u svaku da uđem, kliknem „prihvati“, kliknem „u redu“, vratim se na spisak, uđem u narednu i sve to puta 10, 20, 30… zavisi koliko se nakupilo.
Budući da te fakture trebam samo da odobrim jer ih je banka već naplatila, bilo bi mi mnogo lakše da prosto čekiram sve te fakture, kliknem „odobri“ i kraj. Ali, takva opcija ne postoji pa sam je napravio.
Kako prihvatiti više faktura odjednom?
Čekirajte sve ili neke fakture sa stranice „Ulazni računi“ i kliknite „Odobri sve označeno“. Dodatak će potom proveriti status svake fakture i ako je status „Pregledana“ ili „Nova“ – automatski će je prihvatiti. Fakture koje nemaju neki od ta dva statusa će biti preskočene.
Dodatak koristi zvanični API sajta eFakture koji je dostupan ulogovanim korisnicima, a sve zahteve šalje asinhrono kako bi se što brže izvršili.
Na kraju dodatak prikazuje rezultat u vidu tabele gde korisnik može pogledati koje su fakture odobrene, a koje preskočene. Statusi svih faktura će se ažurirati i u samom spisku na stranici.
Korisnik može, ukoliko želi, koristiti već dostupnu pretragu i filtraciju faktura ako želi da recimo odobri sve fakture samo od određene firme, ili određenog datuma, i sl.
Pod-opcije
Zaštita od slučajnog klika
Budući da jednom odobrene fakture ne mogu više vratiti prethodni status, podrazumevano sam ugradio zaštitu od slučajnog klika. Dakle, kada korisnik klikne taster „Odobri sve označeno“, pojaviće se poruka „Da li ste sigurni“. Tek kada korisnik tu klikne „U redu“, promene će biti izvršene.
Ova dodatna mera zaštite može da se isključi ili uključi u podešavanjima, a podrazumevano je uključena.
Test/demo režim
Ako korisnik samo želi da proveri kako ceo proces funkcioniše, i da li funkcioniše u konkretnom slučaju/okruženju – može da uključi ovu opciju.
Dok je ova opcija uključena, označene fakture će samo biti proverene i neće biti odobrene/prihvaćene. Na kraju testa pojaviće se tabela sa rezultatima.
Ipak, zbog toga kako je API eFakture dizajniran, fakture koje imaju status „Nova“ mogu biti označene kao „Pročitana“ u slučaju da korisnik isključi kolonu „Status“. U tom slučaju, dodatak mora da status svake fakture proveri preko API-a (jer nema drugi način pošto je kolona koja skladišti status isključena) i to će označiti fakturu kao „Pročitana“.
#2 Noćni mod sajta
I druga opcija koju sam implementirao to je noćni mod sajta koji dobro dođe ako sajt posećujete u večernjim satima.
Trudio sam se da što bolje kreiram noćni mod i uskladim boje (pošto zvanični ne postoji), ali nije savršeno. Svakako možete prijaviti ako neki deo nije dobro urađen pa ću popraviti.
Pod-opcije
Ova opcija ima samo još jednu dodatnu a to je automatsko usklađivanje sa sistemom. Ako je ova opcija uključena, noćni mod će biti aktivan samo ako je aktivan i u browser-u ili sistemu.
Dakle, ako vam se noćni mod u sistemu ili browser-u automatski uključuje uveče, sajt će ispratiti i sinhronizovati se.
#3…
Dodatak za početak poseduje ove opcije samo, ali ću dodati još po potrebi. Ako vam se dodatak dopao i želite još neke opcije, napišite dole u komentaru.
Prosto objašnjenje kako dodatak radi
Kada korisnik prihvati fakturu ručno (standardnim putem), sajt šalje API zahtev ka serveru eFakture sa ID brojem te fakture i ID firme koju je korisnik izabrao u tom trenutku. I tako za svaku fakturu posebno.
Ovaj dodatak radi to isto, samo više puta zaredom:
- Korisnik označi fakture koje želi da odobri
- Dodatak sakupi ID brojeve tih faktura
- Zatim proverava da li se te fakture mogu odobriti (one koje ne mogu preskače)
- Šalje API zahtev sa ID brojem te fakture i ID brojem firme (ovaj korak bi korisnik inače radio ručno)
- API vraća odgovor da li je faktura uspešno odobrena
Dakle, dodatak prosto dodaje Javascript kod na stranicu eFakture i vrši interakciju sa API-jem tog sajta. Sve što dodatak radi jeste automatizacija akcija koju bi korisnik inače morao da uradi ručno.
Napomene
Razumem da će se neko možda plašiti da instalira dodatak za sajt ove prirode, ali sam se potrudio da budem što transparentniji o tome kako dodatak radi i šta radi.
Ovaj dodatak je open-source što znači da možete pogledati ceo njegov kod u svakom trenutku i proveriti šta i kako radi.
Ipak, ovde ću svakako naglasiti nekoliko bitnih stavki kako biste razumeli da je dodatak skroz bezbedan:
- Dodatak koristi računar korisnika za vršenje akcija na sajtu eFakture. Sva interakcija sa sajtom preko ovog dodatka je identična onoj koju korisnik obavlja kada surfuje sajtom klasičnim putem. Sav saobraćaj je validan i dolazi direktno od korisnika.
- Ovaj dodatak ne čita niti prikuplja podatke o korisniku, uređaju korisnika, veb pregledaču korisnika, niti bilo kakve podatke sa sajta eFakture. Dodatak radi isključivo lokalno na uređaju korisnika i ne komunicira sa udaljenim serverom.
- Dodatak koristi zvanične API krajnje tačke sajta eFakture koje su inače dostupne korisniku. Dodatak ne pristupa podacima kojima korisnik ne bi inače imao pristup.
- Dodatak ne pristupa sesiji korisnika, kolačićima ili bilo kojim drugim osetljivim podacima.
- Dodatak se pokreće samo na sajtu eFakture (produkcionom i demo okruženju) i nikada neće pristupiti (što je i određeno kroz manifest fajl) drugim sajtovima.
- Dodatak je open-source i njegov izvorni kod je javno dostupan svima: https://github.com/stefanmm/efakture-plus/
Preuzmi/instaliraj
Dodatak možete besplatno instalirati na svim veb pregledačima koji su bazirani na Chromiumu i Firefox-u:
Bravo Stefane! Dodatak šljaka i odlično obavlja posao.
Za sledeći apdejt, ako možeš, da omogućiš da izabrane fakture ostanu čekirane i posle preuzimanja.
Nakon preuzimanja se dečekiraju, pa mora ponovo da se iste čekiraju, kako bi se grupno potvrdile.
Inače, kapa dole na dugogodišnjem trudu, cimanju i radu.
Hvala na povratnoj informaciji i predlogu. Malo će biti teže napraviti to budući da tu opciju kontroliše skripta sajta, ali ću imati na umu.