ePOS je softversko (LPFR i ESIR) rešenje za Android platformu (IB 187 i IB 1449). Implementirano je u potpunosti u skladu sa Tehničkim vodičem i svim važećim zakonskim regulativama i pravilnicima.
Tehničke karakteristike
Tehničke karakteristike fiskalnog uređaja su:
• Operativni sistemi: Android (7.0+)
• Dostavljanje fiskalnog računa u papirnoj formi: štampa putem ugrađenih ili eksternih štampači, rolne 57mm, 80mm i A4
• Alternativni kanali za dostavljanje fiskalnih računa u elektronskoj formi – e-mail, sms, web servisi
• Komunikacija sa L-PFR-om: HTTP (u skladu sa Tehničkim vodičem)
• Komunikacija sa V-PFR-om: HTTPS (u skladu sa Tehničkim vodičem)
• Udaljeno monitorisanje i nadogradnja: Zeta Cube platforma i remote pristup
Funkcije i ograničenja
Funkcije i ograničenja fiskalnog uređaja su:
• ESIR komande može prihvatati od strane operatera ili eksternih uređaja/sistema
• ESIR ne izdaje ni jednu vrstu računa ako nije dobio podatke od LPFR sa kojim je povezan
• ESIR ne izostavlja i ne menja ni jedan obavezni podatak fiskalnog računa koji nije primio od LPFR.
• ESIR ne izostavlja i ne menja ni jednu informaciju iz zaglavlja fiskalnog računa vezano za podatke izdavaoca računa koje je primio od LPFR.
• ESIR upisuje u log sve eventualne greške i nepravilnosti u radu
• ESIR i LPFR se međusobno identifikuju PIN-om
• Povezivanje ESIR-a sa drugim uređajima ni u kom slučaju ne utiče na rad PFR-a.
• ESIR mora da odštampa račun ili ga izda u elektronskom obliku
Poreske stope
Kada uspešno konektujemo LPFR i autentifikujemo se PIN-om, ESIR povlači poreske stope, čime se omogućavaju osnovne aktivnosti – unos artikala i izdavanje računa. ESIR nema ograničenja po pitanju broja poreskih oznaka. Svaki izdat račun sadrži poresku oznaku, na kojoj je prikazan tip poreza, zajedno sa poreskom vrednošću. U kalkulacijama se poreske vrednosti zaokružuju na dve decimale. ESIR nikad ne koristi druge poreske stope osim onih dobijenih od LPFR. Terminali sa ePOS ESIR-om i ZetaCube L-PFR modulom u paketu dolaze preinstalirani sa aktiviranom licencom. Da bi korisnik mogao da izdaje račune, neophodno je da je uređaj fiskalizovan i da su obe aplikacije podignute.
Fiskalizacija uređaja
Sve što je neophodno da uradite da bi fiskalizovali vaš uređaj je ubacivanje sertifikata koji ste dobili od Poreske uprave. L-PFR sam prepoznaje da je kartica uneta, učitava podatke sa nje, povezuje se sa serverom Poreske uprave i sa nje učitava informacije o poreskim kategorijama. Kada ESIR te podatke pribavi od L-PFR-a, prikazaće poruku na ekranu i u tom trenutku kasa je spremna za rad. Podaci o poreskim kategorijama se na zahtev mogu videti i na ekranu O uređaju. Uspešnom instalacijom i povezivanjem sa Cube serverom i Poreskom upravom, završen je najveći deo korisničke interakcije sa LPFR modulom. Dalja komunikacija se nastavlja putem ESIR korisničkog interfejsa, a status LPFR modula može biti praćen putem notifikacija.
LPFR
Osnovni zadatak LPFR-a je da prihvata zahteve za fiskalizaciju od ESIR-a, fiskalizuje ih uz pomoć Bezbednosnog elementa (BE) i prosleđuje ih na server Poreske uprave.
Osnovne funkcije
Parametrizacija
LPFR sve podatke neophodne za svoj rad dobija sa:
• Bezbednosnog elementa (PIB, JID, opšte podatke o poreskom obvezniku)
• Servera Poreske uprave (konfiguracioni podaci, poreske grupe, adrese vremenski server…)
Računanje poreza
Kalkulacija poreza za svaki račun se vrši na osnovu podataka o poreskim grupama i stopama dobijenih od Poreske uprave.
Fiskalizacija računa
LPFR koristi bezbednosni element (smart karticu) za potpisivanje računa i povezivanje sa Poreskom upravom. LPFR šalje podatke za fiskalizaciju računa ka bezbednosnom elementu sa trenutnim datumom i vremenom, kao i PIN kodom.LPFR kreira jedinstveni URL za generisanje QR koda. Digitalni potpis računa omogućava verifikovanje integriteta podataka računa i verodostojnosti u skladu sa Tehničkim vodičem.
Čuvanje podataka
Podaci se čuvaju na permanentnoj memoriji, tako da se gubitkom napajanje ne gube podaci. Paketi se brišu tek dobijanjem Dokaza o iščitavanju
Povezivanje na server Poreske uprave (SUF)
Komunikacija sa serverom Poreske uprave je zaštićena sertifikatom Bezbedonosnog elementa i ostalim sigurnosnim procedurama definisanim od strane Preske uprave. Podaci koji se šalju su formatirani u skladu sa objavljenim tehničkim specifikacijama. LPFR potvrđuje svoj identitet validinim digitalnim sertifikatom (koji je skladišten u PKI apletu bezbedonosnog elementa) kada zahteva token za pristup API servisu SUF-a. LPFR koristi token kada komunicira sa SUF-ovim veb servisima. LPFR može registrovati fiskalne računedok istovremeno u pozadini šalje podatke za iščitavanje na server Poreske uprave. LPFR šalje podatke za iščitavanje SUF-u u skladu sa Tehničkim vodičem, za svaki račun vrste: P-Promet, A-Avans,K-Kopija,O-Obuka,P-Predračun
LPFR dostavlja bezbednosnom elementu “Dokaz o iščitavanju” generisan od strane SUF-a odmah kad primi taj podatak, čime se ispunjava uslov za oslobađanje memorije. Promenom pametne kartice ne zaustavlja se komunikacija sa SUF-om niti lokalno iščitavanje podataka iz interne memorije.
Komunikacija sa ESIR-om
LPFR prihvata zahtev za fiskalizaciju računa, verifikuje strukturu i validnost podataka, izračuna porez i potpisuje ga uz pomoć bezbednosnog elementa i formira odgovor, a skladu sa specifikacijom definisanom u Tehničkom vodiču. U slučaju greške, informiše ESIR o detaljima u skladu sa aktuelnim šifarnikom, na način definisan uz Tehničkom vodiču. U slučaju greške, ne šalje bilo koji drugi podatak osim grešaka definisanih u šifarniku.
LPFR ne prihvata i ne procesuira zahtev za fiskalizaciju računa ako sadrži nepostojeću poresku stopu ili stopu koja nije aktivna trenutno ili nije bila aktivna u trenutku izdavanja referenciranog dokumenta.
LPFR nema mogućnost, niti dozvoljava ručnu promenu komunikacionih podataka i drugi vid komunikacije osim one definisane u Tehničkom vodiču.
LPFR, osim u radnoj memoriji, nigde ne skladišti PIN kod. Prilikom restarta, operater/kasir mora ponovo uneti PIN.
LPFR ne može odgovoriti na zahtev za fiskalizaciju računa ako nije u direktnoj vezi sa bezbednosnim elementom.
LPFR zaokružuje sve sume na 4 decimale koristeći metodu “zaokruživanje na veći broj”. LPFR kreira žurnal fajl i greneriše URL za proveru ispravnosti (verifikaciju) računa.
LPFR šalje fiskalizovane podatke ESIR-u, u sklopu odgovora na zahtev za fiskalizaciju računa.
Generisanje fiskalnog računa bez internet konekcije
LPFR podržava offline režim rada, što podrazumeva da u slučaju prekida internet veze može neometano nastaviti sa radom. Postoje ograničenja na trajanje ovakvog načina rada – maksimalna suma računa (definisana od strane Poreske uprave) i maksimalan broj transakcija koji može biti uskladišten na uređaju (do 100,000), posle kog se mora izvršiti iščitavanje i učitati Dokaz o iščitavanju da bi se nastavilo. U tom slučaju se izvršava Lokalno iščitavanje.
Iščitavanje
Pre slanja fiskalizovanih podataka ESIR- u, LPFR lokalno skladišti podatke za iščitavanje. Svi podaci o prodajama se u memoriji čuvaju kriptovani u skladu sa specifikacijom u Tehničkom vodiču (AES-256 enkripcija).
I za lokalno i za internet iščitavanje koriste se podaci u istom formatu.
- Lokalno iščitavanje
Svi podaci se skladište na USB memoriji u folderu nazvanom po vrednosti JID-a bezbednosnog elementa. Ovaj folder sadrži rezultat Begin Audit komande u fajlu {JID}.arp i jedan ili više paketa za iščitavanje imenovanih po konvenciji {JID}-{JID}-{Redni broj}.json. LPFR obaveštava korisnika o početku i završetku lokalnog iščitavanja, kao što je bliže objašnjeno u daljem tekstu. Ukoliko se na USB memoriji u definisanom folderu nalazi komanda za zavšetak iščitavanja, LPFR je mora primeniti. - Internet iščitavanje
Internet (daljinsko) iščitavanje se obavlja automatski prema propisanoj specifikaciji. Prilikom započinjanja internet iščitavanja, prvo se šalju neposlati paketi. LPFR neprekidno šalje podatke o iščitavanju u redosledu u kome su i napravljeni. Svi paketi se i po slanju čuvaju lokalno dok se ne dobije dokaz o njihovom Iščitavanju. Zahtev za dobijanje Dokaza se započinje periodično, u vremenskom razdoblju koje zavisi od prometa trgovca, ali ne kraće od 5 minuta.
Obrada komandi
LPFR obrađuje (u uzastopnom redosledu) sve komande pristigle sa servera Poreske uprave i vraća rezultat njihovog izvršenja. JSON fajl sa komandama se skladišti u folderu nazvanom po vrednosti JID-a bezbednosnog elementa.
Multitasking
Aktivnosti koje LPFR izvršava u pozadini ni na koji način ne blokiraju niti usporavaju fiskalizaciju računa.
Sinhronizacija vremena
LPFR za sinhronizaciju vremena koristi vremenske servere čije URL dobija od Poreske uprave. Oni se u svakom trenutku komandom mogu promeniti. Vreme na LPFR-u se usklađuje sa vremenskim serverima dobijenim od servera Poreske uprave, tako što se jednom dnevno iščitavanjem vremena sa vremenskog servera i upoređivanjem sa lokalnim vremenom pamti korekcija, koja se koristi u daljem radu za kalkulaciju tačnog vremena. Postoji i ugrađena zabrana da vreme na računu može biti mlađe od prethodnog. Na taj način obezbeđuje se da realno vreme LPFR-a ne može odstupati više od tri minuta po godini.
Izveštaji o greškama
LPFR čuva log o greškama u svom radu ne starijim od 30 dana sa tačno definisanim vremenima I objašnjenjima događaja, kome operater može pristupiti daljinski u svakom trenutku kad postoji internet konekcija. Izveštaj se i lokalno može eksportovati na USB. Veličina ovih izveštaja ne utiče na maksimalan broj potpisanih fiskalnih računa koji se mogu sačuvati.
Notifikacije
Status LPFR-a u svakom trenutku može videti u notifikacijama. Četiri su moguća stanja:
• Inicijalizacija u toku – aplikacija se podiže
• Neaktivan – LPFR je podignut, ali bezbednosni element nije pronađen
• Zaključan – LPFR je podignut, bezbedonosni element je pronađen, ali zaključan. Čeka se unos PIN-a.
• Aktivan – LPFR je u aktivnom stanju, spreman za fiskalizovanje računa. Kao dodatne podatke na ovoj notifikaciji imamo stanje internet konekcije (povezan/online, u prekidu/offline) i kontrolu za prikazivanje ispunjenost limita (ukupna suma fiskalizovanih računa/limit) za rad bez dokaza o iščitavanju (offline mod)
Klikom na notifikaciju dobija se dodatni ekran sa podacima o LPFR-u i bezbednosnom elementu.
Iščitavanje
Kada postoji internet konekcija komunikacija sa Poreskom upravom se obavlja automatski (Internet iščitavanje), tako što LPFR neprekidno šalje pakete i periodično započinje Dokaz o iščitavanju, ali u slučaju dužeg prekida konekcije, kada je onemogućen dalji rad zbog prethodno objašnjenih ograničenja offline režima rada, neophodno je pristupiti Lokalnom iščitavanju, tj. “ručnom” prenosu podataka sa LPFR-a na server Poreske uprave. Ovaj postupak je vrlo jednostavan – putem USB flash memorije. Po njenom ubacivanju u uređaj, prvo će nas operativni sistem pitati da mu dozvolimo da pristupi USB memoriji, a potom LPFR, da li želimo da izvršimo lokalno išćitavanje. Potvrđivanjem iniciramo ovu aktivnost, gde se prvo izvršavaju sve komande koje na ovom uređaju postoje (ako ih ima), a nakon toga kopiraju podaci iz memorije LPFR-a na USB. Ovi podaci se potom putem portala Poreske uprave šalju na server. Sa portala se potom mogu preuzeti komande koje će biti vraćene LPFR-u. Jedna od preuzetih komandi bi trebalo da bude i Dokaz o iščitavanju, koji će omogućiti LPFR-u da obriše preuzete podatke iz memorije i nesmetano nastavi rad. Sva komunikacija i formati poruka/fajlova su u skladu sa aktuelnim tehničkim propisima definisanim od strane Poreske uprave.
Startovanje ESIR-a i LPFR-a
Ove dve aplikacije se učitavaju automatski prilikom podizanja operativnog sistema. Ukoliko ePOS aplikacija nije vidljiva (nije uključena ili je u pozadini), može se pozvati klikom na njenu ikonicu. L-PFR aplikacija nije vidljiva i ona je predviđena da radi u pozadini ka servis.