FUSSoap modul   za komunikacijo oz. potrjevanje računov na FURSu
Modul je namjenjen izmenjavi podatkov z DURSom in omogoča davčno potrjevanje gotovinskih računov za vse tiste, ki jih ozadje podpisovanja, tehnologije: XML , TLS, SOAP, x509 in druge ne zanimajo, nimajo časa za lastni razvoj ali je to stroškovno neupravičeno. Modul ima dvojno funkcionalnost:  direktno in posredno. Osnovne karakteristike in možnosti modula:
•	pošiljanje računa v potrditev 
•	prijava / zaprtje poslovnega prostora
•	preverjanje komunikacije ECHO
•	prevzem EOR številke potrjenega računa na osnovi s strani modula generiranega ZOI 
•	vodenje statusa poslanih računov
•	vodenje evidence računov, ki še nimajo EOR in avtomatična potrditev le-teh
•	vodenje evidence računov z napako 
•	vodenje log datoteka vseh aktivnosti modula (zahtevki, odgovori ...)
•	omogoča več hkratnih certifikatov na eni blagajni.

Kratki pregled modula

PUSSoap je programski klient  (software client) , ki komunicira s strežnikom Davčne uprave 
Republike Slovenije preko varne dvosmerne povezave TLS. Izmenjava podatkov je sinhrona 
kar pomeni, da informacijski sistem davčnega organa takoj odgovori na zahtevo uporabnika.
Za varno komunikacijo se uporabljajo trije certifikati: 

•	certifikat zavezanca za davčno potrjevanje  gotovinskih računov z nazivom namena 
uporabe DavPotRac. Zavezanec za certifikat zaprosi preko portala eDavki in ga namesti v mapo »Osebna mapa«. Z njim se kodirajo sporočilo o računu oz. poslovnem prostoru ...
•	ostale certifikati (samo javni ključ) so namenjeni vzpostavitev TLS povezave in odkodiranju odgovorov sistema davčnega urada.

Modul je namjenjen vsem zavezancem za potrjevanje gotovinskih računov predvsem pa programerjem, ki želijo komunicirati z informacijskim sistemom davčnega organa preko enostavnih opisnih tekstovnih datotek in jih ozadje podpisovanja, XML , TLS, SOAP, x509 in druge tehnologije ne zanimajo. 

Modul deluje v ozadju in z zunanjimi aplikacijami modul komunicira preko standardnih tekstovnih datotek.
Da bi lahko začeli uporabljati programski modula so potrebne tri stvari:

•	Morate imati privatni certifikat (TESTNO PODJETJE nnn) ki ga je izdal FURS 
•	OS na katerem modul deluje je MS Windows XP Sp3, Win 7 in Win 8 in .NET v4.0 
•	internetna povezava.
Po namestivi modula se le-ta nahaja v opravilni vrstici. Z levo tipko na miški se odpre trenutni status računov,  z desnim klikom lahko modul nastavljamo. Geslo na začetku pustimo prazno, ker ni definirano. 

V nastavitvah  najprej definiramo dostopna gesla za administratorja, ki lahko kasneje dostopa do aktivnosti nastavitve in prijave PP, in geslo za »Ročno potrjevanje računov«, ki ne dovoljuje poseganje v nastavitve modula.

Prvi korak pri konfiguraciji modula je verifikacija vaše ID št.za DDV z vašim privatnim certifikatom. Modul lahko zaženete pri zagonu račuanlnika. Prijava poslovnoga prostora je obvezna preden lahko začnemo s pošiljanjem računov preko elektronske naprave. 

»Ročno potrjevanje računov« je namenjeno samo v testni fazi. V produkcijski verziji modula teh funkcije ne 
bo več.

Vpogled v delovanje komunikacijskega modula lahko opazujemo preko funkcije »Pregled potrjevanja računov«
Če vse deluje kot je treba, so vsa tri okna prazna in nazivi oken so zelen obarvani.  Če ni internetne 
povezave se polni srednje okence zaslona »status«. To so računi, ki še čakajo na potrditev in EOR.
Računi z napako so računi ki niso  pravilno pripravljeni česar v produkciji ne bi več smelo biti. Na 
Tem okno se nahajajo tudi računi ki jih je informacijski sistem davčnega organa vrnila opremljeni s 
šifro napake S001-S006.

Namestitev modula

Pripravimo vse potrebne certifikate in si prenesemo modul . Namestitvena datoteka je v ZIP formatu, zato jo  najprej odpakiramo in zaženemo.  Postopek namestiteve certifikata v sistem windows je slijedeć: 

- dvoklik z levim gumbom na naš certifikat
- levi klik na gumb »Next«
- vnesemo naše geslo certifikata (za priložen certifikat je to »Geslo123#«
- in izberemo »osebna mapa« (Personal store)

Namestitev preostalih  certifikatov je enaka s tem, izberemo "Trusted Root Certification Authorities". Certifikate dobimo na FURSovi internetni strani. Certifikati se nahajajo v mapi :

C:\1FURS\FU-APP

Da bi bil modul pripravljen za delo je potrebno narediti verifikacijo privatnega certifikata in
Vaše DDV številke. V DEMO modulu je to :

Po namestitvi se aplikacija nahaja v mapi C:\1FURS\PU-APP. Log datoteke modula se nahajajo v 
C:\FURS\FU-LOG mapi. Ostali dve podmapi so namjenjeni za upravljanje z modulom posredno iz druge aplikacije. V mapi za log podatke modul shranjuje vse komunikacijske podatke s serverjem 
informacijskega sistema davčnega urada RS.

Kako je zasnovano povezovanje modula z drgimi aplikacijami 

Komunikacija z modulom iz drugih aplikacij poteka s  text datotekami  na osnovi deskriptorjev. Deskriptor ima ključ in vrednost. Vsak deskriptor je v svoji vrstici tekstualne datoteke. Prazne deskriptorje  pri kreiranju datoteke enostavno izpustimo. 

Delovne mape modula so FU-IN in FU-OUT:

•	FU-IN mapa: Aplikacija generira tekstualno datoteko z deskriptorji in vrednostmi 
•	in jo nato skopira v to mapo 
•	FU-OUT mapa: ko modul obdela zahtevo iz FU-IN mape kreira tukaj odzivno datoteko, ki jo aplikacija prebere in nato tudi izbriše
•	Request/Response Code Page = 1250

  Pri pošiljanju datoteke modulu moramo paziti le na podaljšek le-te xxxx.in. Modul vrne datoteko z enakim
  imenom in podaljškom xxxx.out v mapo FU-OUT.  Običajno za ime ime datoteke izberemo  kar številko 
  računa iz naše aplikacije. Dolžino imena datoteke omejuje le sistem windows. Če modul ne 
  uspe pridobiti EOR (težave pri komunikaciji)  potem po definiranem »timeout« v nastavitvah 
  modula,  datoteko xxxx.in preimenuje v xxxx.inw, poleg tega pa še vrne ZOI številko in status za čakanje 
  na potrditev v datoteki xxxx.out  v mapo FU-OUT. 

Modul kasneje sam vsako  minuto poskuša poslati datoteko po datoeko (vrstni red : najprej pošlje datoteko, ki najdlje čaka na potrditev in ko dobije EOR najdete ustrezni odgovor v datoteki \FU-OUT\xxxx.out.

Opis komunikacijskih datotek in deskriptorjev :

Opis deskriptorjev za komunikacijo s FURS
                Deskriptorji izmenjujejo z FURS
-------------------------------------------------------------------
DESK  	ZAČ-DOLŽ 	ECHO DESKRIPTOR „OPIS“  	OPOMBA
REGUEST:		
D120	1-4	D120
	5-xx	Echo sporočilo
RESPONSE:
D201	1-4	D201
	5-1	Status 0 = ok, 1 = napaka
	6-xx	Echo sporočilo ali opis napake
-------------------------------------------------------------------
DESK  	ZAČ-DOLŽ 	DESKRIPTOR PP  „OPIS“  	OPOMBA
REGUEST:		
D169	1-4	D169
	5-8	Davčna številka certifikata
	13-20	Oznaka poslovnega prostora 
D170	1-4	D170	
	5-4	Številka katastrske občine 
	9-5	Številka stavbe 
	14-4	Številka dela stavbe 
D171 	1-4	D171 
	5-10	Hišna številka 
	15-10	Dodatek k hišni številki
	25-100	Ulica
D172	1-4	D172
	5-4	Poštna številka 
	9-40	Pošta 
	49-100	Naselje 
D173 	1-4	D173 
	5-1	Premični poslovni prostor 	A,B,C  
D174 	1-4 	D174 
	5-10	Datum začetka veljavnosti podatkov LLLL-MM-DD	
D175 	1-4	D175 
	5-1	Zaprtje poslovnega prostora 	Z 
D176	1-4	D176
	5-8	Proizv. ali vzdrževalec programske opreme (IDŠT)
D177	1-4	D177
	5-1000	Proizv. ali vzdrževalec nima sedeža v Sloveniji
D178 	1-4	D178 
	5-1000	Morebitne druge oznake, ki podrobneje pojasnjujejo

RESPONSE:
D202	1-4	D202
	5-1	Status 0 = ok, 1 = napaka
	6-xx	Za status: 0 -> ID 36, 1 -> Opis napake
-------------------------------------------------------------------
DESK  	ZAČ-DOLŽ 	DESKRIPTOR RAČUNOV „OPIS“  	OPOMBA
REGUEST:	(VKR = Vezana knjiga računov)
D140	1-4	D140
	5-1	Knjiga VKR: 1=DA, 0=NE 
	6-1	Način dodelitve številke računa 	C,B/VKR=blanko  
	7-8	Davčna številka zavezanca 
	15-19	Datum in čas izdaje računa: LLLL-MM-DDTHH:MM:SS 
	15-10    	Datum in čas izdaje računa: LLLL-MM-DD	VKR
D141 	1-4	D141 	
	5-20	Oznaka poslovnega prostora 
	25-20	Oznaka elektronske naprave 
	45-20	Zaporedna številka računa 
D142 	1-4	D142 (Vezana knjiga računov)	VKR
	5-20	Zaporedna številka računa 
	25-2	Številka seta računa iz VKR	Min/Max=2
	27-12	Serijska številka VKR	Min/Max=12
	39-xx	Poslovni prostor 	Max 20
D143	1-4	D143
	5-xx	Davčna št. kupca za namene DDV 	Max 20
D144 	1-4	D144 
	5-14	Vrednost računa (14.2)	
	19-14	Vrednost za plačilo (14.2)
	33-14 	Znesek povračil (14.2) ali prazno
D145 	1-4 		D145 - Če je izdan v tujem imenu in za tuj račun
	5-8	Davčna številka davčnega zavezanca	
D146	1-4	D146 - DA, če obstaja	DDV
	5-5	davčna stopnja (5.2)
	10-14	davčna osnova (14.2)
	24-14	znesek davka (14.2)
D147	1-4	D147 - DA, če obstaja	Pavšalno
	5-5	davčna stopnja (5.2)	nadomestilo
	10-14	davčna osnova (14.2) 
	24-14	znesek davka (14.2)
D148 	1-4	D148 - DA, če obstaja 
	5-14	Ostali davki/dajatve (14.2)
D149 	1-4	D149 - DA, če obstaja 
	5-14	Vrednost oproščenih dobav (14.2)
D150 	1-4	D150 - DA, če obstaja 
	5-14	Vrednost dobav po 76.a členu Zakona o DDV (14.2)
D151 	1-4	D151 - DA, če obstaja 
	5-14	Vrednost neobdavčljivih dobav (14.2)
D152 	1-4	D152 - DA, če obstaja 
	5-14	Dobav, ki se nanaša na posebne ureditve (14.2)
D153 	1-4	D153 - DA, če ima oseba slovensko davčno številko
	5-8	Davčna številka osebe (operaterja) 	Brez D153 tujec
D154	1-4	D154 (Brez D154 modul modul izračuna ZOI)
	5-32	Zaščitna oznaka izdajatelja računa
D155	1-4	D155 - DA, če se račun posreduje naknadno
	5-1	Oznaka naknadnega posredovanja računa
D156 	1-4	D156 - Reference sprememba računa blagajne 
	5-20	Oznaka poslovnega prostora
	25-20	Oznaka elektronske naprave
	45-20	Zaporedna številka računa
	65-19	Datum in čas izdaje računa, ki se spreminja
D157 	1-4	D157 - Reference sprememba računa knjige VKR
	5-20	Številka računa iz vezane knjige računov, ki se spreminja
	25-2	Številka seta računa iz VKR, ki se spreminja
	27-12	Serijska številka VKR iz katere je bil izdan račun
	39-10	Datum izdaje računa iz VKR, ki se spreminja
D158 	1-4	D158 - Ostalo (podrobneje pojasnjujejo zapise)
	5-1000	Vpišejo se morebitne druge oznake
D180 	1-4	D180 Izračun ZOI OFF LINE
	5-1	0 -> OFF LINE 

RESPONSE:
D200	1-4	D200
	5-1	Status:	0 = ok
			1 = Račun čeka ponovni prijenos	
			2 = Greška kod pripreme podataka
			3 = Greške ostale
			4 = Naknadno dostavljen EOR 			
	6-32	ZOI - Zaštitni kod (Za status 0, 1 i 4)
	38-60	ZOI - Desetiško barcode (Za status 0, 1 i 4)
	98-36	EOR – Jedinstveni ident. Broj računa 
	134-36	UUID (Za status 0 i 4)
	98-4	Šifra greške (Za status 2 i 3)
	102-xx	Opis greške (Za status 2 i 3)
-------------------------------------------------------------
Code Page: Request/Response Code Page = 1250
-------------------------------------------------------------

   Primer odgovora račun D200: 
  
   če je status ok = 0 potem izgleda vsebina datoteke xxxx.out  

    D20003106fe63feda2d321e26ae9fcc71162b065168485229112454928814018601688307243100585911511020035122cc5ff021-a05e-4f56-a7fc-df891cb3fc36ef3d9e35-c8a9-4991-ab2b-af95d9203b80

   kar pomeni
   Status = 0 
   ZOI =  3106fe63feda2d321e26ae9fcc71162b
   Number 60: 065168485229112454928814018601688307243100585911511020035122
   EOR = cc5ff021-a05e-4f56-a7fc-df891cb3fc36
   UID = ef3d9e35-c8a9-4991-ab2b-af95d9203b80
   če pa status ni ok je vsebina datoteke xxx.out v mapi FU-OUT naslednja :

    D2003c5bcfd8dd6d5ab7c6c0a2a0b3019da38(EOR?)ErrorLocal Message Error Exception: The operation has timed out

   Kar pomeni :

   Status = 3 
   ZOI = c5bcfd8dd6d5ab7c6c0a2a0b3019da38 
   EOR = 
   UID = 

----------------------------------------------------------------------------

Modul podpira operacijski sistem Windows XP  SP3

Saj je na tržišču še ogromno blagajn zasnovanih s tem operacijskim sistemom še ogromno.
Za uspešno delovanje modula na računalnike z operacijskim sistemom Windows XP moramo poskrbeti , 
da so le-ta posodobljen kolikor se seveda da. Poleg tega namestimo še : 

•	Namestitmo popravek, ki spremeni Windows XP v Windows XP Embadded, s katero pridobimo možnost posodabljanja operacijskega sistema vse do konca 2018 leta. Pop+ravek dobimo na spodnjem linku 

   https://www.microsoft.com/en-us/download/confirmation.aspx?id=48214

•	Namestimo .NET 4.0 z posodobitvami tako v4.0.30139

Zadnja sprememba : 07.11.2015 

Kočevje, oktober 2015