Preskoči na glavni sadržaj

Tehnička specifikacija – razmjena podataka web servisima sinkronom obradom

U ovom tekstu opisuje se način povezivanja sustava Primatelja sa sustavom Fine u svrhu komunikacije iz smjera Primatelja prema Fini. Isti je namijenjen svim zainteresiranim stranama koje će sudjelovati u implementaciji rješenja na strani Primatelja.

U ovom se tekstu opisuju sve poruke koje sustavi razmjenjuju, načini razmjene te razine sigurnosti, odnosno zaštite prijenosa.

Podaci će se razmjenjivati korištenjem XML poruka putem web servisa. Ovakvim načinom razmjene podataka nema ovisnosti o tehnologiji koja se koristi na strani Pošiljatelja, ni o tehnologiji na strani Fine kao informacijskog posrednika, a ni na strani proračunskog korisnika kao krajnjeg Primatelja.

Prije puštanja na produkcijski sustav nužna je verifikacija uspješne razmjene podataka na testnim okruženjima Fine i Primatelja.

 

Definicije i skraćenice

SSLSecure Sockets Layer – protokol koji omogućava zaštitu komunikacijskog kanala
PošiljateljPošiljatelj računa na sustavu e-Račun
PrimateljPrimatelj računa na sustavu e-Račun
ERPEnterprise Resource Planning – Poslovni sustav na strani Primatelja
SOAPSimple Object Access Protocol – protokol koji se koristi za razmjenu podataka između dva sustava web servisima

 

Komunikacijski uvjeti

Razmjena podataka u sustavu e-Račun za poslovne korisnike između Primatelja i Fine vrši se putem internetske mreže. Zaštita prijenosnog kanala se radi korištenjem dvosmjernog kriptiranja kanala (2-way ssl) što znači da se pri uspostavljanju sigurne veze klijent predstavlja aplikacijskim certifikatom, a web server poslužiteljskim (SSL) certifikatom.

Da bi se Primatelj mogao uspješno povezati na web servis Fine, potrebno je zadovoljiti sljedeće preduvjete:

  • Primatelj treba zatražiti od Fine certifikat za potrebe potpisivanja SOAP poruka i autentifikacije na sustav. U svrhu testiranja Primatelj treba koristiti demo certifikat, a za potrebe povezivanja na produkcijski sustav, treba koristiti produkcijski certifikat.
  • Primatelj treba prilagoditi svoj ERP sustav za slanje SOAP poruka prema uputi iz ove tehničke specifikacije.

 

Zaštita integriteta

Zaštita integriteta ostvaruje se digitalnim potpisivanjem SOAP poruke Fininim certifikatom. Standard koji se koristi za izvedbu potpisa SOAP poruke je WS-Security (https://www.oasis-open.org/standards#wssv1.0).

Za potrebe testiranja, Primatelj dobavlja Finin DEMO certifikat, a za produkciju produkcijski certifikat. U testnoj okolini nije dozvoljeno slanje SOAP poruka potpisanih produkcijskim certifikatom, ni obrnuto.

 

Koncept razmjene podataka

Sustav Primatelja ovisno o operaciji koju želi izvršiti prema web servisu Fine šalje poruku po standardiziranoj XML shemi. U odgovoru web servisa Finin sustav sinkrono šalje rezultat obrade ili grešku ukoliko bilo što nije u redu.

Odgovorne poruke sadrže "MessageAck" element gdje se nalaze osnovni podaci o odgovoru web servisa. Ukoliko je SOAP poruka u skladu s definicijom web servisa (WSDL), tada se u elementu AckStatus pojavljuje odgovor ACCEPTED. Ukoliko SOAP poruka nije u skladu s definicijom, tada se u odgovoru pojavljuje MSG_NOT_VALID. Vrijednost SYSTEM_ERROR pokazuje da je došlo do većih problema u sustavu Fine (npr. runtime exception). U slučaju SYSTEM_ERROR tada je defaultna vrijednost AckStatusCode "99".

Primatelj ima na raspolaganju sljedeće metode:

  • EchoBuyer
    • EchoBuyerMsg
EchoBuyerMsg.jpg
  • getB2BIncomingInvoiceList
    • GetB2BIncomingInvoiceListMsg
GetB2BIncomingInvoiceListMsg.jpg
  • getB2BIncomingInvoice
    • GetB2BIncomingInvoiceMsg
GetB2BIncomingInvoiceMsg.jpg
  • GetB2BOutgoingInvoiceList
    • GetB2BOutgoingInvoiceListMsg
GetB2BOutgoingInvoiceListMsg.jpg
  • GetB2BOutgoingInvoice
    • GetB2BOutgoingInvoiceMsg
GetB2BOutgoingInvoiceMsg.jpg
  • ChangeB2BIncomingInvoiceStatus
    • poruka ChangeB2BIncomingInvoiceStatusMsg
Poruka_ChangeB2BIncomingInvoiceStatusMsg.jpg
  • GetReceiverList
    • poruka GetReceiverListMsg
Poruka_GetReceiverListMsg.jpg

Metoda za provjeru rada web servisa (Echo metoda)

Kako bi se provjerila dostupnost web servisa, na raspolaganju je Echo metoda.

Elementi EchoBuyerMsg poruke

  • HeaderBuyer
    • MessageID - Jedinstveni broj poruke
    • BuyerID - Identifikator kupca (OIB) – (9934:12345678909)
    • AdditionalBuyerID - Dodatni identifikator kupca (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru primatelja)
    • MessageType - Tip poruke: 9999 – echo poruka
    • MessageAttributes – Atribut poruke
  • Data
    • EchoData
      • Echo - Sadržaj teksta

Elementi EchoBuyerAckMsg poruke

  • MessageAck
    • MessageID - Jedinstveni broj poruke
    • MessageAckID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageType – 10000 - Odgovor na echo poruku
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • EchoData
    • Echo - Sadržaj teksta

 

Metoda za dohvat liste ulaznih računa

Ova se metoda koristi za dohvaćanje liste ulaznih računa. Primatelj za dohvaćanje liste računa koristi filter kojim određuje kriterije po kojima želi dohvatiti račune. Omogućeno je sljedeće filtriranje:

  • po statusu računa,
  • po datumu,
  • po iznosu,
  • po registriranom nazivu pošiljatelja.

Lista računa koja se želi dohvatiti može se filtrirati i upisivanjem ID-eva računa od kojeg i do kojeg se želi napraviti dohvat.

Elementi GetB2BIncomingInvoiceListMsg poruke

  • HeaderBuyer
    • MessageID - Jedinstveni broj poruke
    • BuyerID - OIB kupca (npr. 9934:12345678901)
    • AdditionalBuyerID - Dodatni identifikator kupca (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru primatelja)
    • MessageType - Tip poruke 9101 – promjena statusa ulaznog e-računa
    • MessageAttributes – Atribut poruke
  • Data
    • B2BIncomingInvoiceList
      • DocumentCurrencyCode – true/false ispis valute iznosa računa u odgovornoj poruci (neobavezan element)
      • Filter - Filter za dohvat
        • InvoiceStatus
          • StatusCode - Status u sustavu e-Račun
        • DateRange
          • From - Datum od
          • To - Datum do
        • AmountRange
          • From - Iznos od
          • To - Iznos do
        • TextSearch
          • SearchField - Polje za pretragu (default ALL)
          • SearchValue - Tekst za pretragu (registrirani naziv pošiljatelja)
        • InvoiceIDRange - Raspon za dohvat računa preko Fina InvoiceID
          • From - Invoice ID od (ne uključujući taj ID, veće od)
          • To - Invoice ID do (uključujući taj ID, manje ili jednako do)

Elementi GetB2BIncomingInvoiceListAckMsg poruke

Sinkroni odgovor na poruku za dohvat liste ulaznih računa.

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 9102 – sinkroni odgovor na - GetB2BIncomingInvoiceListMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • B2BIncomingInvoiceList
    • B2BIncomingInvoice - Omotač ulaznog računa
      • DocumentType - Tip dokumenta
        • XMLStandard - Standard XML dokumenta (UBL)
        • SpecificationIdentifier - Prilagodba XML dokumenta (urn:cen.eu:en16931:2017) - fiksno
        • DocumentTypeCode - Tip dokumenta
        • DocumentTypeText - Opis tipa dokumenta
      • InvoiceStatus - Status dokumenta
        • StatusCode - Status u sustavu e-Račun
        • Note - Napomena statusa (npr. razlog odbijanja računa ili djelomičnog plaćanja)
        • PartialAmount - Iznos za djelomično plaćanje
        • DocumentCurrencyCode – Valuta iznosa djelomičnog plaćanja (neobavezan element)
      • SupplierID - Identifikator dobavljača (OIB, npr. 9934:12345678901)
      • AdditionalSupplierID - Dodatni identifikator izdavatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru izdavatelja)
      • SupplierRegistrationName - Naziv pošiljatelja računa u sustavu
      • SupplierCompanyID - MB pošiljatelja računa u sustavu
      • InvoiceID - Identifikator računa u sustavu e-Račun B2B
      • SupplierInvoiceID - Identifikator računa pošiljatelja
      • DataInterchangeMethod - Metoda slanja računa (PKI)
      • InvoiceIssueDate - Datum izdavanja
      • InvoiceDate - Datum računa
      • InvoiceTimestamp - Timestamp računa u sustavu e-Račun B2B
      • InvoicePayableAmount - Iznos računa
      • DocumentCurrencyCode – Valuta računa (neobavezan element)
  • Error
    • ErrorCode - Šifre grešaka odvojene delimiterom
    • ErrorMessage - Opisi grešaka odvojeni delimiterom
    • ErrorText - Dodatni tekst greške

 

Metoda za dohvat ulaznog računa

Ova se metoda koristi za dohvaćanje određenog ulaznog računa. Za dohvat računa, primatelj treba navesti ID računa kojeg želi dohvatiti.

Elementi GetB2BIncomingInvoiceMsg poruke

  • HeaderBuyer - Zaglavlje poruke
    • MessageID - Jedinstveni broj poruke
    • BuyerID - OIB kupca (npr. 9934:12345678901)
    • AdditionalBuyerID - Dodatni identifikator kupca (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru primatelja)
    • MessageType - Tip poruke: 9103 – dohvat ulaznog računa
    • MessageAttributes - Atributi poruke
  • Data - XML s podacima
    • B2BIncomingInvoice - Omotač upita za dohvat ulaznog računa
      • InvoiceID - Identifikator računa u sustavu e-Račun B2B
      • DocumentCurrencyCode – true/false ispis valute iznosa računa u odgovornoj poruci (neobavezan element)

Elementi GetB2BIncomingInvoiceAckMsg poruke

Sinkroni odgovor na poruku za dohvat ulaznog računa.

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 9104 – sinkroni odgovor na GetB2GIncomingInvoiceMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • B2BIncomingInvoice
    • InvoiceID - Identifikator računa u sustavu e-Račun B2B
    • InvoiceTimestamp - Timestamp računa u sustavu e-Račun B2B
    • DocumentType - Tip dokumenta za dohvat
      • XMLStandard - Standard XML dokumenta (UBL)
      • SpecificationIdentifier - Prilagodba XML dokumenta (urn:cen.eu:en16931:2017)- fiksno
      • DocumentTypeCode - Tip dokumenta
      • DocumentTypeText - Opis tipa dokumenta
    • InvoiceStatus - Status dokumenta za dohvat
      • StatusCode - Status u sustavu e-Račun
      • Note - Napomena statusa (npr. razlog odbijanja računa ili djelomičnog plaćanja)
      • PartialAmount - Iznos za djelomično plaćanje
      • DocumentCurrencyCode – Valuta iznosa djelomičnog plaćanja (neobavezan element)
    • DataInterchangeMethod - Metoda slanja računa (PKI)
    • IncomingInvoiceEnvelope - Omotnica ulaznog dokumenta
      • InvoiceEnvelope - Omotač e-računa po UBL shemi
      • CreditNoteEnvelope - Omotač e-odobrenja po UBL shemi
      • PdfDocument - PDF dokumenta (e-računa ili e-odobrenja)
  • Error
    • ErrorCode - Šifre grešaka odvojene delimiterom
    • ErrorMessage - Opisi grešaka odvojeni delimiterom
    • ErrorText - Dodatni tekst greške

 

Metoda za promjenu statusa izlaznog računa

Ova se poruka koristi za promjenu statusa pojedinog izlaznog računa. Za promjenu statusa, Pošiljatelj mora navesti ID računa ili broj računa u sustavu pošiljatelja i godinu računa u sustavu pošiljatelja te podatke o statusu kojeg želi postaviti.

Status izlaznog računa je moguće promijeniti u status " PAYMENT_RECEIVED ". Osim tog podatka, u zahtjevu se moraju navesti sljedeći podaci:

  • Datum naplate računa
  • Naplaćen iznos
  • Šifra načina plaćanja prema UNCL4461 (tako je trenutno definirano u XSD schemi objavljenoj od strane Porezne uprave, no sustav može trenutno zaprimati sljedeće parametre: T (transkacijski račun), O (obračunsko plaćanje) i Z (ostalo).

Promjenu statusa izlaznog računa u status " PAYMENT_RECEIVED " za pojedini izlazni račun je moguće napraviti više puta.

Elementi ChangeB2BOutgoingInvoiceStatusMsg poruke

  • HeaderSupplier - Zaglavlje poruke
    • MessageID - Jedinstveni broj poruke
    • SupplierID - OIB pošiljatelja (npr. 9934:12345678901)
    • AdditionalSupplierID - Dodatni identifikator pošiljatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice)
    • MessageType - Tip poruke: 109 – promjena statusa izlaznog računa
    • MessageAttributes - Atributi poruke
  • Data - XML s podacima
    • B2BOutgoingInvoiceStatus
      • InvoiceID - Identifikator računa u sustavu e-Račun B2B
      • SupplierInvoiceID - Broj računa u sustavu pošiljatelja
      • InvoiceYear – Godina računa u sustavu pošiljatelja.
      • OoutgoingInvoiceStatus - Status u koji se želi napraviti promjena u sustavu e-Račun
        • StatusCode - Status u sustavu e-Račun B2B
        • PayedDate – Datum naplate računa.
        • PayedAmount – Naplaćen iznos.
        • PaymentMeansCode – Šifra načina plaćanja prema UNCL4461.

Elementi ChangeB2BOutgoingInvoiceStatusAckMsg poruke

Sinkroni odgovor na poruku za promjenu statusa izlaznog računa.

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 110 – sinkroni odgovor na ChangeB2BOutgoingInvoiceStatusMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • Error
    • ErrorCode - Šifra greške odvojene delimiterom
    • ErrorMessage - Opis greške odvojene delimiterom
    • ErrorText - Dodatni tekst greške

 

Metoda za promjenu statusa ulaznog računa

Ova se poruka koristi za promjenu statusa pojedinog ulaznog računa. Za promjenu statusa, Primatelj mora navesti ID računa i podatke o statusu koji želi postaviti.

Nakon ulaska računa u sustav "e-Račun za poslovne korisnike", automatski se postavlja početni status RECEIVED. Primatelj nakon ulaska računa u sustav mora preuzeti račun i potvrditi zaprimanje računa slanjem statusa RECEIVING_CONFIRMED. Tek nakon postavljanja navedenog statusa, moguće je slanje ostalih dostupnih statusa navednih u tablici u 12. poglavlju ovog dokumenta.

Ukoliko primatelj želi odbiti račun, osim što je potrebno navesti status "REJECTED" u kojeg želi promijeniti status ulaznog računa, potrebno je navesti i šifru razloga odbijanja koji može biti jedan od sljedećih ponuđenih podataka:

  • VAT_REASON (objašnjenje: Neusklađenost podataka koji utječu na obračun poreza)
  • NOT_VAT_REASON (objašnjenje: Neusklađenost podataka koji ne utječu na obračun poreza)
  • OTHER_REASON (objašnjenje: Ostalo)

Pored toga, primatelj treba navesti i razlog odbijanja računa. Datum odbijanja računa automatski će biti povučen iz sustava eRačuna.

Elementi ChangeB2BIncomingInvoiceStatusMsg poruke

  • HeaderBuyer - Zaglavlje poruke
    • MessageID - Jedinstveni broj poruke
    • BuyerID - OIB kupca (npr. 9934:12345678901)
    • AdditionalBuyerID - Dodatni identifikator kupca (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru primatelja)
    • MessageType - Tip poruke: 107 – promjena statusa ulaznog računa
    • MessageAttributes - Atributi poruke
  • Data - XML s podacima
    • B2BIncomingInvoiceStatus
      • InvoiceID - Identifikator računa u sustavu e-Račun B2B
      • InvoiceStatus - Status u koji se želi napraviti promjena u sustavu e-Račun
        • StatusCode - Status u sustavu e-Račun B2B
        • CodeReason - Šifra razloga - opcionalno ako se ne mijenja u status REJECTED (ODBIJEN)
        • Note - Napomena statusa (npr. razlog odbijanja računa ili djelomičnog plaćanja)

Elementi ChangeB2BIncomingInvoiceStatusAckMsg poruke

Sinkroni odgovor na poruku za promjenu statusa ulaznog računa.

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 108 – sinkroni odgovor na ChangeB2BIncomingInvoiceStatusMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • Error
    • ErrorCode - Šifra greške odvojene delimiterom
    • ErrorMessage - Opis greške odvojene delimiterom
    • ErrorText - Dodatni tekst greške

 

Metoda za dohvat liste izlaznih računa

Ova se metoda koristi za dohvat liste izlaznih računa. Pošiljatelj za dohvaćanje liste računa koristi filter kojim određuje kriterije po kojima želi dohvatiti račune. Omogućeno je sljedeće filtriranje:

  • po statusu računa,
  • po datumu,
  • po iznosu.

Lista računa koja se želi dohvatiti može se filtrirati i upisivanjem ID-eva računa od kojeg i do kojeg se želi napraviti dohvat.
 

Elementi GetB2BOutgoingInvoiceListMsg poruke

  • HeaderSupplier
    • MessageID - Jedinstveni broj poruke
    • SupplierID - OIB dobavljača (npr. 9934:12345678901)
    • AdditionalSupplierID - Dodatni identifikator izdavatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru izdavatelja)
    • MessageType - Tip poruke 9105 – promjena statusa ulaznog e-računa
    • MessageAttributes – Atribut poruke
  • Data
    • B2BOutgoingInvoiceList
      • DocumentCurrencyCode – true/false ispis valute iznosa računa u odgovornoj poruci (neobavezan element)
      • Filter - Filter za dohvat
        • InvoiceStatus
          • StatusCode - Status u sustavu e-Račun
        • DateRange
          • From - Datum od
          • To - Datum do
        • AmountRange
          • From - Iznos od
          • To - Iznos do
        • InvoiceIDRange - Raspon za dohvat računa preko Fina InvoiceID
          • From - Invoice ID od (ne uključujući taj ID, veće od)
          • To - Invoice ID do (uključujući taj ID, manje ili jednako do)

Elementi GetB2BOutgoingInvoiceListAckMsg poruke

Sinkroni odgovor na poruku za dohvat liste izlaznih računa.

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 9106 – sinkroni odgovor na GetB2BOutgoingInvoiceListMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • B2BOutgoingInvoiceList
    • B2BOutgoingInvoice - Omotač ulaznog računa
      • DocumentType - Tip dokumenta
        • XMLStandard - Standard XML dokumenta (UBL)
        • SpecificationIdentifier - Prilagodba XML dokumenta (urn:cen.eu:en16931:2017) - fiksno
        • DocumentTypeCode - Tip dokumenta
        • DocumentTypeText - Opis tipa dokumenta
      • InvoiceStatus - Status dokumenta
        • StatusCode - Status u sustavu e-Račun
        • Note - Napomena statusa (npr. razlog odbijanja računa ili djelomičnog plaćanja)
        • PartialAmount - Iznos za djelomično plaćanje
        • DocumentCurrencyCode – Valuta iznosa djelomičnog plaćanja (neobavezan element)
      • BuyerID - Identifikator kupca (OIB, npr. 9934:12345678901)
      • AdditionalBuyerID - Dodatni identifikator kupca (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru primatelja)
      • BuyerRegistrationName - Naziv kupca računa u sustavu
      • BuyerCompanyID - MB kupca računa u sustavu
      • InvoiceID - Identifikator računa u sustavu e-RačunB2B
      • SupplierInvoiceID - Identifikator računa pošiljatelja
      • DataInterchangeMethod - Metoda slanja računa (PKI)
      • InvoiceIssueDate - Datum izdavanja
      • InvoiceDate - Datum računa
      • InvoiceTimestamp - Timestamp računa u sustavu e-Račun B2B
      • InvoicePayableAmount - Iznos računa
      • DocumentCurrencyCode – Valuta računa (neobavezan element)
  • Error
    • ErrorCode - Šifre grešaka odvojene delimiterom
    • ErrorMessage - Opisi grešaka odvojeni delimiterom
    • ErrorText - Dodatni tekst greške

 

Metoda za dohvat izlaznog računa

Ova se metoda koristi za dohvaćanje određenog izlaznog računa. Za dohvat računa, pošiljatelj treba navesti ID računa kojeg želi dohvati.

Elementi GetB2BOutgoingInvoiceMsg poruke

  • HeaderSupplier - Zaglavlje poruke
    • MessageID - Jedinstveni broj poruke
    • SupplierID - OIB izdavatelja (npr. 9934:12345678901)
    • AdditionalSupplierID - Dodatni identifikator izdavatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru izdavatelja)
    • MessageType - Tip poruke: 9107 – dohvat ulaznog računa
    • MessageAttributes - Atribut poruke
  • Data - XML s podacima
    • B2BOutgoingInvoice - Omotač upita za dohvat ulaznog računa
      • InvoiceID - Identifikator računa u sustavu e-Račun B2B
      • DocumentCurrencyCode – true/false ispis valute iznosa računa u odgovornoj poruci (neobavezan element)

Elementi GetB2BOutgoingInvoiceAckMsg poruke

Sinkroni odgovor na poruku za dohvat izlaznog računa

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 9108 – sinkroni odgovor na GetB2BIncomingInvoiceMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • B2BOutgoingInvoice
    • InvoiceID - Identifikator računa u sustavu e-Račun B2B
    • InvoiceTimestamp - Timestamp računa u sustavu e-Račun B2B
    • DocumentType - Tip dokumenta za dohvat
      • XMLStandard - Standard XML dokumenta (UBL ili CII)
      • SpecificationIdentifier - Prilagodba XML dokumenta (urn:cen.eu:en16931:2017)- fiksno
      • DocumentTypeCode - Tip dokumenta
      • DocumentTypeText - Opis tipa dokumenta
    • InvoiceStatus - Status dokumenta za dohvat
      • StatusCode - Status u sustavu e-Račun
      • Note - Napomena statusa (npr. razlog odbijanja računa ili djelomičnog plaćanja)
      • PartialAmount - Iznos za djelomično plaćanje
      • DocumentCurrencyCode – Valuta iznosa djelomičnog plaćanja (neobavezan element)
    • DataInterchangeMethod - Metoda slanja računa (PKI)
    • OutgoingInvoiceEnvelope - Omotnica ulaznog dokumenta
      • InvoiceEnvelope - Omotač e-računa po UBL shemi
      • CreditNoteEnvelope - Omotač e-odobrenja po UBL shemi
      • PdfDocument - PDF dokumenta (e-računa ili e-odobrenja)
  • Error
    • ErrorCode - Šifre grešaka odvojene delimiterom
    • ErrorMessage - Opisi grešaka odvojeni delimiterom
    • ErrorText - Dodatni tekst greške

 

Metoda za dohvat statusa fiskalizacije i izvještavanja za izlazni e-račun

Ova metoda služi za provjeru statusa fiskalizacija i izvještavanja određenog izlaznog računa. Kao identifikator koristi se identifikator računa u sustavu e-Računa, a to je InvoiceID.

Elementi GetB2BOutgoingInvoiceFiskStatusMsg poruke (metoda GetB2BOutgoingInvoiceFiskStatus)

  • HeaderSupplier
    • MessageID - Jedinstveni broj poruke
    • SupplierID - Identifikator izdavatelja (OIB) – (9934:12345678909)
    • AdditionalSupplierID - Dodatni identifikator izdavatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru izdavatelja)
    • MessageType - Tip poruke: 9111 – poruka za dohvat statusa fiskalizacije I izvještavanja
    • MessageAttributes – Atributi poruke
  • Data
    • B2BOutgoingInvoiceFiskStatus
      • InvoiceID - Identifikator računa u sustavu e-Računa

Elementi GetB2BOutgoingInvoiceFiskStatusAckMsg poruke

  • MessageAck
    • MessageID - Jedinstveni broj poruke
    • MessageAckID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageType - Tip poruke: 9112 – sinkroni odgovor na GetB2BOutgoingInvoiceFiskStatusMsg
    • AckStatus – status odgovora
      • ACCEPTED ili
      • MSG_NOT_VALID ili
      • SYSTEM_ERROR
    • AckStatusCode – Šifra statusa iz sustava
    • AckStatusText – (opcinalno) – Opis statusa iz sustava
  • B2BOutgoingInvoiceFiskStatus
    • InvoiceID - Identifikator računa u sustavu e-Račun
    • FiskStatus - Status u sustavu e-Račun
      • Status – true/false
      • StatusTimestamp - Timestamp statusa u sustavu e-RačunB2B
    • ReportPaymentStatus
      • Status – true/false
      • StatusTimestamp - Timestamp statusa u sustavu e-RačunB2B

U slučaju da za traženi InvoiceID nema statusa fiskalizacije/izvještavanja, vratiti će se odgovor web servisa „Račun ID=xy nema status fiskalizacije/eIzvještavanja ili ako ne postoji uopće InvoiceID, vratiti će se odgovor „Ne postoji dokument ID=xy pretinca XY“. 

 

Metoda za dohvat statusa fiskalizacije i izvještavanja za ulazni e-račun

Ova metoda služi za provjeru statusa fiskalizacija i izvještavanja određenog ulaznog računa. Kao identifikator koristi se identifikator računa u sustavu e-Računa, a to je InvoiceID.

Elementi GetB2BIncomingInvoiceFiskStatusMsg poruke (metoda GetB2BIncomingInvoiceFiskStatus)

  • HeaderBuyer
    • MessageID - Jedinstveni broj poruke
    • BuyerID - Identifikator primatelja (OIB) – (9934:12345678909)
    • AdditionalBuyerID - Dodatni identifikator primatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru izdavatelja)
    • MessageType - Tip poruke: 9109 – poruka za dohvat statusa fiskalizacije I izvještavanja
    • MessageAttributes – Atributi poruke
  • Data
    • B2BIncomingInvoiceFiskStatus
      • InvoiceID - Identifikator računa u sustavu e-Računa

Elementi GetB2BIncomingInvoiceFiskStatusAckMsg poruke

  • MessageAck
    • MessageID - Jedinstveni broj poruke
    • MessageAckID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageType - Tip poruke: 9110 – sinkroni odgovor na GetB2BIncomingFiskStatusMsg
    • AckStatus – status odgovora
      • ACCEPTED ili
      • MSG_NOT_VALID ili
      • SYSTEM_ERROR
    • AckStatusCode – Šifra statusa iz sustava
    • AckStatusText – (opcinalno) – Opis statusa iz sustava
  • B2BIncomingInvoiceFiskStatus
    • InvoiceID - Identifikator računa u sustavu e-Račun
    • FiskStatus - Status u sustavu e-Račun
      • Status – true/false
      • StatusTimestamp - Timestamp statusa u sustavu e-RačunB2B
    • ReportRejectionStatus
      • Status – true/false
      • StatusTimestamp - Timestamp statusa u sustavu e-RačunB2B

U slučaju da za traženi InvoiceID nema statusa fiskalizacije/izvještavanja, vratiti će se odgovor web servisa „Račun ID=xy nema status fiskalizacije/eIzvještavanja ili ako ne postoji uopće InvoiceID, vratiti će se odgovor „Ne postoji dokument ID=xy pretinca XY“.

 

Poruka za dohvat registra Primatelja servisa e-Račun

Ova se poruka koristi za dohvat liste Primatelja iz registra sustava "e-Račun za poslovne korisnike".

Filtriranje je moguće prema OIB broju, nazivu poslovnog subjekta ili datumu. Ukoliko se želi dohvatiti kompletni registar, kao vrijednosti polja "SearchField" i "SearchValue" se upisuje "ALL". Ukoliko se pretraživanje radi prema OIB broju, kao vrijednosti polja "SearchField" se upisuje "OIB", a u polje "SearchValue" se upisuje OIB broj s "HR" prefiksom, npr. "HR01234567890". Ukoliko se pretraživanje radi prema nazivu poslovnog subjekta, kao vrijednosti polja "SearchField" se upisuje "NAZIV", a u polje "SearchValue" se upisuje dio i kompletan naziv poslovnog subjekta. Kod pretraživanja prema datumu upisuju se datumi u formatu GGGG-MM-DD.

Kod dohvata kompletnog registra i kod filtriranja prema nazivu i OIB broju, u odgovoru se šalju samo aktivni korisnici. U slučaju filtriranja prema datumu, u odgovoru se šalju aktivni i neaktivni korisnici za navedeno razdoblje.

Elementi GetReceiverListMsg poruke

  • HeaderSupplier - Zaglavlje poruke
    • MessageID - Jedinstveni broj poruke
    • SupplierID - OIB izdavatelja (npr. 9934:12345678901)
    • AdditionalSupplierID - Dodatni identifikator izdavatelja (poslovne jedinice, npr. HR99:12345 gdje je 12345 šifra poslovne jedinice koja je navedena u registru izdavatelja)
    • MessageType – Tip poruke: 50041 – dohvat registra primatelja
    • MessageAttributes - Atribut poruke
  • Data
    • ReceiverList - Dohvat liste primatelja iz registra
      • Filter - Filter za dohvat
        • DateRange
          • From - Datum od
          • To - Datum do
        • TextSearch
          • SearchField - Polje za pretragu ("ALL", "OIB" ili "NAZIV")
          • SearchValue – Vrijednost polja ("ALL" OIB broj ili naziv)

Elementi GetReceiverListAckMsg poruke

  • MessageAck
    • MessageID - Jedinstveni broj poruke na koju se odnosi odgovor
    • MessageAckID - Jedinstveni broj poruke odgovora
    • MessageType - Tip poruke: 50042– sinkroni odgovor na GetReceiverListMsg
    • AckStatus - Status odgovora
    • AckStatusCode - Šifra statusa iz sustava
    • AckStatusText - Opis statusa iz sustava
  • BusinessBranch – podaci o poslovnom subjektu
    • BuyerID - Identifikator organizacijske jedinice (BuyerID)
    • SchemeName - Vrsta sheme organizacijske jedinice (GLN, JUS, RKP,...)
    • ReceiptType - Vrsta dokumenta koje zaprima (1-UBL, 2-UBL EN, 3-CII)
    • BusinessBranchCode - Šifra organizacijske jedinice
    • BusinessBranchName - Naziv organizacijske jedinice
    • PostalAddress – Adresa poslovnog subjekta
      • StreetName - Ulica
      • BuildingNumber - Kućni broj
      • PostalCode - Poštanski broj
      • CityName – Grad
      • Country – Država
      • AddressLine – Adresa u jednoj liniji
    • Activity – Aktivnost
    • Receiver – primatelj
      • RegistrationName - Naziv primatelja računa
      • ISOCode - ISO kod države (HR)
      • CompanyID – OIB
      • PostalAddress – Adresa organizacijske jedinice
        • StreetName - Ulica
        • BuildingNumber - Kućni broj
        • PostalCode - Poštanski broj
        • CityName – Grad
        • Country – Država
        • AddressLine – Adresa u jednoj liniji

 

Šifre statusa računa u razmjeni

Ulazni računi mogu imati sljedeće vrijednosti statusa:

StatusOpis
RECEIVEDZaprimljen. Početni status računa nakon zaprimanja u sustav
RECEIVING_CONFIRMEDPotvrda zaprimanja
APPROVEDOdobren (prihvaćen)
REJECTEDOdbijen
PAYMENT_RECEIVEDNaplaćen

 

Tipovi poruka u razmjeni

Slijedi tablica s opisima tipova poruka i odgovornih poruka:

Tip porukeOpisPoruka/metoda
9999Echo porukaEchoBuyerMsg
10000Odgovor na echo porukuEchoBuyerAckMsg
9101Dohvat liste ulaznih računaGetB2BIncomingInvoiceListMsg
9102Odgovor na dohvat liste ulaznih računaGetB2BIncomingInvoiceListAckMsg
9103Dohvat ulaznog računaGetB2BIncomingInvoiceMsg
9104Odgovor na dohvat ulaznog računaGetB2BIncomingInvoiceAckMsg
107Promjena statusa ulaznog računaChangeB2BIncomingInvoiceStatusMsg
108Odgovor na promjenu statusa ulaznog računaChangeB2BIncomingInvoiceStatusAckMsg
109Promjena statusa izlaznog računaChangeB2BOutgoingInvoiceStatusMsg
110Odgovor na promjenu statusa izlaznog računaChangeB2BOutgoingInvoiceStatusAckMsg
9105Dohvat liste izlaznih računaGetB2BOutgoingInvoiceListMsg
9106Odgovor na dohvat liste izlaznih računaGetB2BOutgoingInvoiceListAckMsg
9107Dohvat izlaznog računaGetB2BOutgoingInvoiceMsg
9108Odgovor na dohvat izlaznog računaGetB2BOutgoingInvoiceAckMsg
50041Dohvat registra primateljaGetReceiverListMsg
50042Odgovor na dohvat registra primateljaGetReceiverListAckMsg
9111Dohvat statusa fiskalizacije i izvještaja izlaznog računaGetB2BOutgoingInvoiceFiskStatusMsg
9112Odgovor na dohvat statusa fiskalizacije i izvještaja izlaznog računaGetB2BOutgoingInvoiceFiskStatusAckMsg
9109Dohvat statusa fiskalizacije i izvještaja ulaznog računaGetB2BIncomingInvoiceFiskStatusMsg
9110Odgovor na dohvat statusa fiskalizacije i izvještaja ulaznog računaGetB2BIncomingInvoiceFiskStatusAckMsg

 

Šifarnik mogućih grešaka kod slanja poruka

Šifra greškeOpis greškePoruka
E000100Nepostojeći korisnikNepostojeći korisnik ''{DN korisnika}''
E000101Korisnik nema pravaKorisnik ''{ID korisnika}'' nema prava ''{naziv prava}''
E000200Nepostojeći dokumentNe postoji dokument ID={ID dokumenta} primatelja ID={ID narucitelja}
E000201Nije moguća promjena statusa jer se dokument nalazi u nedozvoljenom statusuDokument ID={ID dokumenta} se nalazi u nedozvoljenom statusu ''{opis statusa}''. Nije moguća promjena statusa
E000202Nije moguća promjena statusa za dokumentDokument ID={ID dokumenta} tipa={tip dokumenta (380 račun...)} se ne može mijenjati status.
E000206 Nije moguća promjena statusa u „PAYMENT_RECEIVED“ jer je dokument u statusu „Odbijen“
E000207 Nije moguća promjena statusa u „PAYMENT_RECEIVED“ jer dokument nije fiskaliziran
E000208 Promjena status u 'PAYMENT_RECEIVED' moguća je samo za dokumente Računa ili Odobrenja
E000999Ostale greškeGreška: {0}

 

Sheme poruka i definicija web servisa

Sheme izmijenjenih poruka za implementaciju sukladno potrebama Fiskalizacije 2.0 u tehničkoj specifikaciji - razmjena podataka web servisima sinkronom obradom nalaze se ovdje.

  • Nužni kolačići omogućuju osnovne funkcionalnosti. Bez ovih kolačića, web-stranica ne može pravilno funkcionirati, a isključiti ih možete mijenjanjem postavki u svome web-pregledniku.

Finin virtualni asistent

140 / 140

Finin virtualni asistent

Pozdrav!

Ja sam Finin virtualni asistent i mogu Vam pomoći oko pitanja vezanih za razmjenu elektroničkih računa.

Klikom na gumb "Započnite razgovor" prihvaćate Opće uvjete usluge, te Politiku kolačića.

U okviru ove usluge Fina ne obrađuje Vaše osobne podatke.