Preskoči na sadržaj

Uputstvo za instalaciju LPFR-a i povezivanje sa ESIR-om

Za tehničare koji instaliraju Harmony LPFR i povezuju ga sa ESIR-om: preduslovi, preuzimanje i provera paketa, instalacija, dozvole, povezivanje ESIR-a, provera instalacije, ažuriranje i deinstalacija.

Ažurirano: Verzija dokumenta: 1.0Preuzmi PDF
Sadržaj

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#

  1. Pokrenite Harmony-LPFR-Setup-{verzija}.exe i izaberite jezik instalera
  2. Pročitajte uslove korišćenja i štiklirajte Prihvatam uslove korišćenja. Bez toga se Harmony-LPFR ne instalira
  3. Pratite čarobnjak; podrazumevana putanja je C:\Program Files\Harmony-LPFR

3.2 macOS#

  1. Otvorite Harmony-LPFR-{verzija}.dmg i prevucite Harmony-LPFR.app u folder Applications
  2. Instalirajte OpenSC: brew install opensc ili PKG instaler sa https://github.com/OpenSC/OpenSC/releases
  3. 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#

  1. Priključite čitač i ubacite karticu. Čitač se prepoznaje sam
  2. 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)
  3. 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, 2131 ili 2132

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:

  1. proverava da je kartica u čitaču (inače 1300) i da vreme uređaja nije ranije od poslednjeg računa (inače 2240)
  2. proverava obavezna polja, dužine, opsege, format i poreske oznake; neispravan zahtev odbija sa HTTP 400 i kodom greške za svako polje
  3. računa porez po stopama koje važe u trenutku računa i zaokružuje sve sume na 4 decimale, metodom half-round up
  4. račun sa datumom i vremenom šalje bezbednosnom elementu na potpis, posle verifikacije PIN-a
  5. 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#

  1. Na kartici Status, u odeljku Uređaj, vidljivi su Proizvođač / Model HarmonyPOS / HarmonyLPFR i Verzija softvera
  2. U odeljku Pametna kartica vidljivi su naziv čitača, JID i serijski broj
  3. Posle unosa PIN-a gornja traka pokazuje ● Spreman, a odeljak Podaci o firmi poreske stope
  4. Odeljak Uređaj pokazuje Na mreži, a datum i vreme uređaja su tačni, bez crvenog upozorenja
  5. Sa računara na kome je ESIR: curl http://<adresa>:8888/api/v3/attention vraća HTTP 200
  6. 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.app iz Applications u 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#

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.