Pravila mapiranja podataka iz eRačuna

Ovaj članak detaljno opisuje tehničku logiku kojom Luceed interpretira XML datoteku eRačuna i automatski popunjava polja u knjizi URA. Namijenjen je korisnicima koji žele razumjeti izvor svakog podatka i pravila po kojima sustav automatizira zaprimanje.

Uvod

Automatizacija zaprimanja eRačuna temelji se na standardiziranim XML elementima (UBL standard). Kako bi se osigurala točnost, Luceed primjenjuje precizna pravila mapiranja – od prepoznavanja dobavljača preko identifikacije poreznih stopa, pa sve do specifičnih pravila za odobrenja i prijenos porezne obveze (PPO).

Identifikacija dobavljača (Partnera)

Luceed koristi strogu hijerarhiju pretraživanja partnera unutar XML strukture cac:AccountingSupplierParty. Sustav provjerava identifikatore prema sljedećem redoslijedu:

1. Pretraga prema GLN broj

Ako je pošiljatelj identificiran putem Globalnog lokacijskog broja (GLN), Luceed prvo pokušava upariti partnera prema tom ključu.

  • XPath: cac:AccountingSupplierParty/cac:Party/cbc:EndpointID

  • Uvjet: Atribut schemeID mora biti "0088".

  • Logika u Luceedu: Pretražuje se polje GLN iz matičnih podataka partnera.

2. Pretraga prema OIB-u

Ako GLN nije naveden, sustav koristi OIB kao primarni identifikator.

  • XPath: cac:AccountingSupplierParty/cac:Party/cbc:EndpointID

  • Uvjet: Atribut schemeID mora biti "9934".

  • Logika u Luceedu: Pretražuje se polje OIB iz matičnih podataka partnera.

3. Pretraga prema kombinaciji OIB + Identifikator poslovne jedinice (PJ)

Ako XML sadrži dodatnu identifikaciju poslovne jedinice, sustav će pokušati upariti partnera po specifičnoj podružnici.

  • XPath za OIB: cac:AccountingSupplierParty/cac:Party/cbc:EndpointID

  • XPath za PJ: cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID

  • Tehnički format niza: Luceed očekuje niz u formatu: 9934:OIB::HR99:identifikator_pj

  • Logika u Luceedu: Sustav izdvaja zadnji dio niza (nakon zadnje dvotočke) i traži partnera koji ima taj Identifikator poslovne jedinice upisan uz odgovarajući OIB.

Opći podaci o računu

Polje u URA

Pravilo / Logika

XPath (eRačun)

Primljen

Datum zaprimanja (snimanja) URA.

-

Tip računa

HR-BT-15 - Obračun PDV-a po naplaćenoj naknadi | Ako ovaj element postoji u eRačunu, tip je R2 (Obračun prema naplaćenim naknadama), inače R1.

/{document}/ext:Extensions/ext:Extension/ext:ExtensionContent
/hrextac:HRFISK20Data/hrextac:HRObracunPDVPoNaplati

Valuta

BT-5 - Kod valute računa | Prema šifri valute iz Luceeda, ako se ne pronađe, valuta iz sistemske postavke valute firme.

/{document}/cbc:DocumentCurrencyCode

Datum računa (org)

BT-2 - Datum izdavanja računa

/{document}/cbc:IssueDate

Račun

BT-1 - Broj računa

/{document}/cbc:ID

Poziv na broj

BT-83 – Podaci o doznaci | Prilikom zaprimanja sustav dodatno provjerava format. Ako vrijednost započinje s HR, a nakon 4 znaka ne slijedi razmak, on se automatski dodaje. Ako razmak već postoji, nema izmjene. Ako vrijednost ne počinje s HR, preuzima se bez izmjena. Ova provjera i intervencija (razdvajanje modela i poziva na broj) osigurava kasnije ispravno generiranje SEPA naloga iz URA i sprječava odbijanje naloga.

/{document}/cac:PaymentMeanscac:PaymentMeans/cbc:PaymentID

Datum

Za račun (Invoice): Sustav traži prvi dostupan podatak ovim redoslijedom:

  1. BT-7 - Datum nastanka obveze PDV-a: /Invoice/cbc:TaxPointDate

  2. BT-72 – Stvarni datum isporuke: /Invoice/cac:Delivery/cbc:ActualDeliveryDate

  3. BT-2 - Datum izdavanja računa: /Invoice/cbc:IssueDate

Za odobrenje (CreditNote): Sustav traži prvi dostupan podatak ovim redoslijedom:

  1. BT-7 - Datum nastanka obveze PDV-a: /CreditNote/cbc:TaxPointDate

  2. BT-2 - Datum izdavanja računa: /CreditNote/cbc:IssueDate
    (Napomena: Za odobrenja se stvarni datum isporuke ne koristi kao zamjenski datum).

Dospijeće

Za račun (Invoice):

  • BT-9 - Datum dospijeća plaćanja: /Invoice/cbc:DueDate

Za odobrenje (CreditNote):

  • BT-9 - Datum dospijeća plaćanja: /CreditNote/cac:PaymentMeans/cbc:PaymentDueDate
    (Ako podatak o dospijeću nije naveden u XML-u odobrenja, polje ostaje prazno — ne primjenjuje se zamjenski datum).

IBAN

BT-84 – Identifikator računa za plaćanje

/{document}/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID

Napomena

BT-22 – Napomena za račun

/{document}/cbc:Note

Ukupni iznosi i PDV

Polje u URA

Pravilo / Logika

XPath (eRačun)

Iznos u valuti

BT-112 – Ukupni iznos računa s PDV-om

/{document}/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount

Osnovica 25%

BT-116 – Oporezivi iznos kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount gdje je /cac:TaxCategory/cbc:Percent = 25

Pdv odbija se 25%

BT-117 – Iznos poreza kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount gdje je /cac:TaxCategory/cbc:Percent = 25

Pdv ne odbija se 25%

-

0

Osnovica 13%

BT-116 – Oporezivi iznos kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount gdje je /cac:TaxCategory/cbc:Percent = 13

Pdv odbija se 13%

BT-117 – Iznos poreza kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount gdje je /cac:TaxCategory/cbc:Percent = 13

Pdv ne odbija se 13%

-

0

Osnovica 5%

BT-116 – Oporezivi iznos kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount gdje je /cac:TaxCategory/cbc:Percent = 5

Pdv odbija se 5%

BT-117 – Iznos poreza kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount gdje je /cac:TaxCategory/cbc:Percent = 5

Pdv ne odbija se 5%

-

0

Osnovica 0%

BT-116 – Oporezivi iznos kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount gdje je /cac:TaxCategory/cbc:TaxCategory/cbc:ID = Z

Neoporezivo

BT-116 – Oporezivi iznos kategorije PDV-a

/{document}/cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount gdje je /cac:TaxCategory/cbc:TaxCategory/cbc:ID = E ili 0

Tuzemni prijenos PO

Da za kategoriju AE.
Detektirana kategorija AE inicira automatsko razdvajanje na dvije URA-e (standardna + PPO).

/{document}/cac:TaxTotal/cac:TaxSubtotal/
cac:TaxCategory/cbc:TaxCategory/cbc:ID = AE

Obrada Odobrenja (UBL CreditNote)

Kada sustav detektira da je korijenski element XML dokumenta Odobrenje (/CreditNote), automatski se primjenjuju pravila obrade za odobrenja:

  • Prepoznavanje odobrenja: Pravilo se primjenjuje isključivo na temelju korijenskog elementa /CreditNote, neovisno o šifri u cbc:CreditNoteTypeCode (vrijedi za šifre 81, 83, 381, 396, 532 i sve ostale).

  • Obrtani predznak iznosa (množenje s −1): Svi financijski iznosi iz XML-a (osnovice, PDV, neoporezivo, ukupni iznosi, uključujući i stavke s prijenosom porezne obveze / PPO) pri pripremi na formi množe se s −1 i takvi snimaju u knjigu URA.

    • Pozitivni iznosi iz XML-a postaju negativni.

    • Ako XML izvorno već sadrži negativne iznose, nakon obrtanja postaju pozitivni.

  • Datum za PDV: Preuzima se CreditNote.TaxPointDate, a ako podatak nije naveden u XML-u, preuzima se CreditNote.IssueDate. Stvarni datum isporuke (ActualDeliveryDate) se za odobrenja ne koristi.

  • Dospijeće: Preuzima se CreditNote.PaymentMeans.PaymentDueDate. Ako podatak o dospijeću nije naveden, polje ostaje prazno (ne primjenjuje se zamjenski datum).

  • Dokumenti tipa Invoice:

    • Dokument s korijenskim elementom /Invoice koji sadrži šifru 381 ne smatra se odobrenjem i ne aktivira ova pravila.

    • Storno odobrenja zaprimljeno kao /Invoice sa šifrom 380 obrađuje se kao standardni račun (s pozitivnim predznakom).

  • Odabir knjige URA: Prepoznavanje odobrenja ne određuje automatski odredišnu knjigu URA za sve šifre. Ponuđenu knjigu na formi po potrebi odabire korisnik sukladno internoj organizaciji knjiga.