Korisničko uputstvo
Cloud ESIR sistem za elektronsku fiskalizaciju
Namena proizvoda
Isključivo za web shopove i daljinsku prodaju
VAŽNO: Ovaj ESIR softver je namenjen isključivo obveznicima koji obavljaju daljinsku prodaju putem interneta (e-commerce, web shopovi). Nije predviđen za maloprodaju sa fizičkim POS terminalima i ne podržava L-PFR uređaje.
Sadržaj
- 1. Uvod i namena
- 2. Sistemski zahtevi
- 3. Registracija i pristup
- 4. Konfiguracija naloga
- 5. API integracija
- 6. Kreiranje računa
- 7. Tipovi transakcija
- 8. Načini plaćanja
- 9. Avansni računi
- 10. Refundacija
- 11. Kopija računa
- 12. Elektronski žurnal
- 13. PDF i slanje računa
- 14. Česta pitanja
- 15. Kontakt i podrška
1. Uvod i namena
1.1 Šta je eFiskalizacija.cloud?
eFiskalizacija.cloud je cloud ESIR (Elektronski Sistem za Izdavanje Računa) sistem koji omogućava fiskalizaciju računa putem REST API-ja. Sistem je klasifikovan kao ESIR Tip 3 - Napredni prema kategorizaciji Poreske uprave Republike Srbije.
VAŽNO - Namena proizvoda:
Ovaj ESIR je namenjen isključivo za web shopove i daljinsku prodaju (e-commerce). Nije predviđen za tradicionalnu maloprodaju sa fizičkim POS terminalima. Ne podržava L-PFR (Lokalni Procesor Fiskalnih Računa) uređaje.
1.2 Za koga je namenjen?
- Web shopovi i online prodavnice
- E-commerce platforme
- SaaS aplikacije sa online prodajom
- Sistemi za daljinsku prodaju
- ERP sistemi sa integracijom za online prodaju
1.3 Za koga NIJE namenjen?
- Maloprodajni objekti sa fizičkim kasom
- POS terminali u prodavnicama
- Bilo koji scenario koji zahteva L-PFR
1.4 Ključne karakteristike
- Direktna integracija sa VSDC API v3
- REST API sa HMAC-SHA256 autentifikacijom
- Automatsko generisanje QR koda
- PDF računi spremni za slanje kupcu
- Multi-tenant arhitektura
- Sandbox okruženje za testiranje
1.5 Informacije o softveru
ESIR softver prikazuje sledeće informacije koje su lako dostupne u admin panelu (footer):
| Podatak |
Vrednost |
| Proizvođač |
Infogram d.o.o. Beograd |
| ESIR broj (IB) |
1522/1.2.0 — prikazuje se na svakom fiskalnom računu u formatu IB/verzija |
| Verzija softvera |
1.2.0 — prikazuje se u footer-u admin panela |
Napomena: Ovaj ESIR je softverski (cloud) proizvod, nije hardverski uređaj. Zahtevi za hardverske informacije (nalepnica sa voltažom, amperažom, verzija hardvera) nisu primenjivi.
1.6 Povezanost sa V-PFR
OBAVEZNO: ESIR ne izdaje ni jednu vrstu računa ako nije dobio neophodne podatke od V-PFR-a (Virtuelnog Procesora Fiskalnih Računa) sa kojim je povezan. Sistem automatski proverava status konekcije pre svake fiskalizacije.
Kada se ESIR pokrene, ESIR i V-PFR se međusobno autentifikuju putem digitalnog sertifikata. Autentifikacija se vrši pri svakom zahtevu prema VSDC API-ju korišćenjem klijentskog SSL sertifikata izdatog od strane Poreske uprave.
ESIR komunicira sa V-PFR-om isključivo putem HTTPS protokola u skladu sa Tehničkim vodičem koji objavljuje i ažurira Poreska uprava na portalu Poreske uprave.
1.7 Integritet fiskalnih podataka
OBAVEZNO: ESIR ne izostavlja i ne menja ni jedan obavezan podatak fiskalnog računa koji je primio od V-PFR-a. Svi podaci dobijeni od V-PFR-a (PFR broj, vreme fiskalizacije, QR kod, PDV specifikacija) prikazuju se na računu u izvornom obliku.
OBAVEZNO: ESIR ne izostavlja i ne menja ni jednu informaciju iz zaglavlja fiskalnog računa vezano za podatke izdavaoca računa koje je primio od V-PFR-a. Podaci o prodavcu (naziv, adresa, PIB, matični broj) prikazuju se tačno onako kako su primljeni od V-PFR-a.
1.8 Poreske stope
OBAVEZNO: ESIR preuzima poreske stope iz konfiguracijskih parametara od V-PFR-a ili od SUF-a (Sistema za upravljanje fiskalizacijom). Poreske oznake i stope (Ђ=20%, Е=10%, Г=0%, А=0%) definisane su centralno i ne mogu se menjati lokalno.
OBAVEZNO: ESIR štampa poresku oznaku na kojoj je prikazan tip poreza, zajedno sa poreskom vrednošću (npr. Ђ=20%, Е=10%, Г=0%, А=0%). Poreske stope se mogu razlikovati i važeće su samo one dostupne u tom trenutku na razvojnom okruženju. ESIR primenjuje isključivo one stope koje V-PFR vraća u odgovoru na zahtev.
ESIR podržava broj aktuelnih poreskih oznaka, uz mogućnost proširenja u budućnosti. Sistem je dizajniran da automatski prepozna i primeni nove poreske oznake kada ih V-PFR vrati u odgovoru.
ESIR prikazuje poreske stope na zahtev korisnika - dostupne stope su vidljive pri kreiranju proizvoda i pri kreiranju računa u admin panelu.
Prilikom upita poreskih stopa, ESIR zaokružuje poresku vrednost na minimum od dve decimale (zaokružuje drugu decimalu na manje ako je sledeća cifra manja od 5, odnosno na više ako je jednaka ili veća od 5).
OBAVEZNO: ESIR nikada ne koristi druge poreske stope ili iznose osim onih dobijenih od V-PFR-a. Sve poreske kalkulacije se baziraju isključivo na stopama koje V-PFR vraća u odgovoru.
2. Sistemski zahtevi
2.1 Za korišćenje API-ja
Za integraciju sa eFiskalizacija.cloud API-jem potrebno je:
- Programski jezik koji podržava HTTP/HTTPS zahteve
- Mogućnost generisanja HMAC-SHA256 potpisa
- SSL/TLS podrška
- Internet konekcija
2.2 Za korišćenje Admin panela
- Moderan web browser (Chrome, Firefox, Safari, Edge)
- JavaScript omogućen
- Internet konekcija
2.3 Podržani programski jezici
API se može koristiti iz bilo kog programskog jezika. Primeri koda dostupni su za:
- PHP
- JavaScript / Node.js
- Python
- C# / .NET
- Java
3. Registracija i pristup
3.1 Kreiranje naloga
Za korišćenje sistema potrebno je:
- Kontaktirati Infogram d.o.o. putem email-a: info@efiskalizacija.cloud
- Dostaviti potrebnu dokumentaciju (PIB, kopija rešenja o registraciji)
- Potpisati ugovor o korišćenju
- Dobiti pristupne kredencijale
3.2 Pristupni kredencijali
Nakon registracije dobijate:
| Kredencijal |
Opis |
API Key |
Javni ključ za identifikaciju |
API Secret |
Tajni ključ za potpisivanje zahteva (čuvati bezbedno!) |
Admin pristup |
Korisničko ime i lozinka za admin panel |
BEZBEDNOST: API Secret nikada ne delite i ne čuvajte u izvornom kodu. Koristite environment varijable ili secure vault.
4. Konfiguracija naloga
4.1 Admin panel
Pristupite admin panelu na: https://efiskalizacija.cloud/admin/
4.2 Podešavanja PDF računa
U sekciji Podešavanja → PDF možete:
- Uploadovati logo firme
- Podesiti boju brenda
- Konfigurisati veličinu štampe (80mm ili 58mm)
4.3 Bezbednosna podešavanja
U sekciji Bezbednost možete:
- Pregledati API ključeve
- Regenerisati API Secret (u slučaju kompromitacije)
- Pregledati aktivnost na nalogu
4.4 Upravljanje proizvodima
Novi proizvod ili usluga može da se unese i konfiguriše od strane korisnika kroz admin panel:
- U sekciji Proizvodi → Dodaj proizvod unesite naziv, cenu i PDV stopu
- Proizvodi se mogu organizovati po kategorijama
- Svaki proizvod može imati šifru, GTIN (globalni broj trgovinske jedinice / bar kod) i sliku
- Postojeći proizvodi se mogu menjati i brisati
ESIR podržava GTIN (Global Trade Item Number) - globalni broj trgovinske jedinice. GTIN se unosi kao barkod pri kreiranju proizvoda i može se koristiti za brzu pretragu i skeniranje.
ESIR zaokružuje cenu proizvoda ili usluge na minimum dve decimale (zaokružuje drugu decimalu na manje ako je sledeća cifra manja od 5, odnosno na više ako je jednaka ili veća od 5).
4.5 Uvoz i izvoz proizvoda
ESIR ima funkciju uvoza i izvoza liste proizvoda i usluga:
- Izvoz (Export) - dugme "Izvezi" na listi proizvoda generiše CSV fajl sa svim proizvodima
- Uvoz (Import) - dugme "Uvezi" omogućava upload CSV fajla sa proizvodima
CSV format podržava kolone: Naziv, Cena bez PDV, Šifra, Barkod (GTIN), PDV stopa, Kategorija, Jedinica mere, Opis, Aktivan.
5. API integracija
5.1 Base URL
Produkcija: https://efiskalizacija.cloud/api/multitenant.php
Sandbox: https://sandbox.efiskalizacija.cloud/api/multitenant.php
5.2 Autentifikacija (HMAC-SHA256)
Svaki zahtev mora sadržati sledeće HTTP header-e:
| Header |
Opis |
X-Api-Key |
Vaš API ključ |
X-Timestamp |
Unix timestamp (sekunde) |
X-Signature |
HMAC-SHA256 potpis |
5.3 Generisanje potpisa
// PHP primer
$timestamp = time();
$body = json_encode($data);
$stringToSign = $timestamp . $body;
$signature = hash_hmac('sha256', $stringToSign, $apiSecret);
5.4 Dostupne rute
| Metoda |
Ruta |
Opis |
| POST |
/fiskalizacija |
Kreiranje i fiskalizacija računa |
| GET |
/status |
Status sistema |
| GET |
/invoice?pfr=XXX |
Preuzimanje računa po PFR broju |
| GET |
/pdf?pfr=XXX |
Preuzimanje PDF računa |
6. Kreiranje računa
6.1 Proces kreiranja računa
Prilikom izdavanja računa, korisnik ESIR-a mora da:
- Izabere proizvod ili uslugu iz kataloga - artikli se mogu birati po imenu ili skeniranjem GTIN-a (bar koda)
- Izabere količinu za svaki proizvod ili uslugu
- Može da promeni cenu proizvoda ili usluge (putem API-ja polje
jedinicna_cena)
- Može da ukloni stavke sa računa pre izdavanja fiskalnog računa (dugme X pored svake stavke)
- Popust po stavci - trenutno nije podržano (opciona funkcionalnost)
- Unos transakcije putem fajla - nije podržano (opciona funkcionalnost). Transakcije se kreiraju putem REST API-ja ili admin panela.
- Izabere način plaćanja
- Opciono: unese podatke o kupcu (PIB/JMBG)
6.2 Osnovni zahtev (API)
POST /fiskalizacija
Content-Type: application/json
{
"tip_racuna": "prodaja",
"nacin_placanja": "kartica",
"stavke": [
{
"naziv": "Proizvod 1",
"kolicina": 2,
"cena": 1500.00,
"pdv_stopa": 20
}
]
}
6.2 Uspešan odgovor
{
"success": true,
"data": {
"pfr_broj": "XXXXXXXX-XXXXXXXX-12345",
"broj_racuna": "1/2026",
"ukupan_iznos": 3000.00,
"qr_url": "https://...",
"pdf_url": "https://..."
}
}
7. Tipovi transakcija
7.1 Podržani tipovi
| Tip |
API vrednost |
Opis |
| Promet - Prodaja |
prodaja |
Standardna prodaja |
| Promet - Refundacija |
refundacija |
Povraćaj sredstava |
| Avans - Prodaja |
avans |
Avansna uplata |
| Avans - Refundacija |
avans_refundacija |
Zatvaranje avansa |
| Predračun |
predracun |
ProForma račun |
| Kopija |
kopija |
Kopija računa sa potpisom kupca |
| Obuka |
obuka |
Training mode (ne šalje se PU) |
8. Načini plaćanja
ESIR registruje metode plaćanja relevantne za e-commerce:
| Način |
API vrednost |
VSDC kod |
| Drugo bezgotovinsko plaćanje |
ostalo ili O |
0 |
| Gotovina |
gotovina ili G |
1 |
| Platna kartica |
kartica ili K |
2 |
| Prenos na račun |
virman ili V |
4 |
| Vaučer |
vaucer ili U |
5 |
| Instant plaćanje |
instant ili I |
6 |
Režim rada: Ovaj ESIR je namenjen isključivo za web shopove i daljinsku prodaju. Način plaćanja Ček (Check=3) nije podržan jer nije relevantan za e-commerce. Podržani su: Other=0, Cash=1, Card=2, WireTransfer=4, Voucher=5, MobileMoney=6.
8.1 Podeljeno plaćanje (Split Payment)
ESIR podržava mogućnost višestrukog metoda plaćanja istog računa. Kupac može platiti jedan račun kombinacijom više načina plaćanja (npr. deo gotovinom, deo karticom).
- U admin panelu: sekcija "Podeljeno plaćanje" pri kreiranju računa
- Putem API-ja: polje
nacin_placanja kao niz sa iznosima po metodi
- Validacija: zbir svih iznosa mora biti jednak ukupnom iznosu računa
8.2 Povezivanje sa perifernim uređajima
Nije primenjivo. Ovaj ESIR je cloud softver namenjen isključivo za web shopove i daljinsku prodaju. Ne povezuje se sa perifernim uređajima (čitači bar koda, vage) na tradicionalan način. Barkod skeneri koji rade kao tastatura (HID) mogu se koristiti bez posebne konfiguracije.
Napomena: Za e-commerce najčešće se koriste: platna kartica, instant plaćanje (IPS QR) i prenos na račun (pouzeće sa uplatom na račun).
9. Avansni računi
9.1 Lanac avansnih računa
- Avans Prodaja - Kupac uplaćuje avans
- Avans Prodaja 2, 3... - Dodatne avansne uplate (opciono)
- Avans Refundacija - Zatvaranje avansa (interna operacija)
- Promet Prodaja - Konačni račun sa referencom na avans
OBAVEZNO: U slučaju prodajnog računa koji proizilazi iz avansa ili predračuna, ESIR zahteva unos referentnog broja (poziv na broj) tog računa putem polja referentni_dokument.
ESIR VREME: Polje dateAndTimeOfIssue se NE prikazuje na računima. Pošto je eFiskalizacija.cloud isključivo web shop ESIR, transakcija je uvek evidentirana istog dana (online plaćanje je instant) i nema razlike između ESIR i SDC vremena.
9.2 Primer avansne uplate
{
"tip_racuna": "avans",
"nacin_placanja": "kartica",
"stavke": [
{
"naziv": "Avans (Ђ)",
"kolicina": 1,
"cena": 50000.00,
"pdv_stopa": 20
}
],
"reklamni_tekst": "* Laptop Dell XPS 15 - 150.000,00 RSD"
}
10. Refundacija
10.1 Kreiranje refundacije
OBAVEZNO: U slučaju refundacije ili kopiranja, ESIR zahteva unos referentnog broja (poziv na broj) prodajnog računa. Polje referentni_dokument mora sadržati PFR broj originalnog računa.
Za refundaciju je obavezno navesti referentni_dokument - PFR broj originalnog računa.
{
"tip_racuna": "refundacija",
"nacin_placanja": "kartica",
"referentni_dokument": "XXXXXXXX-XXXXXXXX-12345",
"stavke": [
{
"naziv": "Proizvod 1",
"kolicina": 1,
"cena": 1500.00,
"pdv_stopa": 20
}
]
}
VAŽNO: Refundacija mora sadržati iste stavke kao originalni račun (ili podskup stavki). Iznos refundacije ne može biti veći od originalnog računa.
11. Kopija računa
11.1 Kada se izdaje kopija?
Kopija računa se izdaje kada kupac zahteva dodatni primerak računa. Kopija sadrži liniju za potpis kupca.
11.2 Kreiranje kopije
{
"tip_racuna": "kopija",
"referentni_dokument": "XXXXXXXX-XXXXXXXX-12345"
}
12. Elektronski žurnal
ESIR pruža listu svih izdatih računa sa mogućnošću pretrage (elektronski žurnal):
- U admin panelu sekcija Računi prikazuje sve izdate fiskalne račune
- Pretraga po PFR broju, broju računa, datumu, tipu transakcije
- Filtriranje po statusu (uspešni, neuspešni, draft)
- Pregled detalja svakog računa uključujući stavke, PDV specifikaciju i QR kod
13. PDF i slanje računa
ESIR izdaje fiskalni račun u elektronskom obliku. Podržani su: generisanje PDF-a i slanje na email kupca.
12.1 Preuzimanje PDF-a
GET /pdf?pfr=XXXXXXXX-XXXXXXXX-12345&download=1
12.2 Format PDF računa
PDF račun sadrži:
- Logo firme (ako je konfigurisan)
- Podatke o prodavcu
- Stavke računa
- PDV specifikaciju
- QR kod za verifikaciju
- PFR broj i vreme fiskalizacije
12.3 Slanje računa kupcu
Iz admin panela možete direktno poslati PDF račun kupcu na email.
14. Česta pitanja
Da li mogu koristiti ovaj ESIR za fizičku prodavnicu?
Ne. Ovaj ESIR je namenjen isključivo za web shopove i daljinsku prodaju. Za fizičku prodavnicu potreban vam je ESIR sa podrškom za L-PFR.
Šta ako API nije dostupan?
U slučaju nedostupnosti VSDC servisa, sistem će vratiti grešku. Preporučujemo implementaciju retry mehanizma sa eksponencijalnim backoff-om.
Kako da testiram integraciju?
Koristite sandbox okruženje za testiranje. Sandbox koristi test sertifikate i ne šalje račune Poreskoj upravi.
Koliko dugo se čuvaju računi?
Računi se čuvaju trajno u sistemu. PDF-ovi su dostupni za preuzimanje u svakom trenutku.
Da li podržavate identifikaciju kupca?
Da. Podržani su: PIB (pravna lica), JMBG (fizička lica) i JBKJS (javni sektor).
15. Kontakt i podrška
14.1 Tehnička podrška
| Email: |
info@efiskalizacija.cloud |
| Telefon: |
+381 62 173 1079 |
| Radno vreme: |
Pon-Pet 09:00-17:00 |
14.2 Dokumentacija
- API dokumentacija:
https://efiskalizacija.cloud/docs/
- OpenAPI specifikacija:
https://efiskalizacija.cloud/docs/swagger-ui/
14.3 Proizvođač
Infogram d.o.o. Beograd
Kneza Višeslava 63
11000 Beograd, Srbija
PIB: 107026577
MB: 20476061