Spletni vmesnik za avtomatsko izmenjavo podatkov z računovodskimi programi
Spletni vmesnik za avtomatsko izmenjavo podatkov omogoča, da v program za bilance uvozimo podatke iz drugih računovodskih program s pomočjo spletnega prenosa podatkov po protokolu HTTP POST. To pomeni, da se podatki iz drugega programa prenesejo brez vmesnega shranjevanja datotek in siceršnjih nadležnih izvozov ter uvozov podatkov. Prenos podatkov poteka na enak način, ki je sicer običajen za prenose datotek XML v eDavke . Spodnja slika prikazuje način delovanja prenosa podatkov v program za izdelavo letnih poročil.
| | |
| | Slika 1: Prikaz delovanja izmenjave podatkov z računovodskimi programi |
|
V računovodski aplikaciji imamo več možnosti izvedbe takšnega prenosa podatkov:
- v programu generiramo XML s podatki in s pomočjo gradnikov COM uporabimo kontrolo Internet Explorer-ja za prikaz HTML strani, ki jo uporabnik potrdi in prenese podatke na strežnik bilanca05.net,
- v programu generiramo XML in ga vstavimo v HTML datoteko, ki jo shranimo v začasni direktorij. Nato programsko poženemo skripto, ki prikaže generirano HTML datoteko, kjer uporabnik potrdi prenos podatkov in le-te prenese na stran bilanca05.net
Od tega trenutka dalje se celotna obdelava prenese na spletno aplikacijo bilanca05.net zato implementacija izmenjave podatkov ne zahteva večjega programerskega posega.
Struktura HTML strani za izvoz zaključnega računa
Stran HTML, ki pošlje HTTP zahtevek s podatki mora vsebovati element FORM zato, da se ob potrditvi v brskalniku izvede HTTP POST zahtevek na ciljno lokacijo https://gorisek.com/bilanca05/WebImport.
Forma mora vsebovati tudi naslednje elemente:
- polje ImportDocument - vsebina XML datoteke za izvoz v spletno aplikacijo eDavki, ki je lahko zakodirana ali v UTF-8 ali Win-1250 encodingu in zavita v BASE64. Če kodiranje ni izrecno določeno, se predpostavlja, da je dokument v Win-1250.
- polje ImportAjpesDocument - vsebina XML datoteke za izvoz v spletno aplikacijo AJPES, zakodirana v UTF-8 ali Win-1250 encodingu in zavita v BASE64. Če kodiranje ni izrecno določeno, se predpostavlja, da je dokument v Win-1250.
- polje TaxPayerID - davčna številka zavezanca, za katerega se izvaža zaključni račun. V kolikor podatki za tega zavezanca v programu še ne obstajajo se bo avtomatsko ustvaril. V primeru, da podatki že obstajajo, bo uporabnik preden se le-ti prepišejo predhodno opozorjen. V kolikor uporabnik ni pooblaščen za vpogled v podatke zavezanca, bo uporabnik na to ustrezno opozorjen, njegova zahteva bo pa ignorirana.
- polje PosrednikID - identifikacijska številka ponudnika računovodske aplikacije iz katere se izvažajo podatki.
- gumb Submit - gumb na katerega klikne uporabnik, da se izvede HTTP POST zahtevek (request) na lokacijo https://gorisek.com/bilanca05/WebImport
Postopek prenosa zaključnega računa preko spletnega vmesnika
- po potrditvi gumba Submit na HTML strani, brskalnik pošlje POST zahtevek na lokacijo https://gorisek.com/bilanca05/WebImport,
- izvede se preverjanje pravilnosti podatkov ter osnovna validacija podatkov,
- po uspešnem preverjanju se mora uporabnik avtentificirati z uporabniškim imenom in geslom, ki sta mu bila dodeljena za vstop v spletni program Bilanca05.net,
- po uspešni avtentifikaciji se izvede prenos podatkov zaključnega računa v program Bilanca05.net ter se prikaže vnosna maska za urejanje podatkov o zavezancu
Struktura podatkov
Za uspešno izveden prenos podatkov je potrebno upoštevati strukturo podatkov.
- ImportDocument : XML datoteka za uvoz v spletno aplikacijo eDavki. Predpisana je z XML shemo, ki jo najdete na strani http://edavki.durs.si/OpenPortal/Pages/Technicals/FormsXml.aspx - opcijski podatek
- ImportAjpesDocument : XML datoteka za uvoz v spletno aplikacijo AJPES. XML shemo, ki predpisuje strukturo dokumentov XML za samostojne podjetnike in gospodarske družbe najdete na strani http://www.ajpes.si/dokumenti/dokument.asp?id=917 . - opcijski podatek
- TaxPayerID : davčna številka zavezanca, za katerega se prenaša zaključni račun (maksimalno 8 znakov) - obvezen podatek
- PosrednikID : davčna številka ponudnika računovodskih programov iz katerega se izvaja prenos - opcijski podatek
| Datoteke XML se pri uvozu ne preverjajo striktno s predpisano shemo ampak zelo ohlapno. S tem je računovodskim programom omogočeno, da se izvozijo samo tisti podatki, ki so tam na voljo, ostale pa uporabnik vpiše v našem programu od koder se nato kompletni podatki izpišejo na predpisanih obrazcih oz. pošljejo v eDavke in na AJPES. |
Testni primer HTML datoteke za prenos podatkov v spletno aplikacijo Bilanca05.net
Na spodnji povezavi je pripeta HTML datoteka z vzorčnimi podatki za prenos podatkov v aplikacijo Bilanca05.net, ter XML datoteki za izvoz v spletno aplikacijo AJPES in eDavki.