1. Sistemski preduslovi#
1.1 Računar i operativni sistem#
| Sistem | Verzija | Paket |
|---|---|---|
| Windows | 10 ili 11, 64-bit | Harmony-LPFR-Setup-{verzija}.exe |
| macOS | 12 (Monterey) ili noviji | Harmony-LPFR-{verzija}.dmg |
| Linux | Ubuntu 20.04+ ili Debian 11+ | harmony-lpfr_{verzija}_amd64.deb |
Za instalaciju su potrebna administratorska prava.
1.2 Kartica i čitač#
- Bezbednosni element (fiskalna pametna kartica) Poreske uprave, sa SE i PKI apletom, i njen PIN
- PC/SC USB čitač pametnih kartica, na primer HID Global OMNIKEY 3x21. Čitač se priključuje na USB port, bez otvaranja računara
- OpenSC: na Windows-u ga postavlja instaler; na macOS-u i Linux-u instalira se posebno (vidi poglavlje 3)
1.3 Mreža#
| Protokol | Port | Namena | Smer |
|---|---|---|---|
| TCP | 8888 (podesiv) | ESIR → Harmony-LPFR | ulazni, lokalni |
| HTTPS | 443 | Harmony-LPFR → TaxCore (mTLS) | izlazni |
| NTP | 123/UDP | sinhronizacija vremena | izlazni |
| DNS | 53 | rezolucija imena | izlazni |
Harmony-LPFR koristi mrežnu vezu operativnog sistema: bežičnu (Wi-Fi), kablovsku (Ethernet) ili mobilni internet. Računi se potpisuju i bez interneta; internet je potreban za slanje revizorskih paketa.
1.4 Prostor na disku#
Jedan račun zauzima najviše oko 25 KB (zapis u bazi i revizorski paket). Primer: 300 računa dnevno je najviše oko 7,5 MB dnevno. Revizorski paket se briše kada ga SUF potvrdi ili stigne dokaz o iščitavanju, a zapisi o računima ostaju.
2. Preuzimanje i provera paketa#
2.1 Gde se preuzima#
Instalacioni fajlovi preuzimaju se isključivo sa https://harmonypos.io/sr/products/lpfr#download. Dok traje postupak odobrenja kod Poreske uprave, preuzimanje je zaštićeno šifrom koju daje One Click 2025 ([email protected]). Instaler iz drugog izvora može biti izmenjen.
2.2 Provera SHA-256#
Pored svakog fajla prikazani su verzija i SHA-256. Pre instalacije proverite da se poklapaju:
- Windows:
certutil -hashfile Harmony-LPFR-Setup-{verzija}.exe SHA256 - macOS i Linux:
shasum -a 256 <fajl>
3. Instalacija#
3.1 Windows#
- Pokrenite
Harmony-LPFR-Setup-{verzija}.exei izaberite jezik instalera - Pročitajte uslove korišćenja i štiklirajte Prihvatam uslove korišćenja. Bez toga se Harmony-LPFR ne instalira
- Pratite čarobnjak; podrazumevana putanja je
C:\Program Files\Harmony-LPFR
3.2 macOS#
- Otvorite
Harmony-LPFR-{verzija}.dmgi prevuciteHarmony-LPFR.appu folderApplications - Instalirajte OpenSC:
brew install openscili PKG instaler sa https://github.com/OpenSC/OpenSC/releases - Pri prvom pokretanju: desni klik na aplikaciju → Open (vidi poglavlje 6)
3.3 Linux (Debian/Ubuntu)#
sudo apt install pcscd libpcsclite-dev opensc
sudo dpkg -i harmony-lpfr_{verzija}_amd64.deb
sudo systemctl enable --now pcscd
3.4 Tiha instalacija na Windows-u#
Za postavljanje na više kasa: Harmony-LPFR-Setup-{verzija}.exe /S. Tiha instalacija ne prikazuje nijednu stranicu, pa ni uslove korišćenja; ko je koristi, dužan je da kupcu dostavi uslove. Pravilo fajervola dodaje se isto kao kod obične instalacije.
4. Šta paket instalira#
4.1 Fajlovi programa#
| Sistem | Šta se instalira |
|---|---|
| Windows | lpfr.exe, OpenSC biblioteke (opensc.dll, opensc-pkcs11.dll), prečice na Desktop-u i u Start meniju, unos u Add/Remove Programs i pravilo fajervola Harmony-LPFR POS API |
| macOS | Harmony-LPFR.app u folderu Applications |
| Linux | /usr/local/bin/lpfr, desktop unos i ikona |
4.2 Podaci aplikacije#
| Sistem | Folder sa podacima |
|---|---|
| Windows | %APPDATA%\harmonypos.io\lpfr\ |
| macOS | ~/Library/Application Support/harmonypos.io/lpfr/ |
| Linux | ~/.config/harmonypos.io/lpfr/ |
U folderu su baza lpfr.db (računi, revizorski paketi, komande i podešavanja) i folder logs/ sa dnevnim logovima. Licenca se ne čuva u fajlu, nego u bezbednom skladištu operativnog sistema.
5. Prvo pokretanje#
5.1 Tok pokretanja#
Aplikacija nema čarobnjak za podešavanje. Pri pokretanju prikazuje prozor sa indikatorom napretka, otvara bazu, sinhronizuje vreme, traži čitač i karticu, povezuje se sa TaxCore-om, proverava licencu i pokreće fiskalni server. Zatim se otvara glavni prozor, a ikonica se pojavljuje u sistemskoj paleti. Na računaru može da radi samo jedna instanca.
5.2 Podrazumevane vrednosti#
| Podešavanje | Podrazumevano | Gde se menja |
|---|---|---|
| POS port | 8888 |
Podešavanja → Server |
| Mrežna adresa (bind) | 0.0.0.0 (sve adrese) |
samo promenljivom okruženja LPFR_BIND_ADDRESS |
| Folder fajl-interfejsa | ~/Harmony-LPFR |
Podešavanja → Fajl posmatrač |
| NTP server | pool.ntp.org |
samo komandom SUF-a |
6. Dozvole operativnog sistema#
6.1 Windows fajervol#
Instaler dodaje pravilo Harmony-LPFR POS API: dozvoljava ulazne veze programu lpfr.exe na mrežama označenim kao Private ili Domain, samo sa adresa iz lokalne podmreže. Pravilo važi i za promenjen port. ESIR na istom računaru pravilo ne treba.
Ako kasa sa drugog računara ne može da se poveže, proverite da mreža radnje nije označena kao Public (Settings → Network & internet → Network profile type) i prebacite je na Private.
6.2 macOS#
Pri prvom pokretanju potvrdite aplikaciju desnim klikom → Open (zaštita Gatekeeper).
6.3 Linux#
Servis pcscd mora da radi da bi aplikacija videla čitač: sudo systemctl status pcscd.
7. Kartica i licenca#
7.1 Čitač i PIN#
- Priključite čitač i ubacite karticu. Čitač se prepoznaje sam
- U gornjoj traci glavnog prozora kliknite Verifikuj PIN i unesite PIN, ili ga pošaljite iz ESIR-a (vidi Verifikacija PIN-a iz ESIR-a)
- Indikator u gornjoj traci treba da pokaže ● Spreman
PIN se ne čuva i unosi se posle svakog vađenja kartice i restarta. Kartica se blokira posle 3 pogrešna unosa.
7.2 Licenca#
- Test i sandbox kartice Poreske uprave rade bez licence i bez naknade, pa se Harmony-LPFR može proveriti bez aktivacije
- Za produkcionu karticu licencu odobrava administrator u Harmony panelu. Harmony-LPFR prijavljuje karticu sam i preuzima licencu u roku od minut; ništa se ne unosi ručno
- Dok licenca ne dozvoljava potpisivanje, ESIR dobija
2130,2131ili2132
8. Povezivanje ESIR-a#
8.1 Adresa i port#
ESIR koristi standardni POS-to-SDC v3 HTTP interfejs:
http://localhost:8888/api/v3/
Zahtevi i odgovori su u JSON ili XML formatu (Content-Type i Accept). OpenAPI dokumentacija je na http://localhost:8888/docs.
8.2 Endpointi#
| Metod | Putanja | Namena |
|---|---|---|
GET |
/api/v3/attention |
Provera dostupnosti |
GET |
/api/v3/status |
Status uređaja |
GET |
/api/v3/environment-parameters |
Parametri TaxCore okruženja |
POST |
/api/v3/pin |
Verifikacija PIN-a |
POST |
/api/v3/invoices |
Fiskalizacija računa |
GET |
/api/v3/invoices/{requestId} |
Originalni račun za dati RequestId |
GET |
/api/v3/reports/current |
Presek stanja |
POST |
/api/v3/reports/daily |
Dnevni zaključak |
GET |
/api/v3/reports/periodic |
Periodični izveštaj |
8.3 API ključ#
Kada je u Podešavanjima postavljen API ključ, svaki zahtev mora da ima zaglavlje Authorization: Bearer <ključ>; bez njega odgovor je 401. Podesite ključ uvek kada ESIR pristupa preko mreže.
8.4 ESIR na drugom računaru#
Harmony-LPFR podrazumevano sluša na svim mrežnim adresama, pa ESIR na drugom računaru u mreži radnje koristi http://<IP adresa računara sa L-PFR-om>:8888. Na Windows-u to pušta pravilo fajervola iz poglavlja 6, a na Linux-u otvorite port (sudo ufw allow 8888/tcp).
8.5 Verifikacija PIN-a iz ESIR-a#
POST /api/v3/pin
Content-Type: application/json
"1234"
Odgovor je statusni kod u telu, na primer 0100 (PIN u redu), 2100 (pogrešan PIN), 2110 (kartica zaključana) ili 1300 (kartica nije u čitaču). Posle 3 pogrešna PIN-a zaredom kartica se neko vreme ne pita ponovo (HTTP 429), da se ne bi zaključala.
8.6 Status uređaja#
GET /api/v3/status vraća identifikaciju uređaja (make, model, softwareVersion, hardwareVersion, protocolVersion, deviceSerialNumber), listu statusnih kodova gsc, isPinRequired, auditRequired (da li je iščitavanje potrebno) i poreske stope koje važe.
8.7 Fiskalizacija računa#
POST /api/v3/invoices
Content-Type: application/json
RequestId: kasa1-20261029-0001
{
"dateAndTimeOfIssue": "2026-10-29T10:30:00+01:00",
"invoiceType": 0,
"transactionType": 0,
"payment": [{ "paymentType": 1, "amount": 1500.00 }],
"items": [
{ "name": "Производ А", "quantity": 2, "unitPrice": 500.00, "labels": ["Ђ"], "totalAmount": 1000.00 },
{ "name": "Производ Б", "quantity": 1, "unitPrice": 500.00, "labels": ["Ђ"], "totalAmount": 500.00 }
]
}
Harmony-LPFR redom:
- proverava da je kartica u čitaču (inače
1300) i da vreme uređaja nije ranije od poslednjeg računa (inače2240) - proverava obavezna polja, dužine, opsege, format i poreske oznake; neispravan zahtev odbija sa HTTP 400 i kodom greške za svako polje
- računa porez po stopama koje važe u trenutku računa i zaokružuje sve sume na 4 decimale, metodom half-round up
- račun sa datumom i vremenom šalje bezbednosnom elementu na potpis, posle verifikacije PIN-a
- pravi žurnal, URL za verifikaciju i QR kod (GIF), upisuje revizorski paket i vraća račun
Poreske oznake u primeru su ilustracija; ESIR šalje oznake iz poreskih stopa koje važe (GET /api/v3/status, polje currentTaxRates).
Odgovor sadrži brojače, invoiceNumber, verificationUrl, verificationQRCode, journal, signature, poreske stavke i mrc (registracioni kod i JID, na primer 89-0001-EKPDW8TH).
8.8 Idempotentnost#
Ako ESIR pošalje isti RequestId ponovo (na primer posle prekida veze), Harmony-LPFR ne potpisuje račun ponovo, nego vraća originalni odgovor. Isti račun vraća i GET /api/v3/invoices/{requestId}.
8.9 Kodovi statusa i grešaka#
| Kod | Značenje |
|---|---|
0000 |
Sve u redu |
0100 |
PIN u redu |
0210 / 0220 |
Internet dostupan / nedostupan |
1100 |
Skladište 90% popunjeno |
1300 |
Pametna kartica nije prisutna |
1400 |
Neophodna revizija |
1500 |
Potreban PIN kod |
1999 |
Nedefinisano upozorenje |
2100 |
PIN nije ispravan |
2110 |
Kartica zaključana |
2210 |
SE zaključan (dostignut limit iznosa) |
2220 |
Greška u komunikaciji sa SE |
2230 |
Neslaganje SE protokola |
2310 |
Neispravne poreske oznake |
2400 |
Nije konfigurisano (nema poreskih stopa ili URL-a za verifikaciju) |
2800–2809 |
Neispravno polje zahteva (obavezno, dužina, opseg, vrednost, format, lista) |
Kodovi koje Harmony-LPFR koristi za slučajeve koje tehnički vodič ne pokriva: 2120 (sertifikat još ne važi), 2130–2132 (licenca), 2240 (vreme uređaja ranije od poslednjeg računa), 2250 (disk pun), 2251 (nema dovoljno memorije).
9. Provera instalacije#
- Na kartici Status, u odeljku Uređaj, vidljivi su Proizvođač / Model
HarmonyPOS / HarmonyLPFRi Verzija softvera - U odeljku Pametna kartica vidljivi su naziv čitača, JID i serijski broj
- Posle unosa PIN-a gornja traka pokazuje ● Spreman, a odeljak Podaci o firmi poreske stope
- Odeljak Uređaj pokazuje Na mreži, a datum i vreme uređaja su tačni, bez crvenog upozorenja
- Sa računara na kome je ESIR:
curl http://<adresa>:8888/api/v3/attentionvraća HTTP 200 - Probni račun iz ESIR-a se potpisuje i pojavljuje na kartici Računi, a Paketi na čekanju padaju na 0
10. Ažuriranje#
- Harmony-LPFR proverava ažuriranja pri pokretanju i zatim na svakih 30 minuta; ručno, stavkom Proveri ažuriranja… u sistemskoj paleti ili u dijalogu O aplikaciji
- Preuzeti paket se proverava prema SHA-256 iz manifesta pre nego što se bilo šta upiše
- Nova verzija se instalira u 03:00 po lokalnom vremenu, da računar ne bude restartovan usred prodaje, ili odmah dugmetom Restartuj sada
- Ažuriranje ne briše račune ni revizorske pakete u bazi
- Ažuriranje se isključuje promenljivom okruženja
LPFR_UPDATE_URL=off
11. Deinstalacija#
- Windows: Settings → Apps → Harmony-LPFR → Uninstall. Briše program, prečice, unose u registru i pravilo fajervola
- macOS: prevucite
Harmony-LPFR.appizApplicationsu otpad - Linux:
sudo dpkg -r harmony-lpfr
Deinstalacija ne briše folder sa podacima (baza i revizorski paketi). Ne brišite ga ručno pre nego što svi revizorski paketi budu poslati Poreskoj upravi ili predati lokalnim iščitavanjem.
12. Dijagnostika problema#
| Problem | Šta uraditi |
|---|---|
| Aplikacija se ne pokreće | Proverite da već ne radi (ikonica u sistemskoj paleti); dozvoljena je jedna instanca |
| Čitač se ne prepoznaje | Priključite čitač na drugi USB port; na Linux-u proverite pcscd; proverite da je OpenSC instaliran |
| ESIR ne može da se poveže | Proverite adresu i port, fajervol (poglavlje 6) i API ključ |
Računi se odbijaju kodom 2240 |
Podesite tačan datum, vreme i vremensku zonu računara |
| Potrebno slanje revizije | Proverite internet, karticu i PIN; bez interneta uradite lokalno iščitavanje |
| Kartica blokirana posle 3 pogrešna PIN-a | Potreban je PUK kod ili izdavalac kartice |
Logovi su u folderu logs/ pored baze (vidi poglavlje 4), jedan tekstualni fajl po danu. Na kartici Logovi dugme Izvezi logove kopira ih na USB ili SD karticu.
13. Podrška#
- Tehnička podrška: [email protected]
- Dokumentacija: https://harmonypos.io/sr/products/lpfr
- Detaljna tehnička dokumentacija za programere ESIR-a (sva polja zahteva i odgovora, SSE, fajl-bazirani interfejs, promenljive okruženja): https://harmonypos.io/sr/products/lpfr/instalacija
Autorska prava#
© 2026 One Click 2025, Novi Pazar. Sva prava zadržana.
Uputstvo smete da preuzmete, odštampate i prosledite u neizmenjenom obliku. Za svako drugo umnožavanje, izmenu ili objavljivanje potrebna je pismena saglasnost One Click 2025.