Background

Home Moguča uporaba HrFiskalizatora ako čeka na File na disku :

Kako bi Program radio u ovom načinu u konfiguracijskoj datoteci (HrFiskalizator.ini) postavka "Način čekanja na zadatak "mora biti definirana kao "File".

Program če na čekati da bude KREIRANA ili PROMIJENJENA datoteka definira u konfiguracijskoj datoteci postavkom "Datoteka sa zadatkom"

i vračati odgovore u datoteku definiranu postavkom "Datoteka sa odgovorom".

Datoteka sa zadacima če cijelo vrijeme biti zaključana za brisanje ali če se u nju cijelo vrijeme moči pisati, a program detektira

promjenu vremena zadnjeg pisanja u datoteku.

Program ostavlja dovoljno vremena (200ms) matičnoj aplikaciji da uspješno upiše sve podatke.

Upit (zadatak) se upisuje u prvi red datoteke.

U ostalim redovima datoteke upita moguči su i neki dodatni parametri prema doljnim primjerima.

Sve ulazne text datoteke moraju biti utf-8 encoded .

Svi odgovori su plain text odgovori te su utf-8 encoded .

Program nastoji detektirati sve potencijalne korisničke greška te vrača razne poruke o greškama koje su se dogodile pri

izvođenju traženog zadatka ili dobivene od servera Porezne uprave.

Program če vračati odgovore na sljedeče upite(u zagradi skračeni upit) :

EXIT

Gasi program , te je korisna ako programer iz svoje aplikacije želi pokretati HrFiskalizator te ga zatvarati (recimo pri zatvaranju svoje aplikacije).

Povratna datoteka se ne kreira.

PING

Služi za provjeru dali program radi i odgovara na preddefinirani port

Moguči povrati : OK ili povrata nema

ECHO

Služi za provjeru dali program radi i te dali može komunicirati sa serverom porezne uprave.

Moguči povrati : True ili povrata nema

GETSERVER

Služi za provjeru dali je program usmjeran na slanje zahtjeva na Produkcjiski ili Testni Server PU.

Moguči povrati : Produkcijski ili Testni

GETHRFVERSION

Primjer : http://login:password@localhost:8449/fiskal?zadatak=GETHRFVERSION"

Moguči povrati : Verzija učitanog programa

GENERIRAJUID (GUID)

Moguči povrati : generirani jedinstveni broj

GENERIRAJZKI (GZKI)

Zahtjeva dodatnih 5 parametara za izračun ZKI u formatu prema priloženom primjeru.

(GENERIRAJZKI, Formatiran DatumVrijeme,Oib,Iznos računa (separator lipa je točka),Broj poslovnice, Broj naplatnog uređaja,

GENERIRAJZKI Zadatak
17052038498 Oib
23.09.2016 19:13:30 Formatiran DatumVrijeme
17052038498 Oib
2571 Broj računa
1 Broj poslovnice
1 Broj naplatnog uređaja
200.00 Iznos računa (separator lipa je točka)

Moguči povrati : izračunati ZKI broj

DOHVATIVRIJEME (VRIJEME)

Moguči povrati : trenutno sistemsko vrijeme u formatu 23.09.2016T19:13:35

RACUNZAHTJEV (RZ)

Datoteka sa instrukcijama mora imati ovakav oblik

RZ  
  Prazan red
R1234.xml XML datoteka za slanje
R1234.txt Proizvoljno ime datoteke za povrat podataka

Treči parametar "Proizvoljno ime datoteke za povrat podataka." postoji kako u višekorisničkom okruženju, više kasa nebi dobilo istovremeno

odgovor u istu datoteku.(Ako 3 parametar nije naveden, povrat informacija se vrši u datoteku definiranu postavkom "Datoteka sa odgovorom".

u glavnim postavkama.

Napomena : Ukoliko su u programskim postavkama uključene opcije upisa vremena slanja i UIDA prilikom slanja računa program če upisati

podatke u XML string prije slanja, ako nisu, potrebno je da u XML stringu tagovi <IdPoruke></IdPoruke> te <DatumVrijeme></DatumVrijeme>

budu popunjeni.

<ZastKod></ZastKod> se u svakom slučaju izračunava te popunjuje, te ga stoga nije potrebno upisivati unutar korisničke aplikacije jer če ionako biti prepisan.

( za razliku od primjera sa poslovnim prostorom ovaj primjer je sa upisanim vrijednostima)

69db925d-f967-4fb8-b482-7e2fb8f328f8 UID
cdda222a-9df7-496f-94c0-aa4704ad6f35 JIR
07.10.2016T15:07:37 Vrijeme iz datoteke primljene od PU
c93a13d1092f4f5c385f391ab78a75ba ZKI izračunan na osnovu podataka iz XML datoteke

U slučaju greške program če vratiti odgovor po sljedečoj shemi:

  Prazan red
  Prazan red
  Prazan red
c93a13d1092f4f5c385f391ab78a75ba ZKI izračunan na osnovu podataka iz XML datoteke
Problem pri slanju poruke na server porezne uprave : com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed Poruka greške (primjer)

*U slučaju greške pri izvođenju procedure, moguče je da bude vračena samo poruka greške ili da ne bude vračena nikakva poruka
, u tom slučaju se gotovo sigurno radi o pogrešno formatiranoj XML poruci zahtjeva.

RACUNPROVJERAZAHTJEV (RPZ)

Ovaj zadatak ima iste parametre kao i RACUNZAHTJEV te mu se šalje potpuno ista datoteka sa računom, jedina je razlika što neče fiskalizirati račun nego ga poslati u CIS, na provjeru te vratiti rezultat provjere u sljedečem obliku :

58b33336-68ac-49c5-b7c6-d6e5dea3e767 UUID poslane poruke
Poruka je ispravna. Ili drugi rezultat greške.
  Prazan red
v100 Šifru greške.
PROVJERAZAHTJEV (RPZ)

Ovaj zadatak ima iste parametre kao i RACUNZAHTJEV te mu se šalje potpuno ista datoteka sa računom, ali početni ključ datoteke sadrži "ProvjeraZahtjev" a ne "RacunZahtjev".Podaci se neče fiskalizirati nego ga poslati u CIS, na provjeru te vratiti rezultat provjere u obliku kao i RACUNPROVJERAZAHTJEV :

RACUNZAHTJEVTXT (RZTXT)

Omogučuje konverziju i slanje u CIS txt datoteke sa podacima koje je vrlo jednostavno izraditi u DOS programima.

Program če textualnu datoteku formatiranu na način iz primjera pretvoriti u XML string te ga poslati uz sva pravila koja vrijede za poziv RACUNZAHTJEV.

Datoteka sa instrukcijama mora imati ovakav oblik :

RZTXT  
  Prazan red
R1234.txt XML datoteka za slanje
R1234odg.txt Proizvoljno ime datoteke za povrat podataka.

Treči parametar "Proizvoljno ime datoteke za povrat podataka." postoji kako u višekorisničkom okruženju, više kasa nebi dobilo istovremeno

odgovor u istu datoteku.(Ako 3 parametar nije naveden, povrat informacija se vrši u datoteku definiranu postavkom "Datoteka sa odgovorom".

u glavnim postavkama.

Primjer datoteke sa računom za slanje Racuntxt.txt . Redovi sa # su opisni i program ih ne procesira.

PAŽNJA za razliku od Wrappera koji je više poreza i naknada razdvajao znakom * , Hrfiskalizator ih razdvaja znakom & (zbog programskih osobina JAVE).

*Kako je jednako lako unutar matične aplikacije kreirati XML string kao i TXT datoteku, ovu funkiju treba shvatiti kao pomočnu.

Uvedena je isključivo kao bi se korisnicima Wrappera koji su koristili ovu funkciju olakšao prelazak na HrFiskalizatora.

RACUNPROVJERAZAHTJEVTXT (RPZTXT)

Ovaj zadatak ima iste parametre kao i RACUNZAHTJEVTXT te mu se šalje potpuno ista TXT datoteka sa računom, jedina je razlika što neče fiskalizirati račun nego ga poslati u CIS, na provjeru te vratiti rezultat provjere u istom obliku kao i zadatak RACUNPROVJERAZAHTJEV .

PRATECIDOKUMENTIZAHTJEV (PDZ)

Koristi se za slanje PRATEČEG DOKUMENTA.

Svi pozivni parametri izuzev prvog su istovjetni kao kod RACUNZAHTJEV (izuzev )

Moguči povrati : su istovjetni kao kod RACUNZAHTJEV.

RACUNPDZAHTJEV (RPDZ)

Koristi se za slanje RAČUNA ZA PRATEČI DOKUMENT.

Svi pozivni parametri izuzev prvog su istovjetni kao kod RACUNZAHTJEV (izuzev )

Moguči povrati : su istovjetni kao kod RACUNZAHTJEV.

PROMIJENINACPLACZAHTJEV

Koristi se za slanje IZMJENE NAČINA PLAĆANJA NA VEČ FISKALIZIRANOM RAČUNU.

Klikni za detalje
NAPOJNICAZAHTJEV (u funkciji od verzije 60)

Koristi se za slanje XMLa NAPOJNICE nakon što smo uspješno fiskalizirali račun.

Svi pozivni parametri izuzev prvog su istovjetni kao kod RACUNZAHTJEV (izuzev )

Klikni za detalje
QRCODE ili CREATEBARCODE
  • Podržani barcodetype su QRCODE (primjena pri fiskalizaciji i dr.) i PDF417 (moguča primjena za generiranje barcoda za internet plačanje)

    Ako nije upisana cijela putanja npr. C:\HrFiskalizator\podmeni\test.png onda če datoteka biti kreirana u folder u kojoj je pokrenut HrFiskalizator. podataka
    Primjer do verzije 45
    QRCODE  
    TekstZaKonverzijuKojiPropisujeZakonodavac Tekst koji želimo da bude upisan u QRCODE image
    200 Dimenzija imegea (biče upotrebljena i za Visinu i Širinu))
    test.png Ime datoteke

    Primjer od verzije 64
    CREATEBARCODE  
    QRCODE Tip barkoda koji želimo kreirati (podržano QRCODE i PDF417)
    Tekst\r\nZa\r\nKonverziju Tekst koji želimo da bude upisan u BARCODE image.
    Sekvenca karaktera "\r\n" će biti tretirana kao oznaka za novi red.
    Od verzije 64 nadalje :
    Ako text za konverziju počinje sa "file=" onda će text za konverziju biti učitan iz datoteke u nastavku.
    *Pritom datoteka sa textom za konverziju može sadržati jedan ili više redova.
    420x140 Dimenzija imegea (širina x visina).Program vrši autokorakciju dimenzija.
    *Ako je upisana visina veća od širine, barkod če biti kreiran kao vertikalni image.
    test.png Ime datoteke (Podržani format je png,jpg,bmp te gif, i automatski se određuje iz imena datoteke.)

    OK ili poruka greške če biti upisana u datoteku definiranu postavkom "Datoteka sa odgovorom" u glavnim postavkama.
    *Kod nekih grešaka moguče je da nikakva poruka nebude upisana niti image kreiran.


    Detaljnije o QRCODE ili CREATEBARCODEu pogledajte OVDJE
  • POZIVI PREMA APIJu ZA PROVJERU eRačuna (u funkciji od verzije 70)

    Osim toga omogućava provjeru svih UBL strukturiranih XML dokumenata, čiju listu možete vidjeti OVDJE.
    *HrFiskalizator za pretvorbu poziva iz datoteke u HTTP nema posebno navedene instrukcije več se simulira HTTP poziv.

  • Nekoliko primjera komunikacije sa apijem putem razmjene datoteka (naredbe su case-sensitive) :
    Šalje na projeru dokumenat iz datoteke racun.xml
    prema standardu definiranom u GET parametru vesid
    http
    app/PEPPOLVALIDATOR?vesid=org.oasis-open:invoice:2.1
    file=C:/hrfiskalizator/racun.xml
    text/xml
  • PROVJERA ERačuna putem korištenjem LOKALNIH XSD datoteka (u funkciji od verzije 76) *HrFiskalizator za pretvorbu poziva iz datoteke u HTTP nema posebno navedene instrukcije več se simulira HTTP poziv.
  • Nekoliko primjera komunikacije sa apijem putem razmjene datoteka (naredbe su case-sensitive) :
    Šalje na projeru dokumenat iz datoteke Invoice.xml
    koristeči lokalne XSD datoteke automatski skinute sa servera HrFiskalizatora.
    http
    app/eizvjestavanje/xml?action=TESTIRAJLOGIKU&soapaction=Invoice
    file=C:/hrfiskalizator/Invoice.xml
    text/xml
    Šalje na projeru dokumenat iz datoteke Invoice.json
    koristeči lokalne XSD datoteke automatski skinute sa servera HrFiskalizatora.
    http
    app/eizvjestavanje/json?action=TESTIRAJLOGIKU&soapaction=Invoice
    file=C:/hrfiskalizator/Invoice.json
    text/xml
  • PROVJERA ERačuna i ostalih XML dokumenata Fiskalizacije 2.0 (u funkciji od verzije 76) *HrFiskalizator za pretvorbu poziva iz datoteke u HTTP nema posebno navedene instrukcije več se simulira HTTP poziv.
  • Nekoliko primjera komunikacije sa apijem putem razmjene datoteka (naredbe su case-sensitive) :
    Šalje na projeru dokumenat iz datoteke file.xml koristeči lokalne XSD datoteke automatski skinute sa servera HrFiskalizatora.
    Vrača opsežan textualni opis uočenih grešaka.
    http
    app/XMLVALIDATORLOCALXSD
    file=C:/hrfiskalizator/file.xml
    text/xml
    Za razliku od prethodnog primjera vrača jednostavan JSON sa greškama ili prazan JSON u formatu {"xsd":[],"xsl":[]}, ako grešaka nema.
    http
    app/eizvjestavanje/XMLSIMPLEVALIDATOR
    file=C:/hrfiskalizator/file.xml
    text/xml
  • Primjeri konverzija
  • Konvertirati sa mogu svi JSON dokumenti fiskalizacije 2.0 u HrFiskalizator formatu u XML format za slanje poreznoj upravi ili informacijskom posredniku.
    *Ako je naveden parametar clean , u konvertiranom XMLu če biti izostavljeni svi prazni redovi i objašnjenja upisana u template.
    http
    app/JSONTOXML?clean
    file=C:/hrfiskalizator/file.json
    text/html
    Primjeri konverzija Invoice u formate za direktno izvještavanje ePoreznoj
  • Primjer konverzije Invoice XML u EvidentirajERacunZahtjev format za slanje poreznoj upravi ili informacijskom posredniku.
  • Vrstu dokumenta određuje parametar vrstadokumenta koji može biti :
    I - za iradu xmla EvidentirajERacunZahtjev IZLAZNOG računa
    M - za iradu xmla EvidentirajERacunZa
    IR - za iradu xmla EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev
    ODBIJANJE - za izradu xmla EvidentirajOdbijanjeZahtjev
    U -za izradu xmla EvidentirajERacunZahtjev ULAZNOG računa
    *Ako je naveden dodatni parametar &clean, xml če biti vračen bez praznih redova i komentara
    http
    app/eizvjestavanje/xml?action=ERACUN2EIZVJESTAVANJE&soapaction=Invoice&vrstadokumenta=I
    file=C:/hrfiskalizator/Invoice.xml
    text/html
  • Pretraga KPD specifikacija (u funkciji od verzije 78)
  • Pretrašuje KPD specifikacije uz mogućnost pretrage po : NAME , CODE , SECTOR
  • Parametar nija case sensitive.
  • Parametrom limit određuje broj rezultata koji se vračaju (default 30)
    http
    app/KPDSEARCH?trazipo=NAME&pojam=kosilic&limit=10
    text/xml
  • Pretraga OZNAKA JEDINICE MJARA (u funkciji od verzije 78)
  • Pretrašuje prvo pojmove unutar definiranih specifikacija, a ako ne nađe pokušava naći kod.
  • Parametar "pojam" nija case sensitive.
  • Parametrom limit određuje broj rezultata koji se vračaju (default 10)
    http
    app/JMSEARCH?pojam=komad&limit=10
    text/xml
  • Učitava bilo koji file (uključujući binarne) i sprema BASE64 string u odgovor.txt(u funkciji od verzije 78)
    http
    app/FILETOBASE64STRING?filename=mojFile.pdf
    text/xml

    Korisno ako netko hoče u json ili XML ubaciti pdf privitak kao BASE64 string.
    Primjer JSON formata sa pdf privitkom :
    Operacije sa radnim vremenom jedne ili više poslovnica
    *od verzije 80
  • Mogući zadaci :
  • DohvatiRadnoVrijemeZahtjev
  • ObrisiRadnoVrijemeZahtjev
  • PrijaviRadnoVrijemeZahtjev
  • PrijaviRadnoVrijemeZaPoslovniceZahtjev

  • *Svi primjeri su dostupni u testnom web interejsu.
  • Primjer dohvat radnog vremena
    http:NOENCODEPOST
    fiskal?zadatak=DOHVATIRADNOVRIJEMEZAHTJEV
    FILE=primjer_dohvat_radnog_vremena_zahtjev.txt
    text/html;charset=UTF-8
  • Provjera detalja o certifikatu
  • Šalje se certifikat iz dokumenta F20 koji je u datoteci Base64 encodiran i takav se šalje kao post u 3 redu
  • Ili se na analizu šalje cijeli xml file.

  • *od verzije 88
    http:NOENCODEPOST
    app/CETRTIFICATEFACTS
    Base64encodedCertificate
    text/html;charset=UTF-8
    ili kao xml file :
    http
    app/CETRTIFICATEFACTS
    file=Signed_invoice.xml
    text/html;charset=UTF-8
    Dozvat podataka o informacijskom posredniku AMS sustavu za pojedini oib
    *od verzije 89
    http
    app/GETMPSFOROIB?oib=xxxxxxxxxxx
    text/html;charset=UTF-8