fiskalizacija2 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/package.json +62 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 shunkica <shunkica.dev@gmail.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Fiskalizacija2 Node.js Library
|
|
2
|
+
|
|
3
|
+
Node.js library za fiskalizaciju 2.0 omogućava jednostavno slanje zahtjeva za evidenciju eRačuna i eIzvještavanje.
|
|
4
|
+
|
|
5
|
+
> B2C fiskalizacija, odnosno fiskalizacija u krajnjoj potrošnji, trenutno nije podržana
|
|
6
|
+
|
|
7
|
+
## Instalacija
|
|
8
|
+
|
|
9
|
+
```npm i fiskalizacija2```
|
|
10
|
+
|
|
11
|
+
## Korištenje
|
|
12
|
+
|
|
13
|
+
Library pruža klasu `FiskalizacijaClient` koja prima objekt konfiguracije:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
{
|
|
17
|
+
service: string, // URL servisa za fiskalizaciju
|
|
18
|
+
privateKey: string | Buffer, // Privatni ključ za potpis poruke u PEM formatu
|
|
19
|
+
publicCert: string | Buffer, // Javni certifikat u PEM formatu
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Metode za slanje zahtjeva su:
|
|
24
|
+
|
|
25
|
+
- `evidentirajERacun(IEvidentirajERacunZahtjev)`
|
|
26
|
+
- `evidentirajNaplatu(IEvidentirajNaplatu)`
|
|
27
|
+
- `evidentirajOdbijanje(IEvidentirajOdbijanje)`
|
|
28
|
+
- `evidentirajIsporukuZaKojuNijeIzdanERacun(IEvidentirajIsporukuZaKojuNijeIzdanERacun)`
|
|
29
|
+
|
|
30
|
+
Sve metode vraćaju `FiskalizacijaResult` objekt koji sadrži:
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
interface FiskalizacijaResult<Z, O> {
|
|
34
|
+
success: boolean; // Uspjeh operacije
|
|
35
|
+
error?: IErrorWithMessage; // Greška ako postoji
|
|
36
|
+
httpStatusCode?: number; // HTTP status kod
|
|
37
|
+
soapReqRaw?: string; // Sirovi SOAP zahtjev
|
|
38
|
+
reqObject?: Z; // Objekt zahtjeva
|
|
39
|
+
soapResRaw?: string; // Sirovi SOAP odgovor
|
|
40
|
+
soapResSignatureValid?: boolean; // Valjanost potpisa odgovora
|
|
41
|
+
resObject?: O; // Objekt odgovora, npr. IEvidentirajERacunOdgovor
|
|
42
|
+
resErrors?: IErrorWithMessage[]; // Greške u validaciji odgovora regexom (ne prekidaju obradu i ne utječu na success)
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Kreiranje zahtjeva
|
|
47
|
+
|
|
48
|
+
Sučelja za zahtjeve su:
|
|
49
|
+
|
|
50
|
+
- `IEvidentirajERacunZahtjev`
|
|
51
|
+
- `IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev`
|
|
52
|
+
- `IEvidentirajNaplatuZahtjev`
|
|
53
|
+
- `IEvidentirajOdbijanjeZahtjev`
|
|
54
|
+
|
|
55
|
+
Moguće generiranje zahtjeva koristeći pomoćne metode:
|
|
56
|
+
|
|
57
|
+
- `getEvidentirajERacunZahtjev(vrsta: "I" | "U", eracun: IERacun | IERacun[])`
|
|
58
|
+
- `getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev(racun: IRacun | IRacun[])`
|
|
59
|
+
- `getEvidentirajNaplatuZahtjev(naplata: INaplata | INaplata[])`
|
|
60
|
+
- `getEvidentirajOdbijanjeZahtjev(odbijanje: IOdbijanje | IOdbijanje[])`
|
|
61
|
+
|
|
62
|
+
Objekti koji zadovoljavaju sučelja `IERacun` odnosno `IRacun` mogu se generirati iz UBL dokumenata `Invoice` ili `CreditNote`:
|
|
63
|
+
|
|
64
|
+
- `getERacunFromUbl(xml: string | Buffer): IERacun`
|
|
65
|
+
- `getRacunFromUbl(xml: string | Buffer): IRacun`
|
|
66
|
+
|
|
67
|
+
## Primjeri
|
|
68
|
+
|
|
69
|
+
### FiskalizacijaClient
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
const client = new FiskalizacijaClient({
|
|
73
|
+
service: FiskalizacijaService.test, // ili FiskalizacijaService.prod
|
|
74
|
+
privateKey: fs.readFileSync('path/to/privateKey.pem'),
|
|
75
|
+
publicCert: fs.readFileSync('path/to/publicCert.pem'),
|
|
76
|
+
})
|
|
77
|
+
````
|
|
78
|
+
|
|
79
|
+
### EvidentirajERacun
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
const ublDocument = '<Invoice xmlns="...">....</Invoice>'; // UBL XML string ili Buffer
|
|
83
|
+
const eRacun = getERacunFromUbl(ublDocument);
|
|
84
|
+
const zahtjev = getEvidentirajERacunZahtjev('I', eRacun);
|
|
85
|
+
const result = await client.evidentirajERacun(zahtjev);
|
|
86
|
+
if (result.success) {
|
|
87
|
+
console.log("eRačun uspješno evidentiran:", result.resObject);
|
|
88
|
+
} else {
|
|
89
|
+
console.error("Greška pri evidentiranju eRačuna:", result.error);
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### EvidentirajIsporukuZaKojuNijeIzdanERacun
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
const ublDocument = '<Invoice xmlns="...">....</Invoice>'; // UBL XML string ili Buffer
|
|
97
|
+
const racun = getRacunFromUbl(ublDocument);
|
|
98
|
+
const zahtjev = getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev(racun);
|
|
99
|
+
const result = await client.evidentirajIsporukuZaKojuNijeIzdanERacun(zahtjev);
|
|
100
|
+
if (result.success) {
|
|
101
|
+
console.log("Isporuka uspješno evidentirana:", result.resObject);
|
|
102
|
+
} else {
|
|
103
|
+
console.error("Greška pri evidentiranju isporuke:", result.error);
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### EvidentirajNaplatu
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
const naplata: INaplata = {
|
|
111
|
+
// Broj dokumenta eRačuna, dio identifikatora eRačuna (BT-1 iz UBL 2.1)
|
|
112
|
+
brojDokumenta: "RAC-2025-0001",
|
|
113
|
+
// Datum izdavanja eRačuna, dio identifikatora eRačuna (BT-2 iz UBL 2.1)
|
|
114
|
+
datumIzdavanja: "2025-01-01",
|
|
115
|
+
// OIB ili porezni broj izdavatelja, dio identifikatora eRačuna (BT-31 iz UBL 2.1)
|
|
116
|
+
oibPorezniBrojIzdavatelja: "00000000001",
|
|
117
|
+
// OIB ili porezni broj primatelja
|
|
118
|
+
oibPorezniBrojPrimatelja: "11111111119",
|
|
119
|
+
// Datum naplate eRačuna
|
|
120
|
+
datumNaplate: "2025-01-15",
|
|
121
|
+
// Iznos koji je naplaćen
|
|
122
|
+
naplaceniIznos: 100.00,
|
|
123
|
+
/**
|
|
124
|
+
* Šifra načina plaćanja po UNCL4461
|
|
125
|
+
* T - transakcijski račun
|
|
126
|
+
* O - obračunsko plaćanje
|
|
127
|
+
* Z - ostalo
|
|
128
|
+
*/
|
|
129
|
+
nacinPlacanja: "T"
|
|
130
|
+
};
|
|
131
|
+
const zahtjev = getEvidentirajNaplatuZahtjev(naplata);
|
|
132
|
+
const result = await client.evidentirajNaplatu(zahtjev);
|
|
133
|
+
if (result.success) {
|
|
134
|
+
console.log("Naplata uspješno evidentirana:", result.resObject);
|
|
135
|
+
} else {
|
|
136
|
+
console.error("Greška pri evidentiranju naplate:", result.error);
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### EvidentirajOdbijanje
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
const odbijanje: IOdbijanje = {
|
|
144
|
+
// Broj dokumenta eRačuna, dio identifikatora eRačuna (BT-1 iz UBL 2.1)
|
|
145
|
+
brojDokumenta: "RAC-2025-0001",
|
|
146
|
+
// Datum izdavanja eRačuna, dio identifikatora eRačuna (BT-2 iz UBL 2.1)
|
|
147
|
+
datumIzdavanja: "2025-01-01",
|
|
148
|
+
// OIB ili porezni broj izdavatelja, dio identifikatora eRačuna (BT-31 iz UBL 2.1)
|
|
149
|
+
oibPorezniBrojIzdavatelja: "00000000001",
|
|
150
|
+
// OIB ili porezni broj primatelja
|
|
151
|
+
oibPorezniBrojPrimatelja: "11111111119",
|
|
152
|
+
// Datum odbijanja eRačuna
|
|
153
|
+
datumOdbijanja: "2025-01-20",
|
|
154
|
+
/**
|
|
155
|
+
* Šifra vrste razloga odbijanja eRačuna
|
|
156
|
+
* N - Neusklađenost podataka koji ne utječu na obračun poreza
|
|
157
|
+
* U - Neusklađenost podataka koji utječu na obračun poreza
|
|
158
|
+
* O - Ostalo
|
|
159
|
+
*/
|
|
160
|
+
vrstaRazlogaOdbijanja: "N",
|
|
161
|
+
// Razlog odbijanja eRačuna
|
|
162
|
+
razlogOdbijanja: "Podaci o kupcu nisu točni",
|
|
163
|
+
}
|
|
164
|
+
const zahtjev = getEvidentirajOdbijanjeZahtjev(odbijanje);
|
|
165
|
+
const result = await client.evidentirajOdbijanje(zahtjev);
|
|
166
|
+
if (result.success) {
|
|
167
|
+
console.log("Odbijanje uspješno evidentirano:", result.resObject);
|
|
168
|
+
} else {
|
|
169
|
+
console.error("Greška pri evidentiranju odbijanja:", result.error);
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Povezani projekti
|
|
174
|
+
|
|
175
|
+
- [fiskalizacija2](https://github.com/shunkica/fiskalizacija2) - materijali vezani uz Projekt Fiskalizacija 2.0 - fiskalizaciju eRačuna i eIzvještavanje
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export { getEvidentirajERacunZahtjev } from './_tsup-dts-rollup.js';
|
|
2
|
+
export { getEvidentirajOdbijanjeZahtjev } from './_tsup-dts-rollup.js';
|
|
3
|
+
export { getEvidentirajNaplatuZahtjev } from './_tsup-dts-rollup.js';
|
|
4
|
+
export { getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev } from './_tsup-dts-rollup.js';
|
|
5
|
+
export { getERacunFromUbl } from './_tsup-dts-rollup.js';
|
|
6
|
+
export { getRacunFromUbl } from './_tsup-dts-rollup.js';
|
|
7
|
+
export { FiskalizacijaClient_alias_1 as FiskalizacijaClient } from './_tsup-dts-rollup.js';
|
|
8
|
+
export { FiskalizacijaService } from './_tsup-dts-rollup.js';
|
|
9
|
+
export { IGreska } from './_tsup-dts-rollup.js';
|
|
10
|
+
export { GreskaSerializable } from './_tsup-dts-rollup.js';
|
|
11
|
+
export { IOdgovor } from './_tsup-dts-rollup.js';
|
|
12
|
+
export { OdgovorSerializable } from './_tsup-dts-rollup.js';
|
|
13
|
+
export { IArtiklIdentifikatorKlasifikacija } from './_tsup-dts-rollup.js';
|
|
14
|
+
export { ArtiklIdentifikatorKlasifikacijaSerializable } from './_tsup-dts-rollup.js';
|
|
15
|
+
export { IDokumentUkupanIznos } from './_tsup-dts-rollup.js';
|
|
16
|
+
export { DokumentUkupanIznosSerializable } from './_tsup-dts-rollup.js';
|
|
17
|
+
export { IIzdavatelj } from './_tsup-dts-rollup.js';
|
|
18
|
+
export { IzdavateljSerializable } from './_tsup-dts-rollup.js';
|
|
19
|
+
export { IPrijenosSredstava } from './_tsup-dts-rollup.js';
|
|
20
|
+
export { PrijenosSredstavaSerializable } from './_tsup-dts-rollup.js';
|
|
21
|
+
export { IPrimatelj } from './_tsup-dts-rollup.js';
|
|
22
|
+
export { PrimateljSerializable } from './_tsup-dts-rollup.js';
|
|
23
|
+
export { IRaspodjelaPdv } from './_tsup-dts-rollup.js';
|
|
24
|
+
export { RaspodjelaPdvSerializable } from './_tsup-dts-rollup.js';
|
|
25
|
+
export { IDokumentPopust } from './_tsup-dts-rollup.js';
|
|
26
|
+
export { DokumentPopustSerializable } from './_tsup-dts-rollup.js';
|
|
27
|
+
export { IDokumentTrosak } from './_tsup-dts-rollup.js';
|
|
28
|
+
export { DokumentTrosakSerializable } from './_tsup-dts-rollup.js';
|
|
29
|
+
export { IZaglavljeFiskalizacija } from './_tsup-dts-rollup.js';
|
|
30
|
+
export { ZaglavljeFiskalizacijaSerializable } from './_tsup-dts-rollup.js';
|
|
31
|
+
export { IPrethodniERacun } from './_tsup-dts-rollup.js';
|
|
32
|
+
export { PrethodniERacunSerializable } from './_tsup-dts-rollup.js';
|
|
33
|
+
export { IStavkaERacuna } from './_tsup-dts-rollup.js';
|
|
34
|
+
export { StavkaERacunaSerializable } from './_tsup-dts-rollup.js';
|
|
35
|
+
export { IERacun } from './_tsup-dts-rollup.js';
|
|
36
|
+
export { ERacunSerializable } from './_tsup-dts-rollup.js';
|
|
37
|
+
export { IEvidentirajERacunZahtjev } from './_tsup-dts-rollup.js';
|
|
38
|
+
export { EvidentirajERacunZahtjevSerializable } from './_tsup-dts-rollup.js';
|
|
39
|
+
export { IEvidentirajERacunOdgovor } from './_tsup-dts-rollup.js';
|
|
40
|
+
export { EvidentirajERacunOdgovorSerializable } from './_tsup-dts-rollup.js';
|
|
41
|
+
export { IZaglavljeIzvjestavanje } from './_tsup-dts-rollup.js';
|
|
42
|
+
export { ZaglavljeIzvjestavanjeSerializable } from './_tsup-dts-rollup.js';
|
|
43
|
+
export { IZaglavljeIsporuka } from './_tsup-dts-rollup.js';
|
|
44
|
+
export { ZaglavljeIsporukaSerializable } from './_tsup-dts-rollup.js';
|
|
45
|
+
export { INaplata } from './_tsup-dts-rollup.js';
|
|
46
|
+
export { NaplataSerializable } from './_tsup-dts-rollup.js';
|
|
47
|
+
export { IOdbijanje } from './_tsup-dts-rollup.js';
|
|
48
|
+
export { OdbijanjeSerializable } from './_tsup-dts-rollup.js';
|
|
49
|
+
export { IPrethodniRacun } from './_tsup-dts-rollup.js';
|
|
50
|
+
export { PrethodniRacunSerializable } from './_tsup-dts-rollup.js';
|
|
51
|
+
export { IStavkaRacuna } from './_tsup-dts-rollup.js';
|
|
52
|
+
export { StavkaRacunaSerializable } from './_tsup-dts-rollup.js';
|
|
53
|
+
export { IRacun } from './_tsup-dts-rollup.js';
|
|
54
|
+
export { RacunSerializable } from './_tsup-dts-rollup.js';
|
|
55
|
+
export { IEvidentirajNaplatuZahtjev } from './_tsup-dts-rollup.js';
|
|
56
|
+
export { EvidentirajNaplatuZahtjevSerializable } from './_tsup-dts-rollup.js';
|
|
57
|
+
export { IEvidentirajNaplatuOdgovor } from './_tsup-dts-rollup.js';
|
|
58
|
+
export { EvidentirajNaplatuOdgovorSerializable } from './_tsup-dts-rollup.js';
|
|
59
|
+
export { IEvidentirajOdbijanjeZahtjev } from './_tsup-dts-rollup.js';
|
|
60
|
+
export { EvidentirajOdbijanjeZahtjevSerializable } from './_tsup-dts-rollup.js';
|
|
61
|
+
export { IEvidentirajOdbijanjeOdgovor } from './_tsup-dts-rollup.js';
|
|
62
|
+
export { EvidentirajOdbijanjeOdgovorSerializable } from './_tsup-dts-rollup.js';
|
|
63
|
+
export { IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev } from './_tsup-dts-rollup.js';
|
|
64
|
+
export { EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable } from './_tsup-dts-rollup.js';
|
|
65
|
+
export { IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor } from './_tsup-dts-rollup.js';
|
|
66
|
+
export { EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable } from './_tsup-dts-rollup.js';
|
|
67
|
+
export { IXmlSerializable } from './_tsup-dts-rollup.js';
|
|
68
|
+
export { XmlSerializable } from './_tsup-dts-rollup.js';
|
|
69
|
+
export { IBusinessTermXpath } from './_tsup-dts-rollup.js';
|
|
70
|
+
export { IErrorWithMessage } from './_tsup-dts-rollup.js';
|
|
71
|
+
export { SigningOptions } from './_tsup-dts-rollup.js';
|
|
72
|
+
export { FiskalizacijaOptions } from './_tsup-dts-rollup.js';
|
|
73
|
+
export { FiskalizacijaResult } from './_tsup-dts-rollup.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
function L(){let i=new Date,e=(A,X=2)=>String(A).padStart(X,"0"),a=A=>String(A).padEnd(4,"0"),n=i.getFullYear(),r=e(i.getMonth()+1),l=e(i.getDate()),u=e(i.getHours()),p=e(i.getMinutes()),h=e(i.getSeconds()),T=a(i.getMilliseconds());return`${n}-${r}-${l}T${u}:${p}:${h}.${T}`}function Be(i,e){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L(),vrstaERacuna:i},ERacun:Array.isArray(e)?e:[e]}}function Ce(i){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L(),vrstaRacuna:"IR"},Racun:Array.isArray(i)?i:[i]}}function ye(i){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L()},Naplata:Array.isArray(i)?i:[i]}}function Re(i){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L()},Odbijanje:Array.isArray(i)?i:[i]}}import{XmlDocument as he}from"libxml2-wasm";import{XmlDocument as ve}from"libxml2-wasm";var O={decimal:/^[\-+]?[0-9]+(\.[0-9]+)?$/,datumVrijemeDeci:/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{4}$/,datumVrijeme:/^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$/,datum:/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/,vrstaERacuna:/^(I|U|IR)$/,uuid:/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,jedinicaMjere:/^[A-Za-z0-9]{2,3}$/,izuzecePdv:/^[A-Za-z0-9-]{1,20}$/,valuta:/^[A-Za-z]{3}$/,vrstaDokumenta:/^[0-9]{2,3}$/,nacinPlacanja:/^[A-Za-z0-9]{1,3}$/,kategorijaPdv:/^[A-Za-z]{1,2}$/,klasifikacijaArtikla:/^[A-Za-z]{2,3}$/,tekst3:/^.{1,3}$/,tekst10:/^.{1,10}$/,tekst20:/^.{1,20}$/,tekst25:/^.{1,25}$/,tekst34:/^.{1,34}$/,tekst35:/^.{1,35}$/,tekst50:/^.{1,50}$/,tekst100:/^.{1,100}$/,tekst120:/^.{1,120}$/,tekst300:/^.{1,300}$/,tekst500:/^.{1,500}$/,tekst1024:/^.{1,1024}$/,decimal2:/^[+-]?([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})$/,decimalPositive2:/^[+]?([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})$/,greska:/^(S001|S002|S003|S004|S005|S006|S007|S008|S009|S010|S011|S012)$/,razlogOdbijanja:/^[NUO]$/,drzava:/^[A-Z]{2}$/,shemaIdentifikator:/^[0-9]{4}$/,boolean:/^(true|false)$/,redniBroj:/^(0|[1-9][0-9]*)$/,hrKategorijaPdv:/^([Hh][Rr]):(([Pp][Dd][Vv][0-9]{1,2})|([A-Za-z]{1,10}))$/,razlogPopusta:/^[0-9]{1,3}$/};var me={"BT-1":{id:"BT-1",name:"Broj ra\u010Duna",xpath:{Invoice:["cbc:ID"],CreditNote:["cbc:ID"]}},"BT-2":{id:"BT-2",name:"Datum izdavanja ra\u010Duna",xpath:{Invoice:["cbc:IssueDate"],CreditNote:["cbc:IssueDate"]}},"BT-3":{id:"BT-3",name:"Kod tipa ra\u010Duna",xpath:{Invoice:["cbc:InvoiceTypeCode"],CreditNote:["cbc:CreditNoteTypeCode"]}},"BT-5":{id:"BT-5",name:"Kod valute ra\u010Duna",xpath:{Invoice:["cbc:DocumentCurrencyCode"],CreditNote:["cbc:DocumentCurrencyCode"]}},"BT-6":{id:"BT-6",name:"Kod ra\u010Dunovodstvene valute za PDV",xpath:{Invoice:["cbc:TaxCurrencyCode"],CreditNote:["cbc:TaxCurrencyCode"]}},"BT-7":{id:"BT-7",name:"Datum nastanka obveze poreza na dodanu vrijednost",xpath:{Invoice:["cbc:TaxPointDate"],CreditNote:["cbc:TaxPointDate"]}},"BT-8":{id:"BT-8",name:"Kod datuma nastanka obveze poreza na dodanu vrijednost",xpath:{Invoice:["cac:InvoicePeriod","cbc:DescriptionCode"],CreditNote:["cac:InvoicePeriod","cbc:DescriptionCode"]}},"BT-9":{id:"BT-9",name:"Datum dospije\u0107a pla\u0107anja",xpath:{Invoice:["cbc:DueDate"],CreditNote:["cac:PaymentMeans","cbc:PaymentDueDate"]}},"BT-10":{id:"BT-10",name:"Interni identifikator kupca",xpath:{Invoice:["cbc:BuyerReference"],CreditNote:["cbc:BuyerReference"]}},"BT-11":{id:"BT-11",name:"Referenca projekta",xpath:{Invoice:["cac:ProjectReference","cbc:ID"],CreditNote:["cac:AdditionalDocumentReference","cbc:ID"]}},"BT-12":{id:"BT-12",name:"Referenca ugovora",xpath:{Invoice:["cac:ContractDocumentReference","cbc:ID"],CreditNote:["cac:ContractDocumentReference","cbc:ID"]}},"BT-13":{id:"BT-13",name:"Referenca narud\u017Ebenice",xpath:{Invoice:["cac:OrderReference","cbc:ID"],CreditNote:["cac:OrderReference","cbc:ID"]}},"BT-14":{id:"BT-14",name:"Referenca naloga za isporuku (eng. Sales order)",xpath:{Invoice:["cac:OrderReference","cbc:SalesOrderID"],CreditNote:["cac:OrderReference","cbc:SalesOrderID"]}},"BT-15":{id:"BT-15",name:"Referenca primke",xpath:{Invoice:["cac:ReceiptDocumentReference","cbc:ID"],CreditNote:["cac:ReceiptDocumentReference","cbc:ID"]}},"BT-16":{id:"BT-16",name:"Referenca otpremnice",xpath:{Invoice:["cac:DespatchDocumentReference","cbc:ID"],CreditNote:["cac:DespatchDocumentReference","cbc:ID"]}},"BT-17":{id:"BT-17",name:"Referenca javnog nadmetanja ili grupe/lota",xpath:{Invoice:["cac:OriginatorDocumentReference","cbc:ID"],CreditNote:["cac:OriginatorDocumentReference","cbc:ID"]}},"BT-18":{id:"BT-18",name:"Identifikator fakturiranog objekta",xpath:{Invoice:["cac:AdditionalDocumentReference","cbc:ID"],CreditNote:["cac:AdditionalDocumentReference","cbc:ID"]}},"BT-19":{id:"BT-19",name:"Ra\u010Dunovodstvena oznaka kupca",xpath:{Invoice:["cbc:AccountingCost"],CreditNote:["cbc:AccountingCost"]}},"BT-20":{id:"BT-20",name:"Uvjeti pla\u0107anja",xpath:{Invoice:["cac:PaymentTerms","cbc:Note"],CreditNote:["cac:PaymentTerms","cbc:Note"]}},"BT-21":{id:"BT-21",name:"Kod predmeta napomene za ra\u010Dun",xpath:{Invoice:["cbc:Note"],CreditNote:["cbc:Note"]}},"BT-22":{id:"BT-22",name:"Napomena za ra\u010Dun",xpath:{Invoice:["cbc:Note"],CreditNote:["cbc:Note"]}},"BT-23":{id:"BT-23",name:"Tip poslovnoga procesa",xpath:{Invoice:["cbc:ProfileID"],CreditNote:["cbc:ProfileID"]}},"BT-24":{id:"BT-24",name:"Identifikator specifikacije",xpath:{Invoice:["cbc:CustomizationID"],CreditNote:["cbc:CustomizationID"]}},"BT-25":{id:"BT-25",name:"Referenca prethodnog ra\u010Duna",xpath:{Invoice:["cac:BillingReference","cac:InvoiceDocumentReference","cbc:ID"],CreditNote:["cac:BillingReference","cac:InvoiceDocumentReference","cbc:ID"]}},"BT-26":{id:"BT-26",name:"Datum izdavanja prethodnog ra\u010Duna",xpath:{Invoice:["cac:BillingReference","cac:InvoiceDocumentReference","cbc:IssueDate"],CreditNote:["cac:BillingReference","cac:InvoiceDocumentReference","cbc:IssueDate"]}},"BT-27":{id:"BT-27",name:"Ime prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyLegalEntity","cbc:RegistrationName"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyLegalEntity","cbc:RegistrationName"]}},"BT-28":{id:"BT-28",name:"Trgova\u010Dki naziv prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyName","cbc:Name"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyName","cbc:Name"]}},"BT-29":{id:"BT-29",name:"Identifikator prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyIdentification","cbc:ID"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyIdentification","cbc:ID"]}},"BT-30":{id:"BT-30",name:"Identifikator pravne registracije prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyLegalEntity","cbc:CompanyID"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyLegalEntity","cbc:CompanyID"]}},"BT-31":{id:"BT-31",name:"Identifikator prodavatelja za PDV",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyTaxScheme","cbc:CompanyID"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyTaxScheme","cbc:CompanyID"]}},"BT-32":{id:"BT-32",name:"Identifikator porezne registracije prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyTaxScheme","cbc:CompanyID"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyTaxScheme","cbc:CompanyID"]}},"BT-33":{id:"BT-33",name:"Dodatni pravni podaci prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyLegalEntity","cbc:CompanyLegalForm"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyLegalEntity","cbc:CompanyLegalForm"]}},"BT-34":{id:"BT-34",name:"Elektroni\u010Dka adresa prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cbc:EndpointID"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cbc:EndpointID"]}},"BT-35":{id:"BT-35",name:"1. redak adrese prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:StreetName"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:StreetName"]}},"BT-36":{id:"BT-36",name:"2. redak adrese prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:AdditionalStreetName"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:AdditionalStreetName"]}},"BT-37":{id:"BT-37",name:"Grad prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:CityName"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:CityName"]}},"BT-38":{id:"BT-38",name:"Po\u0161tanski broj prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:PostalZone"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:PostalZone"]}},"BT-39":{id:"BT-39",name:"Oznaka pokrajine dr\u017Eave prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:CountrySubentity"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cbc:CountrySubentity"]}},"BT-40":{id:"BT-40",name:"Kod dr\u017Eave prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cac:Country","cbc:IdentificationCode"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cac:Country","cbc:IdentificationCode"]}},"BT-41":{id:"BT-41",name:"Kontaktna to\u010Dka prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:Contact","cbc:Name"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:Contact","cbc:Name"]}},"BT-42":{id:"BT-42",name:"Broj telefona za kontakt prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:Contact","cbc:Telephone"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:Contact","cbc:Telephone"]}},"BT-43":{id:"BT-43",name:"Adresa e-po\u0161te za kontakt prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:Contact","cbc:ElectronicMail"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:Contact","cbc:ElectronicMail"]}},"BT-44":{id:"BT-44",name:"Ime kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PartyLegalEntity","cbc:RegistrationName"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PartyLegalEntity","cbc:RegistrationName"]}},"BT-45":{id:"BT-45",name:"Trgova\u010Dki naziv kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PartyName","cbc:Name"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PartyName","cbc:Name"]}},"BT-46":{id:"BT-46",name:"Identifikator kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PartyIdentification","cbc:ID"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PartyIdentification","cbc:ID"]}},"BT-47":{id:"BT-47",name:"Identifikator pravne registracije kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PartyLegalEntity","cbc:CompanyID"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PartyLegalEntity","cbc:CompanyID"]}},"BT-48":{id:"BT-48",name:"Identifikator kupca za PDV",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PartyTaxScheme","cbc:CompanyID"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PartyTaxScheme","cbc:CompanyID"]}},"BT-49":{id:"BT-49",name:"Elektroni\u010Dka adresa kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cbc:EndpointID"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cbc:EndpointID"]}},"BT-50":{id:"BT-50",name:"Redak adrese kupca 1",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:StreetName"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:StreetName"]}},"BT-51":{id:"BT-51",name:"Redak adrese kupca 2",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:AdditionalStreetName"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:AdditionalStreetName"]}},"BT-52":{id:"BT-52",name:"Grad kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:CityName"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:CityName"]}},"BT-53":{id:"BT-53",name:"Po\u0161tanski broj kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:PostalZone"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:PostalZone"]}},"BT-54":{id:"BT-54",name:"\u017Dupanija kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:CountrySubentity"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cbc:CountrySubentity"]}},"BT-55":{id:"BT-55",name:"\u0160ifra dr\u017Eave kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cac:Country","cbc:IdentificationCode"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cac:Country","cbc:IdentificationCode"]}},"BT-56":{id:"BT-56",name:"Broj telefona za kontakt kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:Contact","cbc:Name"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:Contact","cbc:Name"]}},"BT-57":{id:"BT-57",name:"Telefonski broj kontakta kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:Contact","cbc:Telephone"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:Contact","cbc:Telephone"]}},"BT-58":{id:"BT-58",name:"Adresa e-po\u0161te za kontakt kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:Contact","cbc:ElectronicMail"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:Contact","cbc:ElectronicMail"]}},"BT-59":{id:"BT-59",name:"Ime primatelja pla\u0107anja",xpath:{Invoice:["cac:PayeeParty","cac:PartyName","cbc:Name"],CreditNote:["cac:PayeeParty","cac:PartyName","cbc:Name"]}},"BT-60":{id:"BT-60",name:"Identifikator primatelja pla\u0107anja",xpath:{Invoice:["cac:PayeeParty","cac:PartyIdentification","cbc:ID"],CreditNote:["cac:PayeeParty","cac:PartyIdentification","cbc:ID"]}},"BT-61":{id:"BT-61",name:"Identifikator pravne registracije primatelja pla\u0107anja",xpath:{Invoice:["cac:PayeeParty","cac:PartyLegalEntity","cbc:CompanyID"],CreditNote:["cac:PayeeParty","cac:PartyLegalEntity","cbc:CompanyID"]}},"BT-62":{id:"BT-62",name:"Ime poreznog zastupnika prodavatelja",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PartyName","cbc:Name"],CreditNote:["cac:TaxRepresentativeParty","cac:PartyName","cbc:Name"]}},"BT-63":{id:"BT-63",name:"Identifikator za PDV poreznog zastupnika prodavatelja",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PartyTaxScheme","cbc:CompanyID"],CreditNote:["cac:TaxRepresentativeParty","cac:PartyTaxScheme","cbc:CompanyID"]}},"BT-64":{id:"BT-64",name:"1. redak adrese poreznoga zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:StreetName"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:StreetName"]}},"BT-65":{id:"BT-65",name:"2. redak adrese poreznoga zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:AdditionalStreetName"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:AdditionalStreetName"]}},"BT-66":{id:"BT-66",name:"Grad poreznog zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:CityName"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:CityName"]}},"BT-67":{id:"BT-67",name:"Po\u0161tanski broj poreznoga zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:PostalZone"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:PostalZone"]}},"BT-68":{id:"BT-68",name:"Pokrajina poreznoga zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:CountrySubentity"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cbc:CountrySubentity"]}},"BT-69":{id:"BT-69",name:"Kod dr\u017Eave poreznoga zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cac:Country","cbc:IdentificationCode"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cac:Country","cbc:IdentificationCode"]}},"BT-70":{id:"BT-70",name:"Ime strane primatelja isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryParty","cac:PartyName","cbc:Name"],CreditNote:["cac:Delivery","cac:DeliveryParty","cac:PartyName","cbc:Name"]}},"BT-71":{id:"BT-71",name:"Identifikator lokacije isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cbc:ID"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cbc:ID"]}},"BT-72":{id:"BT-72",name:"Stvarni datum isporuke",xpath:{Invoice:["cac:Delivery","cbc:ActualDeliveryDate"],CreditNote:["cac:Delivery","cbc:ActualDeliveryDate"]}},"BT-73":{id:"BT-73",name:"Po\u010Detni datum obra\u010Dunskog razdoblja",xpath:{Invoice:["cac:InvoicePeriod","cbc:StartDate"],CreditNote:["cac:InvoicePeriod","cbc:StartDate"]}},"BT-74":{id:"BT-74",name:"Zavr\u0161ni datum obra\u010Dunskog razdoblja",xpath:{Invoice:["cac:InvoicePeriod","cbc:EndDate"],CreditNote:["cac:InvoicePeriod","cbc:EndDate"]}},"BT-75":{id:"BT-75",name:"1. redak adrese isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:StreetName"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:StreetName"]}},"BT-76":{id:"BT-76",name:"2. redak adrese isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:AdditionalStreetName"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:AdditionalStreetName"]}},"BT-77":{id:"BT-77",name:"Grad isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:CityName"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:CityName"]}},"BT-78":{id:"BT-78",name:"Po\u0161tanski broj isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:PostalZone"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:PostalZone"]}},"BT-79":{id:"BT-79",name:"Pokrajina dr\u017Eave isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:CountrySubentity"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cbc:CountrySubentity"]}},"BT-80":{id:"BT-80",name:"Kod dr\u017Eave isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cac:Country","cbc:IdentificationCode"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cac:Country","cbc:IdentificationCode"]}},"BT-81":{id:"BT-81",name:"Kod na\u010Dina pla\u0107anja",xpath:{Invoice:["cac:PaymentMeans","cbc:PaymentMeansCode"],CreditNote:["cac:PaymentMeans","cbc:PaymentMeansCode"]}},"BT-82":{id:"BT-82",name:"Tekst na\u010Dina pla\u0107anja",xpath:{Invoice:["cac:PaymentMeans","cbc:InstructionNote"],CreditNote:["cac:PaymentMeans","cbc:InstructionNote"]}},"BT-83":{id:"BT-83",name:"Podaci o doznaci",xpath:{Invoice:["cac:PaymentMeans","cbc:PaymentID"],CreditNote:["cac:PaymentMeans","cbc:PaymentID"]}},"BT-84":{id:"BT-84",name:"Identifikator ra\u010Duna za pla\u0107anje",xpath:{Invoice:["cac:PaymentMeans","cac:PayeeFinancialAccount","cbc:ID"],CreditNote:["cac:PaymentMeans","cac:PayeeFinancialAccount","cbc:ID"]}},"BT-85":{id:"BT-85",name:"Naziv ra\u010Duna za pla\u0107anje",xpath:{Invoice:["cac:PaymentMeans","cac:PayeeFinancialAccount","cbc:Name"],CreditNote:["cac:PaymentMeans","cac:PayeeFinancialAccount","cbc:Name"]}},"BT-86":{id:"BT-86",name:"Identifikator pru\u017Eanja platnih usluga",xpath:{Invoice:["cac:PaymentMeans","cac:PayeeFinancialAccount","cac:FinancialInstitutionBranch","cbc:ID"],CreditNote:["cac:PaymentMeans","cac:PayeeFinancialAccount","cac:FinancialInstitutionBranch","cbc:ID"]}},"BT-87":{id:"BT-87",name:"Primarni broj ra\u010Duna platne kartice",xpath:{Invoice:["cac:PaymentMeans","cac:CardAccount","cbc:PrimaryAccountNumberID"],CreditNote:["cac:PaymentMeans","cac:CardAccount","cbc:PrimaryAccountNumberID"]}},"BT-88":{id:"BT-88",name:"Ime imatelja platne kartice",xpath:{Invoice:["cac:PaymentMeans","cac:CardAccount","cbc:HolderName"],CreditNote:["cac:PaymentMeans","cac:CardAccount","cbc:HolderName"]}},"BT-89":{id:"BT-89",name:"Identifikator reference ovla\u0161tenja",xpath:{Invoice:["cac:PaymentMeans","cac:PaymentMandate","cbc:ID"],CreditNote:["cac:PaymentMeans","cac:PaymentMandate","cbc:ID"]}},"BT-90":{id:"BT-90",name:"Bankovni identifikator vjerovnika",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PartyIdentification","cbc:ID","cac:PayeeParty","cac:PartyIdentification","cbc:ID"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PartyIdentification","cbc:ID","cac:PayeeParty","cac:PartyIdentification","cbc:ID"]}},"BT-91":{id:"BT-91",name:"Identifikator ra\u010Duna za tere\u0107enje",xpath:{Invoice:["cac:PaymentMeans","cac:PaymentMandate","cac:PayerFinancialAccount","cbc:ID"],CreditNote:["cac:PaymentMeans","cac:PaymentMandate","cac:PayerFinancialAccount","cbc:ID"]}},"BT-92":{id:"BT-92",name:"Iznos popusta na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:Amount"],CreditNote:["cac:AllowanceCharge","cbc:Amount"]}},"BT-93":{id:"BT-93",name:"Osnovica popusta na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:BaseAmount"],CreditNote:["cac:AllowanceCharge","cbc:BaseAmount"]}},"BT-94":{id:"BT-94",name:"Postotak popusta na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:MultiplierFactorNumeric"],CreditNote:["cac:AllowanceCharge","cbc:MultiplierFactorNumeric"]}},"BT-95":{id:"BT-95",name:"Kod kategorije PDV-a za popust na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:ID"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:ID"]}},"BT-96":{id:"BT-96",name:"Stopa PDV-a popusta na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:Percent"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:Percent"]}},"BT-97":{id:"BT-97",name:"Razlog popusta na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:AllowanceChargeReason"],CreditNote:["cac:AllowanceCharge","cbc:AllowanceChargeReason"]}},"BT-98":{id:"BT-98",name:"Kod razloga popusta na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"],CreditNote:["cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"]}},"BT-99":{id:"BT-99",name:"Iznos tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:Amount"],CreditNote:["cac:AllowanceCharge","cbc:Amount"]}},"BT-100":{id:"BT-100",name:"Osnovica tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:BaseAmount"],CreditNote:["cac:AllowanceCharge","cbc:BaseAmount"]}},"BT-101":{id:"BT-101",name:"Postotak tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:MultiplierFactorNumeric"],CreditNote:["cac:AllowanceCharge","cbc:MultiplierFactorNumeric"]}},"BT-102":{id:"BT-102",name:"Kod kategorije PDV-a tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:ID"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:ID"]}},"BT-103":{id:"BT-103",name:"Stopa PDV-a tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:Percent"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:Percent"]}},"BT-104":{id:"BT-104",name:"Razlog tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:AllowanceChargeReason"],CreditNote:["cac:AllowanceCharge","cbc:AllowanceChargeReason"]}},"BT-105":{id:"BT-105",name:"Kod razloga tro\u0161ka na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"],CreditNote:["cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"]}},"BT-106":{id:"BT-106",name:"Zbroj neto iznosa stavki ra\u010Duna",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:LineExtensionAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:LineExtensionAmount"]}},"BT-107":{id:"BT-107",name:"Zbroj popusta na razini dokumenta",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:AllowanceTotalAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:AllowanceTotalAmount"]}},"BT-108":{id:"BT-108",name:"Zbroj tro\u0161kova na razini dokumenta",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:ChargeTotalAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:ChargeTotalAmount"]}},"BT-109":{id:"BT-109",name:"Ukupni iznos ra\u010Duna bez PDV-a",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:TaxExclusiveAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:TaxExclusiveAmount"]}},"BT-110":{id:"BT-110",name:"Ukupni iznos PDV-a za ra\u010Dun",xpath:{Invoice:["cac:TaxTotal","cbc:TaxAmount"],CreditNote:["cac:TaxTotal","cbc:TaxAmount"]}},"BT-111":{id:"BT-111",name:"Ukupni iznos PDV-a za ra\u010Dun u ra\u010Dunovodstvenoj valuti",xpath:{Invoice:["cac:TaxTotal","cbc:TaxAmount"],CreditNote:["cac:TaxTotal","cbc:TaxAmount"]}},"BT-112":{id:"BT-112",name:"Ukupni iznos ra\u010Duna s PDV-om",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:TaxInclusiveAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:TaxInclusiveAmount"]}},"BT-113":{id:"BT-113",name:"Pla\u0107en iznos",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:PrepaidAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:PrepaidAmount"]}},"BT-114":{id:"BT-114",name:"Iznos zaokru\u017Eivanja",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:PayableRoundingAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:PayableRoundingAmount"]}},"BT-115":{id:"BT-115",name:"Iznos koji dospijeva na pla\u0107anje",xpath:{Invoice:["cac:LegalMonetaryTotal","cbc:PayableAmount"],CreditNote:["cac:LegalMonetaryTotal","cbc:PayableAmount"]}},"BT-116":{id:"BT-116",name:"Oporezivi iznos kategorije PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal","cbc:TaxableAmount"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal","cbc:TaxableAmount"]}},"BT-117":{id:"BT-117",name:"Iznos poreza kategorije PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal","cbc:TaxAmount"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal","cbc:TaxAmount"]}},"BT-118":{id:"BT-118",name:"Kod kategorije PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:ID"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:ID"]}},"BT-119":{id:"BT-119",name:"Stopa kategorije PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:Percent"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:Percent"]}},"BT-120":{id:"BT-120",name:"Tekst razloga za oslobo\u0111enje od PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:TaxExemptionReason"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:TaxExemptionReason"]}},"BT-121":{id:"BT-121",name:"Kod razloga za oslobo\u0111enje od PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:TaxExemptionReasonCode"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal","cac:TaxCategory","cbc:TaxExemptionReasonCode"]}},"BT-122":{id:"BT-122",name:"Referenca popratnog dokumenta",xpath:{Invoice:["cac:AdditionalDocumentReference","cbc:ID"],CreditNote:["cac:AdditionalDocumentReference","cbc:ID"]}},"BT-123":{id:"BT-123",name:"Opis popratnog dokumenta",xpath:{Invoice:["cac:AdditionalDocumentReference","cbc:DocumentDescription"],CreditNote:["cac:AdditionalDocumentReference","cbc:DocumentDescription"]}},"BT-124":{id:"BT-124",name:"Lokacija vanjskog dokumenta",xpath:{Invoice:["cac:AdditionalDocumentReference","cac:Attachment","cac:ExternalReference","cbc:URI"],CreditNote:["cac:AdditionalDocumentReference","cac:Attachment","cac:ExternalReference","cbc:URI"]}},"BT-125":{id:"BT-125",name:"Prilo\u017Eeni dokument",xpath:{Invoice:["cac:AdditionalDocumentReference","cac:Attachment","cbc:EmbeddedDocumentBinaryObject"],CreditNote:["cac:AdditionalDocumentReference","cac:Attachment","cbc:EmbeddedDocumentBinaryObject"]}},"BT-126":{id:"BT-126",name:"Identifikator stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cbc:ID"],CreditNote:["cac:CreditNoteLine","cbc:ID"]}},"BT-127":{id:"BT-127",name:"Napomena stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cbc:Note"],CreditNote:["cac:CreditNoteLine","cbc:Note"]}},"BT-128":{id:"BT-128",name:"Identifikator objekta stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:DocumentReference","cbc:DocumentTypeCode"],CreditNote:["cac:CreditNoteLine","cac:DocumentReference","cbc:DocumentTypeCode"]}},"BT-129":{id:"BT-129",name:"Obra\u010Dunata koli\u010Dina",xpath:{Invoice:["cac:InvoiceLine","cbc:InvoicedQuantity"],CreditNote:["cac:CreditNoteLine","cbc:CreditedQuantity"]}},"BT-130":{id:"BT-130",name:"Kod jedinice mjere obra\u010Dunate koli\u010Dine",xpath:{Invoice:["cac:InvoiceLine","cbc:InvoicedQuantity","@unitCode"],CreditNote:["cac:CreditNoteLine","cbc:CreditedQuantity","@unitCode"]}},"BT-131":{id:"BT-131",name:"Neto iznos stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cbc:LineExtensionAmount"],CreditNote:["cac:CreditNoteLine","cbc:LineExtensionAmount"]}},"BT-132":{id:"BT-132",name:"Referencirana referenca stavke narud\u017Ebenice",xpath:{Invoice:["cac:InvoiceLine","cac:OrderLineReference","cbc:LineID"],CreditNote:["cac:CreditNoteLine","cac:OrderLineReference","cbc:LineID"]}},"BT-133":{id:"BT-133",name:"Ra\u010Dunovodstvena oznaka kupca na stavci ra\u010Duna (mjesto tro\u0161ka)",xpath:{Invoice:["cac:InvoiceLine","cbc:AccountingCost"],CreditNote:["cac:CreditNoteLine","cbc:AccountingCost"]}},"BT-134":{id:"BT-134",name:"Po\u010Detni datum obra\u010Dunskog razdoblja stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:InvoicePeriod","cbc:StartDate"],CreditNote:["cac:CreditNoteLine","cac:InvoicePeriod","cbc:StartDate"]}},"BT-135":{id:"BT-135",name:"Zavr\u0161ni datum obra\u010Dunskog razdoblja stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:InvoicePeriod","cbc:EndDate"],CreditNote:["cac:CreditNoteLine","cac:InvoicePeriod","cbc:EndDate"]}},"BT-136":{id:"BT-136",name:"Iznos popusta na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:Amount"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:Amount"]}},"BT-137":{id:"BT-137",name:"Osnovica iznosa popusta na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:BaseAmount"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:BaseAmount"]}},"BT-138":{id:"BT-138",name:"Postotak popusta na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:MultiplierFactorNumeric"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:MultiplierFactorNumeric"]}},"BT-139":{id:"BT-139",name:"Razlog popusta na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:AllowanceChargeReason"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:AllowanceChargeReason"]}},"BT-140":{id:"BT-140",name:"Kod razloga popusta na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"]}},"BT-141":{id:"BT-141",name:"Iznos tro\u0161ka na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:Amount"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:Amount"]}},"BT-142":{id:"BT-142",name:"Osnovica iznosa tro\u0161ka na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:BaseAmount"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:BaseAmount"]}},"BT-143":{id:"BT-143",name:"Postotak tro\u0161ka na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:MultiplierFactorNumeric"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:MultiplierFactorNumeric"]}},"BT-144":{id:"BT-144",name:"Razlog tro\u0161ka na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:AllowanceChargeReason"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:AllowanceChargeReason"]}},"BT-145":{id:"BT-145",name:"Kod razloga za tro\u0161ak na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge","cbc:AllowanceChargeReasonCode"]}},"BT-146":{id:"BT-146",name:"Neto cijena artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Price","cbc:PriceAmount"],CreditNote:["cac:CreditNoteLine","cac:Price","cbc:PriceAmount"]}},"BT-147":{id:"BT-147",name:"Popust na cijenu artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Price","cac:AllowanceCharge","cbc:Amount"],CreditNote:["cac:CreditNoteLine","cac:Price","cac:AllowanceCharge","cbc:Amount"]}},"BT-148":{id:"BT-148",name:"Bruto cijena artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Price","cac:AllowanceCharge","cbc:BaseAmount"],CreditNote:["cac:CreditNoteLine","cac:Price","cac:AllowanceCharge","cbc:BaseAmount"]}},"BT-149":{id:"BT-149",name:"Jedini\u010Dna koli\u010Dina za cijenu artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Price","cbc:BaseQuantity"],CreditNote:["cac:CreditNoteLine","cac:Price","cbc:BaseQuantity"]}},"BT-150":{id:"BT-150",name:"Kod jedinice mjere za jedini\u010Dnu koli\u010Dinu za cijenu artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Price","cbc:BaseQuantity","@unitCode"],CreditNote:["cac:CreditNoteLine","cac:Price","cbc:BaseQuantity","@unitCode"]}},"BT-151":{id:"BT-151",name:"Kod kategorije PDV-a stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:ClassifiedTaxCategory","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:ClassifiedTaxCategory","cbc:ID"]}},"BT-152":{id:"BT-152",name:"Stopa PDV-a stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:ClassifiedTaxCategory","cbc:Percent"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:ClassifiedTaxCategory","cbc:Percent"]}},"BT-153":{id:"BT-153",name:"Naziv artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cbc:Name"],CreditNote:["cac:CreditNoteLine","cac:Item","cbc:Name"]}},"BT-154":{id:"BT-154",name:"Opis artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cbc:Description"],CreditNote:["cac:CreditNoteLine","cac:Item","cbc:Description"]}},"BT-155":{id:"BT-155",name:"Prodavateljev identifikator artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:SellersItemIdentification","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:SellersItemIdentification","cbc:ID"]}},"BT-156":{id:"BT-156",name:"Kup\u010Dev identifikator artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:BuyersItemIdentification","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:BuyersItemIdentification","cbc:ID"]}},"BT-157":{id:"BT-157",name:"Standardni identifikator artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:StandardItemIdentification","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:StandardItemIdentification","cbc:ID"]}},"BT-158":{id:"BT-158",name:"Identifikator klasifikacije artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:CommodityClassification","cbc:ItemClassificationCode"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:CommodityClassification","cbc:ItemClassificationCode"]}},"BT-159":{id:"BT-159",name:"Zemlja podrijetla artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:OriginCountry","cbc:IdentificationCode"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:OriginCountry","cbc:IdentificationCode"]}},"BT-160":{id:"BT-160",name:"Ime atributa artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:AdditionalItemProperty","cbc:Name"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:AdditionalItemProperty","cbc:Name"]}},"BT-161":{id:"BT-161",name:"Vrijednost atributa artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:AdditionalItemProperty","cbc:Value"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:AdditionalItemProperty","cbc:Value"]}},"BT-162":{id:"BT-162",name:"3. redak adrese prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cac:AddressLine","cbc:Line"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress","cac:AddressLine","cbc:Line"]}},"BT-163":{id:"BT-163",name:"Redak adrese kupca 3",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cac:AddressLine","cbc:Line"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress","cac:AddressLine","cbc:Line"]}},"BT-164":{id:"BT-164",name:"3. redak adrese poreznoga zastupnika",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress","cac:AddressLine","cbc:Line"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress","cac:AddressLine","cbc:Line"]}},"BT-165":{id:"BT-165",name:"3. redak adrese isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address","cac:AddressLine","cbc:Line"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address","cac:AddressLine","cbc:Line"]}},"HR-BT-1":{id:"HR-BT-1",name:"Indikator kopije ra\u010Duna",xpath:{Invoice:["cbc:CopyIndicator"],CreditNote:["cbc:CopyIndicator"]}},"HR-BT-2":{id:"HR-BT-2",name:"Vrijeme izdavanja ra\u010Duna",xpath:{Invoice:["cbc:IssueTime"],CreditNote:["cbc:IssueTime"]}},"HR-BT-3":{id:"HR-BT-3",name:"Opis prethodnog ra\u010Duna",xpath:{Invoice:["cac:BillingReference","cac:InvoiceDocumentReference","cbc:DocumentDescription"],CreditNote:["cac:BillingReference","cac:InvoiceDocumentReference","cbc:DocumentDescription"]}},"HR-BT-4":{id:"HR-BT-4",name:"Oznaka operatera",xpath:{Invoice:["cac:AccountingSupplierParty","cac:SellerContact","cbc:Name"],CreditNote:["cac:AccountingSupplierParty","cac:SellerContact","cbc:Name"]}},"HR-BT-5":{id:"HR-BT-5",name:"OIB operatera",xpath:{Invoice:["cac:AccountingSupplierParty","cac:SellerContact","cbc:ID"],CreditNote:["cac:AccountingSupplierParty","cac:SellerContact","cbc:ID"]}},"HR-BT-6":{id:"HR-BT-6",name:"HR Oznaka porezne kategorije",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:Name"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:Name"]}},"HR-BT-7":{id:"HR-BT-7",name:"Razlog oslobo\u0111enja PDV-a",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:TaxExemptionReason"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:TaxExemptionReason"]}},"HR-BT-8":{id:"HR-BT-8",name:"Kod oslobo\u0111enja od PDV-a",xpath:{Invoice:["cac:AllowanceCharge","cac:TaxCategory","cbc:TaxExemptionReasonCode"],CreditNote:["cac:AllowanceCharge","cac:TaxCategory","cbc:TaxExemptionReasonCode"]}},"HR-BT-9":{id:"HR-BT-9",name:"Referenca narud\u017Ebenice na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:OrderLineReference","cac:OrderReference","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:OrderLineReference","cac:OrderReference","cbc:ID"]}},"HR-BT-10":{id:"HR-BT-10",name:"Referenca otpremnice na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:DespatchLineReference","cac:DocumentReference","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:DespatchLineReference","cac:DocumentReference","cbc:ID"]}},"HR-BT-11":{id:"HR-BT-11",name:"Referenca primke na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:ReceiptLineReference","cac:DocumentReference","cbc:ID"],CreditNote:["cac:CreditNoteLine","cac:ReceiptLineReference","cac:DocumentReference","cbc:ID"]}},"HR-BT-12":{id:"HR-BT-12",name:"Oznaka porezne kategorije artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:ClassifiedTaxCategory","cbc:Name"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:ClassifiedTaxCategory","cbc:Name"]}},"HR-BT-13":{id:"HR-BT-13",name:"Razlog oslobo\u0111enja od PDV-a stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:ClassifiedTaxCategory","cbc:TaxExemptionReason"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:ClassifiedTaxCategory","cbc:TaxExemptionReason"]}},"HR-BT-14":{id:"HR-BT-14",name:"Kod razloga oslobo\u0111enja od PDV-a stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:ClassifiedTaxCategory","cbc:TaxExemptionReasonCode"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:ClassifiedTaxCategory","cbc:TaxExemptionReasonCode"]}},"HR-BT-15":{id:"HR-BT-15",name:"Obra\u010Dun PDV-a po napla\u0107enoj naknadi",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRObracunPDVPoNaplati"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRObracunPDVPoNaplati"]}},"HR-BT-16":{id:"HR-BT-16",name:"HR iznos osnovice kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","cbc:TaxableAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","cbc:TaxableAmount"]}},"HR-BT-17":{id:"HR-BT-17",name:"HR iznos kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","cbc:TaxAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxSubtotal","cbc:TaxAmount"]}},"HR-BT-18":{id:"HR-BT-18",name:"HR kod kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:ID"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:ID"]}},"HR-BT-19":{id:"HR-BT-19",name:"HR stopa kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:Percent"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:Percent"]}},"HR-BT-20":{id:"HR-BT-20",name:"HR tekst razloga oslobo\u0111enja kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:TaxExemptionReason"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:TaxExemptionReason"]}},"HR-BT-21":{id:"HR-BT-21",name:"HR kod razloga oslobo\u0111enja kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:TaxExemptionReasonCode"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:TaxExemptionReasonCode"]}},"HR-BT-22":{id:"HR-BT-22",name:"HR Oznaka kategorije PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:Name"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal","hrextac:HRTaxCategory","cbc:Name"]}},"HR-BT-23":{id:"HR-BT-23",name:"HR iznos osnovice za PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","hrextac:HRTaxExclusiveAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","hrextac:HRTaxExclusiveAmount"]}},"HR-BT-24":{id:"HR-BT-24",name:"HR Neoporezivi iznos",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","cbc:OutOfScopeOfVATAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","cbc:OutOfScopeOfVATAmount"]}},"HR-BT-25":{id:"HR-BT-25",name:"HR ukupni iznos PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","cbc:TaxAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","cbc:TaxAmount"]}}};var ue={"BG-1":{id:"BG-1",name:"Napomena za ra\u010Dun",xpath:{Invoice:[],CreditNote:[]}},"BG-2":{id:"BG-2",name:"Procesna kontrola",xpath:{Invoice:[],CreditNote:[]}},"BG-3":{id:"BG-3",name:"Referenca prethodnog ra\u010Duna",xpath:{Invoice:["cac:BillingReference"],CreditNote:["cac:BillingReference"]}},"BG-4":{id:"BG-4",name:"Prodavatelj",xpath:{Invoice:["cac:AccountingSupplierParty"],CreditNote:["cac:AccountingSupplierParty"]}},"BG-5":{id:"BG-5",name:"Po\u0161tanska adresa prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:PostalAddress"]}},"BG-6":{id:"BG-6",name:"Kontakt prodavatelja",xpath:{Invoice:["cac:AccountingSupplierParty","cac:Party","cac:Contact"],CreditNote:["cac:AccountingSupplierParty","cac:Party","cac:Contact"]}},"BG-7":{id:"BG-7",name:"Kupac",xpath:{Invoice:["cac:AccountingCustomerParty"],CreditNote:["cac:AccountingCustomerParty"]}},"BG-8":{id:"BG-8",name:"Po\u0161tanska adresa kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:PostalAddress"]}},"BG-9":{id:"BG-9",name:"Kontaktni podaci kupca",xpath:{Invoice:["cac:AccountingCustomerParty","cac:Party","cac:Contact"],CreditNote:["cac:AccountingCustomerParty","cac:Party","cac:Contact"]}},"BG-10":{id:"BG-10",name:"Primatelj pla\u0107anja",xpath:{Invoice:["cac:PayeeParty"],CreditNote:["cac:PayeeParty"]}},"BG-11":{id:"BG-11",name:"Porezni zastupnik prodavatelja",xpath:{Invoice:["cac:TaxRepresentativeParty"],CreditNote:["cac:TaxRepresentativeParty"]}},"BG-12":{id:"BG-12",name:"Po\u0161tanska adresa poreznog zastupnika prodavatelja",xpath:{Invoice:["cac:TaxRepresentativeParty","cac:PostalAddress"],CreditNote:["cac:TaxRepresentativeParty","cac:PostalAddress"]}},"BG-13":{id:"BG-13",name:"Podaci o isporuci",xpath:{Invoice:["cac:Delivery"],CreditNote:["cac:Delivery"]}},"BG-14":{id:"BG-14",name:"Obra\u010Dunsko razdoblje",xpath:{Invoice:["cac:InvoicePeriod"],CreditNote:["cac:InvoicePeriod"]}},"BG-15":{id:"BG-15",name:"Adresa isporuke",xpath:{Invoice:["cac:Delivery","cac:DeliveryLocation","cac:Address"],CreditNote:["cac:Delivery","cac:DeliveryLocation","cac:Address"]}},"BG-16":{id:"BG-16",name:"Upute za pla\u0107anje",xpath:{Invoice:["cac:PaymentMeans"],CreditNote:["cac:PaymentMeans"]}},"BG-17":{id:"BG-17",name:"Kreditni transfer",xpath:{Invoice:["cac:PaymentMeans","cac:PayeeFinancialAccount"],CreditNote:["cac:PaymentMeans","cac:PayeeFinancialAccount"]}},"BG-18":{id:"BG-18",name:"Podaci o platnoj kartici",xpath:{Invoice:["cac:PaymentMeans","cac:CardAccount"],CreditNote:["cac:PaymentMeans","cac:CardAccount"]}},"BG-19":{id:"BG-19",name:"Izravno tere\u0107enje",xpath:{Invoice:["cac:PaymentMeans","cac:PaymentMandate"],CreditNote:["cac:PaymentMeans","cac:PaymentMandate"]}},"BG-20":{id:"BG-20",name:"Popusti na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge"],CreditNote:["cac:AllowanceCharge"]}},"BG-21":{id:"BG-21",name:"Tro\u0161kovi na razini dokumenta",xpath:{Invoice:["cac:AllowanceCharge"],CreditNote:["cac:AllowanceCharge"]}},"BG-22":{id:"BG-22",name:"Ukupni iznosi na razini dokumenta",xpath:{Invoice:["cac:LegalMonetaryTotal"],CreditNote:["cac:LegalMonetaryTotal"]}},"BG-23":{id:"BG-23",name:"Raspodjela PDV-a",xpath:{Invoice:["cac:TaxTotal","cac:TaxSubtotal"],CreditNote:["cac:TaxTotal","cac:TaxSubtotal"]}},"BG-24":{id:"BG-24",name:"Dodatni popratni dokumenti",xpath:{Invoice:["cac:AdditionalDocumentReference"],CreditNote:["cac:AdditionalDocumentReference"]}},"BG-25":{id:"BG-25",name:"Stavka ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine"],CreditNote:["cac:CreditNoteLine"]}},"BG-26":{id:"BG-26",name:"Obra\u010Dunsko razdoblje stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:InvoicePeriod"],CreditNote:["cac:CreditNoteLine","cac:InvoicePeriod"]}},"BG-27":{id:"BG-27",name:"Popusti na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge"]}},"BG-28":{id:"BG-28",name:"Tro\u0161kovi na stavci ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:AllowanceCharge"],CreditNote:["cac:CreditNoteLine","cac:AllowanceCharge"]}},"BG-29":{id:"BG-29",name:"Pojedinosti cijene",xpath:{Invoice:["cac:InvoiceLine","cac:Price"],CreditNote:["cac:CreditNoteLine","cac:Price"]}},"BG-30":{id:"BG-30",name:"Podaci o PDV-u stavke ra\u010Duna",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:ClassifiedTaxCategory"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:ClassifiedTaxCategory"]}},"BG-31":{id:"BG-31",name:"Podaci o artiklu",xpath:{Invoice:["cac:InvoiceLine","cac:Item"],CreditNote:["cac:CreditNoteLine","cac:Item"]}},"BG-32":{id:"BG-32",name:"Atributi artikla",xpath:{Invoice:["cac:InvoiceLine","cac:Item","cac:AdditionalItemProperty"],CreditNote:["cac:CreditNoteLine","cac:Item","cac:AdditionalItemProperty"]}},"HR-BG-1":{id:"HR-BG-1",name:"HR pro\u0161irenja",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data"]}},"HR-BG-2":{id:"HR-BG-2",name:"HR Raspodjela PDV",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRTaxTotal","hrextac:HRTaxSubtotal"]}},"HR-BG-3":{id:"HR-BG-3",name:"HR ukupni iznosi",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal"]}}};var j=class extends Error{constructor(e,a){super(e),this.value=a}toString(){return this.value===void 0||this.value===null?`ValidationError: ${this.message}`:typeof this.value=="string"?`ValidationError: ${this.message} (value: "${this.value}")`:`ValidationError: ${this.message} (value: ${JSON.stringify(this.value)})`}};function W(i){let e;return i instanceof Error?e=i.message:typeof i=="string"?e=i:i&&typeof i=="object"&&"message"in i?e=i.message:i&&typeof i=="object"&&"toString"in i?e=i.toString():e=JSON.stringify(i),{message:e,thrown:i}}function Ee(i,e){return i.startsWith(e)?i.slice(e.length+1):i}function s(i,e,a=null){let n=me[i];return a?Ee(n.xpath[e].join("/"),k(a,e)):n.xpath[e].join("/")}function k(i,e){return ue[i].xpath[e].join("/")}function c(i,e,a,n={}){let{regexKey:r,lenient:l,errors:u}=n,p=i.get(e,a);if(!p)throw new j(`Element '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);if(r&&!O[r].test(p.content)){let h=new j(`Element '${e}' ne zadovoljava regex ${O[r]}`,p.content);if(l)u&&u.push(h);else throw h}return p.content}function m(i,e,a,n={}){let{regexKey:r,lenient:l,errors:u}=n,p=i.get(e,a);if(p){if(r&&!O[r].test(p.content)){let h=new j(`Element '${e}' ne zadovoljava regex ${O[r]}`,p.content);if(l)u&&u.push(h);else throw h}return p.content}}function v(i,e,a,n={}){let r=c(i,e,a,n),l=Number(r);if(isNaN(l)){let u=new j(`Element '${e}' ne sadr\u017Ei valjani broj: ${r}`,r);if(n.lenient)return n.errors&&n.errors.push(u),0;throw u}return l}function g(i,e,a,n={}){let r=m(i,e,a,n);if(r===void 0)return;let l=Number(r);if(isNaN(l)){let u=new j(`Element '${e}' ne sadr\u017Ei valjani broj: ${r}`,r);if(n.lenient){n.errors&&n.errors.push(u);return}else throw u}return l}function f(i,e,a,n){let r=i.get(e,a);if(!r)throw new j(`Element '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);return n(r)}function je(i,e,a,n){let r=i.get(e,a);if(r)return n(r)}function B(i,e,a,n){let r=i.find(e,a);if(!r||r.length===0)throw new j(`Element '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);return r.map(l=>n(l))}function P(i,e,a,n){let r=i.find(e,a);if(!(!r||r.length===0))return r.map(l=>n(l))}function pe(i,e,a,n){let r=`@${e}`,l=i.find(r,a);if(!l||l.length===0)return;let u=l[0].content;if(n&&!O[n].test(u))throw new j(`Atribut '${e}' ne zadovoljava regex ${O[n]}`,u);return u}function I(i,e,a,n){let r=`@${e}`,l=i.find(r,a);if(!l||l.length===0)throw new j(`Atribut '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);let u=l[0].content;if(n&&!O[n].test(u))throw new j(`Atribut '${e}' ne zadovoljava regex ${O[n]}`,u);return u}function d(i){return i?i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"):""}function x(i,e){if(!i)throw new Error("XML document is required for processing");typeof i=="string"?i=ve.fromString(i):i instanceof Uint8Array&&(i=ve.fromBuffer(i));try{return e(i)}finally{i.dispose()}}var t={soapenv:"http://schemas.xmlsoap.org/soap/envelope/",ds:"http://www.w3.org/2000/09/xmldsig#",efis:"http://www.porezna-uprava.gov.hr/fin/2024/types/eFiskalizacija",eizv:"http://www.porezna-uprava.gov.hr/fin/2024/types/eIzvjestavanje"},b=i=>{switch(i){case t.soapenv:return"soapenv";case t.ds:return"ds";case t.efis:return"efis";case t.eizv:return"eizv";default:throw new Error(`FISK_NS.getPrefix: Unknown namespace URI: ${i}`)}},o={invoice:"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2",creditnote:"urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2",cac:"urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",cbc:"urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",ext:"urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2",hrextac:"urn:hzn.hr:schema:xsd:HRExtensionAggregateComponents-1"};import{XmlDocument as se}from"libxml2-wasm";var C=class{constructor(e,a){this._prefix=a,this.ime=e.ime,this.oibPorezniBroj=e.oibPorezniBroj,this.oibOperatera=e.oibOperatera}toXmlString(){let e="";return e+=`<${this._prefix}:Izdavatelj>`,e+=`<${this._prefix}:ime>${d(this.ime)}</${this._prefix}:ime>`,e+=`<${this._prefix}:oibPorezniBroj>${d(this.oibPorezniBroj)}</${this._prefix}:oibPorezniBroj>`,e+=`<${this._prefix}:oibOperatera>${d(this.oibOperatera)}</${this._prefix}:oibOperatera>`,e+=`</${this._prefix}:Izdavatelj>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{ime:c(e,`${a}:ime`,t,{regexKey:"tekst500"}),oibPorezniBroj:c(e,`${a}:oibPorezniBroj`,t,{regexKey:"tekst20"}),oibOperatera:c(e,`${a}:oibOperatera`,t,{regexKey:"tekst20"})}}static fromUblElement(e,a){let n=e.get(k("BG-4",a),o);if(!n)throw new j(`Grupa 'BG-4' nije prona\u0111ena u dokumentu '${a}'`,void 0);return{ime:c(n,s("BT-27",a,"BG-4"),o,{regexKey:"tekst500"}),oibPorezniBroj:c(n,s("BT-31",a,"BG-4"),o,{regexKey:"tekst20"}),oibOperatera:c(n,s("HR-BT-5",a,"BG-4"),o,{regexKey:"tekst20"})}}},y=class{constructor(e,a){this._prefix=a,this.ime=e.ime,this.oibPorezniBroj=e.oibPorezniBroj}toXmlString(){let e="";return e+=`<${this._prefix}:Primatelj>`,e+=`<${this._prefix}:ime>${d(this.ime)}</${this._prefix}:ime>`,e+=`<${this._prefix}:oibPorezniBroj>${d(this.oibPorezniBroj)}</${this._prefix}:oibPorezniBroj>`,e+=`</${this._prefix}:Primatelj>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{ime:c(e,`${a}:ime`,t,{regexKey:"tekst500"}),oibPorezniBroj:c(e,`${a}:oibPorezniBroj`,t,{regexKey:"tekst20"})}}static fromUblElement(e,a){let n=e.get(k("BG-7",a),o);if(!n)throw new j(`Grupa 'BG-7' nije prona\u0111ena u dokumentu '${a}'`,void 0);return{ime:c(n,s("BT-44",a,"BG-7"),o,{regexKey:"tekst500"}),oibPorezniBroj:c(n,s("BT-48",a,"BG-7"),o,{regexKey:"tekst20"})}}},R=class{constructor(e,a){this._prefix=a,this.identifikatorRacunaZaPlacanje=e.identifikatorRacunaZaPlacanje,this.nazivRacunaZaPlacanje=e.nazivRacunaZaPlacanje,this.identifikatorPruzateljaPlatnihUsluga=e.identifikatorPruzateljaPlatnihUsluga}toXmlString(){let e="";return e+=`<${this._prefix}:PrijenosSredstava>`,e+=`<${this._prefix}:identifikatorRacunaZaPlacanje>${d(this.identifikatorRacunaZaPlacanje)}</${this._prefix}:identifikatorRacunaZaPlacanje>`,this.nazivRacunaZaPlacanje&&(e+=`<${this._prefix}:nazivRacunaZaPlacanje>${d(this.nazivRacunaZaPlacanje)}</${this._prefix}:nazivRacunaZaPlacanje>`),this.identifikatorPruzateljaPlatnihUsluga&&(e+=`<${this._prefix}:identifikatorPruzateljaPlatnihUsluga>${d(this.identifikatorPruzateljaPlatnihUsluga)}</${this._prefix}:identifikatorPruzateljaPlatnihUsluga>`),e+=`</${this._prefix}:PrijenosSredstava>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{identifikatorRacunaZaPlacanje:c(e,`${a}:identifikatorRacunaZaPlacanje`,t,{regexKey:"tekst34"}),nazivRacunaZaPlacanje:m(e,`${a}:nazivRacunaZaPlacanje`,t,{regexKey:"tekst35"}),identifikatorPruzateljaPlatnihUsluga:m(e,`${a}:identifikatorPruzateljaPlatnihUsluga`,t,{regexKey:"tekst25"})}}static fromUblElement(e,a){let n=e.find(k("BG-17",a),o);if(n.length!==0)return n.map(r=>({identifikatorRacunaZaPlacanje:c(r,s("BT-84",a,"BG-17"),o,{regexKey:"tekst34"}),nazivRacunaZaPlacanje:m(r,s("BT-85",a,"BG-17"),o,{regexKey:"tekst35"}),identifikatorPruzateljaPlatnihUsluga:m(r,s("BT-86",a,"BG-17"),o,{regexKey:"tekst25"})}))}},E=class{constructor(e,a){this._prefix=a,this.neto=e.neto,this.popust=e.popust,this.trosak=e.trosak,this.iznosBezPdv=e.iznosBezPdv,this.pdv=e.pdv,this.iznosSPdv=e.iznosSPdv,this.placeniIznos=e.placeniIznos,this.iznosKojiDospijevaZaPlacanje=e.iznosKojiDospijevaZaPlacanje}toXmlString(){let e="";return e+=`<${this._prefix}:DokumentUkupanIznos>`,e+=`<${this._prefix}:neto>${this.neto.toFixed(2)}</${this._prefix}:neto>`,this.popust!==void 0&&(e+=`<${this._prefix}:popust>${this.popust.toFixed(2)}</${this._prefix}:popust>`),this.trosak!==void 0&&(e+=`<${this._prefix}:trosak>${this.trosak.toFixed(2)}</${this._prefix}:trosak>`),e+=`<${this._prefix}:iznosBezPdv>${this.iznosBezPdv.toFixed(2)}</${this._prefix}:iznosBezPdv>`,e+=`<${this._prefix}:pdv>${this.pdv.toFixed(2)}</${this._prefix}:pdv>`,e+=`<${this._prefix}:iznosSPdv>${this.iznosSPdv.toFixed(2)}</${this._prefix}:iznosSPdv>`,this.placeniIznos!==void 0&&(e+=`<${this._prefix}:placeniIznos>${this.placeniIznos.toFixed(2)}</${this._prefix}:placeniIznos>`),e+=`<${this._prefix}:iznosKojiDospijevaZaPlacanje>${this.iznosKojiDospijevaZaPlacanje.toFixed(2)}</${this._prefix}:iznosKojiDospijevaZaPlacanje>`,e+=`</${this._prefix}:DokumentUkupanIznos>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{neto:v(e,`${a}:neto`,t,{regexKey:"decimal2"}),popust:g(e,`${a}:popust`,t,{regexKey:"decimal2"}),trosak:g(e,`${a}:trosak`,t,{regexKey:"decimal2"}),iznosBezPdv:v(e,`${a}:iznosBezPdv`,t,{regexKey:"decimal2"}),pdv:v(e,`${a}:pdv`,t,{regexKey:"decimal2"}),iznosSPdv:v(e,`${a}:iznosSPdv`,t,{regexKey:"decimal2"}),placeniIznos:g(e,`${a}:placeniIznos`,t,{regexKey:"decimal2"}),iznosKojiDospijevaZaPlacanje:v(e,`${a}:iznosKojiDospijevaZaPlacanje`,t,{regexKey:"decimal2"})}}static fromUblElement(e,a){return{neto:v(e,s("BT-106",a),o,{regexKey:"decimal2"}),popust:g(e,s("BT-107",a),o,{regexKey:"decimal2"}),trosak:g(e,s("BT-108",a),o,{regexKey:"decimal2"}),iznosBezPdv:v(e,s("BT-109",a),o,{regexKey:"decimal2"}),pdv:g(e,s("BT-110",a),o,{regexKey:"decimal2"})||0,iznosSPdv:v(e,s("BT-112",a),o,{regexKey:"decimal2"}),placeniIznos:g(e,s("BT-113",a),o,{regexKey:"decimal2"}),iznosKojiDospijevaZaPlacanje:v(e,s("BT-115",a),o,{regexKey:"decimal2"})}}},S=class{constructor(e,a){this._prefix=a,this.kategorijaPdv=e.kategorijaPdv,this.oporeziviIznos=e.oporeziviIznos,this.iznosPoreza=e.iznosPoreza,this.stopa=e.stopa,this.razlogOslobodenja=e.razlogOslobodenja,this.tekstRazlogaOslobodenja=e.tekstRazlogaOslobodenja,this.hrOznakaKategorijaPdv=e.hrOznakaKategorijaPdv}toXmlString(){let e="";return e+=`<${this._prefix}:RaspodjelaPdv>`,e+=`<${this._prefix}:kategorijaPdv>${d(this.kategorijaPdv)}</${this._prefix}:kategorijaPdv>`,e+=`<${this._prefix}:oporeziviIznos>${this.oporeziviIznos.toFixed(2)}</${this._prefix}:oporeziviIznos>`,e+=`<${this._prefix}:iznosPoreza>${this.iznosPoreza.toFixed(2)}</${this._prefix}:iznosPoreza>`,this.stopa!==void 0&&(e+=`<${this._prefix}:stopa>${this.stopa.toFixed(2)}</${this._prefix}:stopa>`),this.razlogOslobodenja!==void 0&&(e+=`<${this._prefix}:razlogOslobodenja>${d(this.razlogOslobodenja)}</${this._prefix}:razlogOslobodenja>`),this.tekstRazlogaOslobodenja!==void 0&&(e+=`<${this._prefix}:tekstRazlogaOslobodenja>${d(this.tekstRazlogaOslobodenja)}</${this._prefix}:tekstRazlogaOslobodenja>`),this.hrOznakaKategorijaPdv!==void 0&&(e+=`<${this._prefix}:hrOznakaKategorijaPdv>${d(this.hrOznakaKategorijaPdv)}</${this._prefix}:hrOznakaKategorijaPdv>`),e+=`</${this._prefix}:RaspodjelaPdv>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{kategorijaPdv:c(e,`${a}:kategorijaPdv`,t,{regexKey:"kategorijaPdv"}),oporeziviIznos:v(e,`${a}:oporeziviIznos`,t,{regexKey:"decimal2"}),iznosPoreza:v(e,`${a}:iznosPoreza`,t,{regexKey:"decimal2"}),stopa:g(e,`${a}:stopa`,t,{regexKey:"decimal"}),razlogOslobodenja:m(e,`${a}:razlogOslobodenja`,t,{regexKey:"izuzecePdv"}),tekstRazlogaOslobodenja:m(e,`${a}:tekstRazlogaOslobodenja`,t,{regexKey:"tekst1024"}),hrOznakaKategorijaPdv:m(e,`${a}:hrOznakaKategorijaPdv`,t,{regexKey:"hrKategorijaPdv"})}}static fromUblElement(e,a){let n=e.find(k("HR-BG-2",a),o);if(n.length>0)return n.map(l=>({kategorijaPdv:c(l,s("HR-BT-18",a,"HR-BG-2"),o,{regexKey:"kategorijaPdv"}),oporeziviIznos:v(l,s("HR-BT-16",a,"HR-BG-2"),o,{regexKey:"decimal2"}),iznosPoreza:v(l,s("HR-BT-17",a,"HR-BG-2"),o,{regexKey:"decimal2"}),stopa:g(l,s("HR-BT-19",a,"HR-BG-2"),o,{regexKey:"decimal"}),razlogOslobodenja:m(l,s("HR-BT-21",a,"HR-BG-2"),o,{regexKey:"izuzecePdv"}),tekstRazlogaOslobodenja:m(l,s("HR-BT-20",a,"HR-BG-2"),o,{regexKey:"tekst1024"}),hrOznakaKategorijaPdv:m(l,s("HR-BT-22",a,"HR-BG-2"),o,{regexKey:"hrKategorijaPdv"})}));let r=e.find(k("BG-23",a),o);if(r.length===0)throw new j(`Nije prona\u0111ena ni jedna grupa 'BG-23' u dokumentu '${a}'`,void 0);return r.map(l=>({kategorijaPdv:c(l,s("BT-118",a,"BG-23"),o,{regexKey:"kategorijaPdv"}),oporeziviIznos:v(l,s("BT-116",a,"BG-23"),o,{regexKey:"decimal2"}),iznosPoreza:v(l,s("BT-117",a,"BG-23"),o,{regexKey:"decimal2"}),stopa:g(l,s("BT-119",a,"BG-23"),o,{regexKey:"decimal"}),razlogOslobodenja:m(l,s("BT-121",a,"BG-23"),o,{regexKey:"izuzecePdv"}),tekstRazlogaOslobodenja:m(l,s("BT-120",a,"BG-23"),o,{regexKey:"tekst1024"}),hrOznakaKategorijaPdv:void 0}))}},N=class{constructor(e,a){this._prefix=a,this.identifikatorKlasifikacije=e.identifikatorKlasifikacije,this.identifikatorSheme=e.identifikatorSheme,this.verzijaSheme=e.verzijaSheme}toXmlString(){let e="";return e+=`<${this._prefix}:ArtiklIdentifikatorKlasifikacija>`,e+=`<${this._prefix}:identifikatorKlasifikacije>${d(this.identifikatorKlasifikacije)}</${this._prefix}:identifikatorKlasifikacije>`,e+=`<${this._prefix}:identifikatorSheme>${d(this.identifikatorSheme)}</${this._prefix}:identifikatorSheme>`,this.verzijaSheme!==void 0&&(e+=`<${this._prefix}:verzijaSheme>${d(this.verzijaSheme)}</${this._prefix}:verzijaSheme>`),e+=`</${this._prefix}:ArtiklIdentifikatorKlasifikacija>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{identifikatorKlasifikacije:c(e,`${a}:identifikatorKlasifikacije`,t,{regexKey:"tekst10"}),identifikatorSheme:c(e,`${a}:identifikatorSheme`,t,{regexKey:"klasifikacijaArtikla"}),verzijaSheme:m(e,`${a}:verzijaSheme`,t,{regexKey:"tekst10"})}}static fromUblElement(e,a){return{identifikatorKlasifikacije:c(e,".",o,{regexKey:"tekst10"}),identifikatorSheme:I(e,"listID",o),verzijaSheme:pe(e,"listVersionID",o)||void 0}}},z=class{constructor(e,a){this._prefix=a,this.idZahtjeva=e.idZahtjeva,this.prihvacenZahtjev=e.prihvacenZahtjev,e.greska&&(this.greska=new Y(e.greska,a))}toXmlString(){let e="";return e+=`<${this._prefix}:Odgovor>`,e+=`<${this._prefix}:idZahtjeva>${d(this.idZahtjeva)}</${this._prefix}:idZahtjeva>`,e+=`<${this._prefix}:prihvacenZahtjev>${this.prihvacenZahtjev}</${this._prefix}:prihvacenZahtjev>`,this.greska&&(e+=this.greska.toXmlString()),e+=`</${this._prefix}:Odgovor>`,e}static fromXmlElement(e,a){let{lenient:n=!1,errors:r}=a||{},l=b(e.namespaceUri);return{idZahtjeva:c(e,`${l}:idZahtjeva`,t,{regexKey:"uuid",lenient:n,errors:r}),prihvacenZahtjev:c(e,`${l}:prihvacenZahtjev`,t,{regexKey:"boolean",lenient:n,errors:r})==="true",greska:je(e,`${l}:greska`,t,u=>Y.fromXmlElement(u,a))}}},Y=class{constructor(e,a){this._prefix=a,this.sifra=e.sifra,this.redniBrojZapisa=e.redniBrojZapisa,this.opis=e.opis}toXmlString(){let e="";return e+=`<${this._prefix}:Greska>`,e+=`<${this._prefix}:sifra>${d(this.sifra)}</${this._prefix}:sifra>`,e+=`<${this._prefix}:redniBrojZapisa>${d(this.redniBrojZapisa)}</${this._prefix}:redniBrojZapisa>`,e+=`<${this._prefix}:opis>${d(this.opis)}</${this._prefix}:opis>`,e+=`</${this._prefix}:Greska>`,e}static fromXmlElement(e,a){let{lenient:n=!1,errors:r}=a||{},l=b(e.namespaceUri);return{sifra:c(e,`${l}:sifra`,t,{regexKey:"greska",lenient:n,errors:r}),redniBrojZapisa:c(e,`${l}:redniBrojZapisa`,t,{regexKey:"redniBroj",lenient:n,errors:r}),opis:c(e,`${l}:opis`,t,{regexKey:"tekst1024",lenient:n,errors:r})}}},D=class{constructor(e,a){this._prefix=a,this.iznosPopust=e.iznosPopust,this.kategorijaPdv=e.kategorijaPdv,this.stopaPdv=e.stopaPdv,this.tekstRazlogaPopusta=e.tekstRazlogaPopusta,this.razlogPopusta=e.razlogPopusta}toXmlString(){let e="";return e+=`<${this._prefix}:DokumentPopust>`,e+=`<${this._prefix}:iznosPopust>${this.iznosPopust.toFixed(2)}</${this._prefix}:iznosPopust>`,e+=`<${this._prefix}:kategorijaPdv>${d(this.kategorijaPdv)}</${this._prefix}:kategorijaPdv>`,this.stopaPdv!==void 0&&(e+=`<${this._prefix}:stopaPdv>${this.stopaPdv.toFixed(2)}</${this._prefix}:stopaPdv>`),this.tekstRazlogaPopusta!==void 0&&(e+=`<${this._prefix}:tekstRazlogaPopusta>${d(this.tekstRazlogaPopusta)}</${this._prefix}:tekstRazlogaPopusta>`),this.razlogPopusta!==void 0&&(e+=`<${this._prefix}:razlogPopusta>${d(this.razlogPopusta)}</${this._prefix}:razlogPopusta>`),e+=`</${this._prefix}:DokumentPopust>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{iznosPopust:v(e,`${a}:iznosPopust`,t,{regexKey:"decimal2"}),kategorijaPdv:c(e,`${a}:kategorijaPdv`,t,{regexKey:"kategorijaPdv"}),stopaPdv:g(e,`${a}:stopaPdv`,t,{regexKey:"decimal"}),tekstRazlogaPopusta:m(e,`${a}:tekstRazlogaPopusta`,t,{regexKey:"tekst1024"}),razlogPopusta:m(e,`${a}:razlogPopusta`,t,{regexKey:"razlogPopusta"})}}static fromUblElement(e,a){let n=e.find(k("BG-20",a),o);if(n.length!==0)return n.map(r=>({iznosPopust:v(r,s("BT-92",a,"BG-20"),o,{regexKey:"decimal2"}),kategorijaPdv:c(r,s("BT-95",a,"BG-20"),o,{regexKey:"kategorijaPdv"}),stopaPdv:g(r,s("BT-96",a,"BG-20"),o,{regexKey:"decimal"}),tekstRazlogaPopusta:m(r,s("BT-97",a,"BG-20"),o,{regexKey:"tekst1024"}),razlogPopusta:m(r,s("BT-98",a,"BG-20"),o,{regexKey:"razlogPopusta"})}))}},K=class{constructor(e,a){this._prefix=a,this.iznosTrosak=e.iznosTrosak,this.kategorijaPdv=e.kategorijaPdv,this.hrOznakaPorezneKategorije=e.hrOznakaPorezneKategorije,this.stopaPdv=e.stopaPdv,this.tekstRazlogaOslobodenjaPdv=e.tekstRazlogaOslobodenjaPdv,this.razlogOslobodenjaPdv=e.razlogOslobodenjaPdv}toXmlString(){let e="";return e+=`<${this._prefix}:DokumentTrosak>`,e+=`<${this._prefix}:iznosTrosak>${this.iznosTrosak.toFixed(2)}</${this._prefix}:iznosTrosak>`,e+=`<${this._prefix}:kategorijaPdv>${d(this.kategorijaPdv)}</${this._prefix}:kategorijaPdv>`,this.hrOznakaPorezneKategorije!==void 0&&(e+=`<${this._prefix}:hrOznakaPorezneKategorije>${d(this.hrOznakaPorezneKategorije)}</${this._prefix}:hrOznakaPorezneKategorije>`),this.stopaPdv!==void 0&&(e+=`<${this._prefix}:stopaPdv>${this.stopaPdv.toFixed(2)}</${this._prefix}:stopaPdv>`),this.tekstRazlogaOslobodenjaPdv!==void 0&&(e+=`<${this._prefix}:tekstRazlogaOslobodenjaPdv>${d(this.tekstRazlogaOslobodenjaPdv)}</${this._prefix}:tekstRazlogaOslobodenjaPdv>`),this.razlogOslobodenjaPdv!==void 0&&(e+=`<${this._prefix}:razlogOslobodenjaPdv>${d(this.razlogOslobodenjaPdv)}</${this._prefix}:razlogOslobodenjaPdv>`),e+=`</${this._prefix}:DokumentTrosak>`,e}static fromXmlElement(e){let a=b(e.namespaceUri);return{iznosTrosak:v(e,`${a}:iznosTrosak`,t,{regexKey:"decimal2"}),kategorijaPdv:c(e,`${a}:kategorijaPdv`,t,{regexKey:"kategorijaPdv"}),hrOznakaPorezneKategorije:m(e,`${a}:hrOznakaPorezneKategorije`,t,{regexKey:"hrKategorijaPdv"}),stopaPdv:g(e,`${a}:stopaPdv`,t,{regexKey:"decimal"}),tekstRazlogaOslobodenjaPdv:m(e,`${a}:tekstRazlogaOslobodenjaPdv`,t,{regexKey:"tekst1024"}),razlogOslobodenjaPdv:m(e,`${a}:razlogOslobodenjaPdv`,t,{regexKey:"izuzecePdv"})}}static fromUblElement(e,a){let n=e.find(k("BG-21",a),o);if(n.length!==0)return n.map(r=>({iznosTrosak:v(r,s("BT-99",a,"BG-21"),o,{regexKey:"decimal2"}),kategorijaPdv:c(r,s("BT-102",a,"BG-21"),o,{regexKey:"kategorijaPdv"}),hrOznakaPorezneKategorije:m(r,s("HR-BT-6",a,"BG-21"),o,{regexKey:"hrKategorijaPdv"}),stopaPdv:g(r,s("BT-103",a,"BG-21"),o,{regexKey:"decimal"}),tekstRazlogaOslobodenjaPdv:m(r,s("HR-BT-7",a,"BG-21"),o,{regexKey:"tekst1024"}),razlogOslobodenjaPdv:m(r,s("HR-BT-8",a,"BG-21"),o,{regexKey:"izuzecePdv"})}))}};var U=class i{constructor(e){this._id=e._id,this.Zaglavlje=new ee(e.Zaglavlje),this.ERacun=e.ERacun.map(a=>new w(a))}static fromXml(e){if(typeof e=="string")return x(se.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return x(se.fromBuffer(e),a=>i.fromXml(a));if(e instanceof se)return i.fromXml(e.root);{let a=e;if(a.name==="Envelope"&&a.namespaceUri===t.soapenv){let n=a.get("/soapenv:Envelope/soapenv:Body/efis:EvidentirajERacunZahtjev",t);if(!n)throw new j("Expected 'EvidentirajERacunZahtjev' element in SOAP body",e);a=n}if(a.name!=="EvidentirajERacunZahtjev"||a.namespaceUri!==t.efis)throw new j(`Expected 'EvidentirajERacunZahtjev' element with namespace '${t.efis}'`,e);return i.fromXmlElement(a)}}static fromXmlElement(e){return{_id:I(e,"efis:id",t),Zaglavlje:f(e,"efis:Zaglavlje",t,ee.fromXmlElement),ERacun:B(e,"efis:ERacun",t,w.fromXmlElement)}}toXmlString(){let e="";return e+=`<efis:EvidentirajERacunZahtjev xmlns:ds="${t.ds}" xmlns:efis="${t.efis}" efis:id="${d(this._id)}">`,e+=this.Zaglavlje.toXmlString(),this.ERacun.forEach(a=>e+=a.toXmlString()),e+="</efis:EvidentirajERacunZahtjev>",e}},ee=class{constructor(e){this.datumVrijemeSlanja=e.datumVrijemeSlanja,this.vrstaERacuna=e.vrstaERacuna}toXmlString(){let e="";return e+="<efis:Zaglavlje>",e+=`<efis:datumVrijemeSlanja>${d(this.datumVrijemeSlanja)}</efis:datumVrijemeSlanja>`,e+=`<efis:vrstaERacuna>${d(this.vrstaERacuna)}</efis:vrstaERacuna>`,e+="</efis:Zaglavlje>",e}static fromXmlElement(e){return{datumVrijemeSlanja:c(e,"efis:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci"}),vrstaERacuna:c(e,"efis:vrstaERacuna",t,{regexKey:"vrstaERacuna"})}}},w=class{constructor(e){this.brojDokumenta=e.brojDokumenta,this.datumIzdavanja=e.datumIzdavanja,this.vrstaDokumenta=e.vrstaDokumenta,this.valutaERacuna=e.valutaERacuna,this.datumDospijecaPlacanja=e.datumDospijecaPlacanja,this.vrstaPoslovnogProcesa=e.vrstaPoslovnogProcesa,this.referencaNaUgovor=e.referencaNaUgovor,this.datumIsporuke=e.datumIsporuke,this.PrethodniERacun=e.PrethodniERacun?.map(a=>new G(a)),this.Izdavatelj=new C(e.Izdavatelj,"efis"),this.Primatelj=new y(e.Primatelj,"efis"),this.PrijenosSredstava=e.PrijenosSredstava?.map(a=>new R(a,"efis")),this.DokumentUkupanIznos=new E(e.DokumentUkupanIznos,"efis"),this.RaspodjelaPdv=e.RaspodjelaPdv.map(a=>new S(a,"efis")),this.DokumentPopust=e.DokumentPopust?.map(a=>new D(a,"efis")),this.DokumentTrosak=e.DokumentTrosak?.map(a=>new K(a,"efis")),this.StavkaERacuna=e.StavkaERacuna.map(a=>new _(a)),this.indikatorKopije=e.indikatorKopije}toXmlString(){let e="";return e+="<efis:ERacun>",e+="<efis:brojDokumenta>"+d(this.brojDokumenta)+"</efis:brojDokumenta>",e+="<efis:datumIzdavanja>"+d(this.datumIzdavanja)+"</efis:datumIzdavanja>",e+="<efis:vrstaDokumenta>"+d(this.vrstaDokumenta)+"</efis:vrstaDokumenta>",e+="<efis:valutaERacuna>"+d(this.valutaERacuna)+"</efis:valutaERacuna>",this.datumDospijecaPlacanja&&(e+="<efis:datumDospijecaPlacanja>"+d(this.datumDospijecaPlacanja)+"</efis:datumDospijecaPlacanja>"),e+="<efis:vrstaPoslovnogProcesa>"+d(this.vrstaPoslovnogProcesa)+"</efis:vrstaPoslovnogProcesa>",this.referencaNaUgovor&&(e+="<efis:referencaNaUgovor>"+d(this.referencaNaUgovor)+"</efis:referencaNaUgovor>"),this.datumIsporuke&&(e+="<efis:datumIsporuke>"+d(this.datumIsporuke)+"</efis:datumIsporuke>"),this.PrethodniERacun&&this.PrethodniERacun.forEach(a=>e+=a.toXmlString()),e+=this.Izdavatelj.toXmlString(),e+=this.Primatelj.toXmlString(),this.PrijenosSredstava&&this.PrijenosSredstava.forEach(a=>e+=a.toXmlString()),e+=this.DokumentUkupanIznos.toXmlString(),this.RaspodjelaPdv.forEach(a=>e+=a.toXmlString()),this.DokumentPopust&&this.DokumentPopust.forEach(a=>e+=a.toXmlString()),this.DokumentTrosak&&this.DokumentTrosak.forEach(a=>e+=a.toXmlString()),this.StavkaERacuna.forEach(a=>e+=a.toXmlString()),e+=`<efis:indikatorKopije>${d(String(this.indikatorKopije))}</efis:indikatorKopije>`,e+="</efis:ERacun>",e}static fromXmlElement(e){return{brojDokumenta:c(e,"efis:brojDokumenta",t,{regexKey:"tekst100"}),datumIzdavanja:c(e,"efis:datumIzdavanja",t,{regexKey:"datum"}),vrstaDokumenta:c(e,"efis:vrstaDokumenta",t,{regexKey:"vrstaDokumenta"}),valutaERacuna:c(e,"efis:valutaERacuna",t,{regexKey:"valuta"}),datumDospijecaPlacanja:m(e,"efis:datumDospijecaPlacanja",t,{regexKey:"datum"}),vrstaPoslovnogProcesa:c(e,"efis:vrstaPoslovnogProcesa",t,{regexKey:"tekst100"}),referencaNaUgovor:m(e,"efis:referencaNaUgovor",t,{regexKey:"tekst100"}),datumIsporuke:m(e,"efis:datumIsporuke",t,{regexKey:"datum"}),PrethodniERacun:P(e,"efis:PrethodniERacun",t,G.fromXmlElement),Izdavatelj:f(e,"efis:Izdavatelj",t,C.fromXmlElement),Primatelj:f(e,"efis:Primatelj",t,y.fromXmlElement),PrijenosSredstava:P(e,"efis:PrijenosSredstava",t,R.fromXmlElement),DokumentUkupanIznos:f(e,"efis:DokumentUkupanIznos",t,E.fromXmlElement),RaspodjelaPdv:B(e,"efis:RaspodjelaPdv",t,S.fromXmlElement),DokumentPopust:P(e,"efis:DokumentPopust",t,D.fromXmlElement),DokumentTrosak:P(e,"efis:DokumentTrosak",t,K.fromXmlElement),StavkaERacuna:B(e,"efis:StavkaERacuna",t,_.fromXmlElement),indikatorKopije:c(e,"efis:indikatorKopije",t,{regexKey:"boolean"})==="true"}}static fromUblElement(e,a){return{brojDokumenta:c(e,s("BT-1",a),o,{regexKey:"tekst100"}),datumIzdavanja:c(e,s("BT-2",a),o,{regexKey:"datum"}),vrstaDokumenta:c(e,s("BT-3",a),o,{regexKey:"vrstaDokumenta"}),valutaERacuna:c(e,s("BT-5",a),o,{regexKey:"valuta"}),datumDospijecaPlacanja:m(e,s("BT-9",a),o,{regexKey:"datum"}),vrstaPoslovnogProcesa:c(e,s("BT-23",a),o,{regexKey:"tekst100"}),referencaNaUgovor:m(e,s("BT-12",a),o,{regexKey:"tekst100"}),datumIsporuke:m(e,s("BT-72",a),o,{regexKey:"datum"}),PrethodniERacun:G.fromUblElement(e,a),Izdavatelj:C.fromUblElement(e,a),Primatelj:y.fromUblElement(e,a),PrijenosSredstava:R.fromUblElement(e,a),DokumentUkupanIznos:E.fromUblElement(e,a),RaspodjelaPdv:S.fromUblElement(e,a),DokumentPopust:D.fromUblElement(e,a),DokumentTrosak:K.fromUblElement(e,a),StavkaERacuna:_.fromUblElement(e,a),indikatorKopije:m(e,s("HR-BT-1",a),o,{regexKey:"boolean"})==="true"}}},G=class{constructor(e){this.brojDokumenta=e.brojDokumenta,this.datumIzdavanja=e.datumIzdavanja}toXmlString(){let e="";return e+="<efis:PrethodniERacun>",e+=`<efis:brojDokumenta>${d(this.brojDokumenta)}</efis:brojDokumenta>`,e+=`<efis:datumIzdavanja>${d(this.datumIzdavanja)}</efis:datumIzdavanja>`,e+="</efis:PrethodniERacun>",e}static fromXmlElement(e){return{brojDokumenta:c(e,"efis:brojDokumenta",t,{regexKey:"tekst100"}),datumIzdavanja:c(e,"efis:datumIzdavanja",t,{regexKey:"datum"})}}static fromUblElement(e,a){let n=e.find(k("BG-3",a),o);if(n.length!==0)return n.map(r=>({brojDokumenta:c(r,s("BT-25",a,"BG-3"),o,{regexKey:"tekst100"}),datumIzdavanja:c(r,s("BT-26",a,"BG-3"),o,{regexKey:"datum"})}))}},_=class{constructor(e){this.kolicina=e.kolicina,this.jedinicaMjere=e.jedinicaMjere,this.neto=e.neto,this.artiklNetoCijena=e.artiklNetoCijena,this.artiklBrutoCijena=e.artiklBrutoCijena,this.artiklOsnovnaKolicina=e.artiklOsnovnaKolicina,this.artiklJedinicaMjereZaOsnovnuKolicinu=e.artiklJedinicaMjereZaOsnovnuKolicinu,this.artiklKategorijaPdv=e.artiklKategorijaPdv,this.artiklStopaPdv=e.artiklStopaPdv,this.artiklNaziv=e.artiklNaziv,this.artiklOpis=e.artiklOpis,this.artiklHrOznakaKategorijaPdv=e.artiklHrOznakaKategorijaPdv,this.ArtiklIdentifikatorKlasifikacija=e.ArtiklIdentifikatorKlasifikacija?.map(a=>new N(a,"efis"))}toXmlString(){let e="";return e+="<efis:StavkaERacuna>",e+=`<efis:kolicina>${this.kolicina.toFixed(2)}</efis:kolicina>`,e+=`<efis:jedinicaMjere>${d(this.jedinicaMjere)}</efis:jedinicaMjere>`,e+=`<efis:neto>${this.neto.toFixed(2)}</efis:neto>`,e+=`<efis:artiklNetoCijena>${this.artiklNetoCijena.toFixed(2)}</efis:artiklNetoCijena>`,this.artiklBrutoCijena!==void 0&&(e+=`<efis:artiklBrutoCijena>${this.artiklBrutoCijena.toFixed(2)}</efis:artiklBrutoCijena>`),this.artiklOsnovnaKolicina!==void 0&&(e+=`<efis:artiklOsnovnaKolicina>${this.artiklOsnovnaKolicina.toFixed(2)}</efis:artiklOsnovnaKolicina>`),this.artiklJedinicaMjereZaOsnovnuKolicinu!==void 0&&(e+=`<efis:artiklJedinicaMjereZaOsnovnuKolicinu>${d(this.artiklJedinicaMjereZaOsnovnuKolicinu)}</efis:artiklJedinicaMjereZaOsnovnuKolicinu>`),e+=`<efis:artiklKategorijaPdv>${d(this.artiklKategorijaPdv)}</efis:artiklKategorijaPdv>`,e+=`<efis:artiklStopaPdv>${this.artiklStopaPdv.toFixed(2)}</efis:artiklStopaPdv>`,e+=`<efis:artiklNaziv>${d(this.artiklNaziv)}</efis:artiklNaziv>`,this.artiklOpis!==void 0&&(e+=`<efis:artiklOpis>${d(this.artiklOpis)}</efis:artiklOpis>`),this.artiklHrOznakaKategorijaPdv!==void 0&&(e+=`<efis:artiklHrOznakaKategorijaPdv>${d(this.artiklHrOznakaKategorijaPdv)}</efis:artiklHrOznakaKategorijaPdv>`),this.ArtiklIdentifikatorKlasifikacija&&this.ArtiklIdentifikatorKlasifikacija.forEach(a=>e+=a.toXmlString()),e+="</efis:StavkaERacuna>",e}static fromXmlElement(e){return{kolicina:v(e,"efis:kolicina",t,{regexKey:"decimal"}),jedinicaMjere:c(e,"efis:jedinicaMjere",t,{regexKey:"jedinicaMjere"}),neto:v(e,"efis:neto",t,{regexKey:"decimal2"}),artiklNetoCijena:v(e,"efis:artiklNetoCijena",t,{regexKey:"decimal"}),artiklBrutoCijena:g(e,"efis:artiklBrutoCijena",t,{regexKey:"decimal2"}),artiklOsnovnaKolicina:g(e,"efis:artiklOsnovnaKolicina",t,{regexKey:"decimal"}),artiklJedinicaMjereZaOsnovnuKolicinu:m(e,"efis:artiklJedinicaMjereZaOsnovnuKolicinu",t,{regexKey:"jedinicaMjere"}),artiklKategorijaPdv:c(e,"efis:artiklKategorijaPdv",t,{regexKey:"kategorijaPdv"}),artiklStopaPdv:v(e,"efis:artiklStopaPdv",t,{regexKey:"decimal"}),artiklNaziv:c(e,"efis:artiklNaziv",t,{regexKey:"tekst100"}),artiklOpis:m(e,"efis:artiklOpis",t,{regexKey:"tekst1024"}),artiklHrOznakaKategorijaPdv:m(e,"efis:artiklHrOznakaKategorijaPdv",t,{regexKey:"hrKategorijaPdv"}),ArtiklIdentifikatorKlasifikacija:P(e,"efis:ArtiklIdentifikatorKlasifikacija",t,N.fromXmlElement)}}static fromUblElement(e,a){let n=e.find(k("BG-25",a),o);if(n.length===0)throw new j(`Nije prona\u0111ena ni jedna grupa 'BG-25' u dokumentu '${a}'`,void 0);return n.map(r=>({kolicina:v(r,s("BT-129",a,"BG-25"),o,{regexKey:"decimal"}),jedinicaMjere:c(r,s("BT-130",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),neto:v(r,s("BT-131",a,"BG-25"),o,{regexKey:"decimal2"}),artiklNetoCijena:v(r,s("BT-146",a,"BG-25"),o,{regexKey:"decimal"}),artiklBrutoCijena:g(r,s("BT-148",a,"BG-25"),o,{regexKey:"decimal2"}),artiklOsnovnaKolicina:g(r,s("BT-149",a,"BG-25"),o,{regexKey:"decimal"}),artiklJedinicaMjereZaOsnovnuKolicinu:m(r,s("BT-150",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),artiklKategorijaPdv:c(r,s("BT-151",a,"BG-25"),o,{regexKey:"kategorijaPdv"}),artiklStopaPdv:v(r,s("BT-152",a,"BG-25"),o,{regexKey:"decimal"}),artiklNaziv:c(r,s("BT-153",a,"BG-25"),o,{regexKey:"tekst100"}),artiklOpis:m(r,s("BT-154",a,"BG-25"),o,{regexKey:"tekst1024"}),artiklHrOznakaKategorijaPdv:m(r,s("HR-BT-12",a,"BG-25"),o,{regexKey:"hrKategorijaPdv"}),ArtiklIdentifikatorKlasifikacija:P(r,s("BT-158",a,"BG-25"),o,l=>N.fromUblElement(l,a))}))}},ae=class{constructor(e){this._id=e._id,this.datumVrijemeSlanja=e.datumVrijemeSlanja,this.Odgovor=new z(e.Odgovor,"efis")}static fromXmlElement(e,a){let{lenient:n=!1,errors:r}=a||{};return{_id:I(e,"efis:id",t),datumVrijemeSlanja:c(e,"efis:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:n,errors:r}),Odgovor:f(e,"efis:Odgovor",t,l=>z.fromXmlElement(l,a))}}toXmlString(){throw new Error("Method not implemented.")}};import{XmlDocument as $}from"libxml2-wasm";var F=class i{constructor(e){this._id=e._id,this.Zaglavlje=new H(e.Zaglavlje),this.Naplata=e.Naplata.map(a=>new ie(a))}toXmlString(){let e="";return e+=`<eizv:EvidentirajNaplatuZahtjev xmlns:eizv="${t.eizv}" eizv:id="${d(this._id)}">`,e+=this.Zaglavlje.toXmlString(),this.Naplata.forEach(a=>e+=a.toXmlString()),e+="</eizv:EvidentirajNaplatuZahtjev>",e}static fromXml(e){if(typeof e=="string")return x($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return x($.fromBuffer(e),a=>i.fromXml(a));if(e instanceof $)return i.fromXml(e.root);{let a=e;if(a.name==="Envelope"&&a.namespaceUri===t.soapenv){let n=a.get("/soapenv:Envelope/soapenv:Body/eizv:EvidentirajNaplatuZahtjev",t);if(!n)throw new j("Expected 'EvidentirajNaplatuZahtjev' element in SOAP body",e);a=n}if(a.name!=="EvidentirajNaplatuZahtjev"||a.namespaceUri!==t.eizv)throw new j(`Expected 'EvidentirajNaplatuZahtjev' element with namespace '${t.eizv}'`,e);return i.fromXmlElement(a)}}static fromXmlElement(e){return{_id:I(e,"eizv:id",t),Zaglavlje:f(e,"eizv:Zaglavlje",t,H.fromXmlElement),Naplata:B(e,"eizv:Naplata",t,ie.fromXmlElement)}}},q=class i{constructor(e){this.Odbijanje=e.Odbijanje.map(a=>new ne(a)),this.Zaglavlje=new H(e.Zaglavlje),this._id=e._id}toXmlString(){let e="";return e+=`<eizv:EvidentirajOdbijanjeZahtjev xmlns:eizv="${t.eizv}" eizv:id="${d(this._id)}">`,e+=this.Zaglavlje.toXmlString(),this.Odbijanje.forEach(a=>e+=a.toXmlString()),e+="</eizv:EvidentirajOdbijanjeZahtjev>",e}static fromXml(e){if(typeof e=="string")return x($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return x($.fromBuffer(e),a=>i.fromXml(a));if(e instanceof $)return i.fromXml(e.root);{let a=e;if(a.name==="Envelope"&&a.namespaceUri===t.soapenv){let n=a.get("/soapenv:Envelope/soapenv:Body/eizv:EvidentirajOdbijanjeZahtjev",t);if(!n)throw new j("Expected 'EvidentirajOdbijanjeZahtjev' element in SOAP body",e);a=n}if(a.name!=="EvidentirajOdbijanjeZahtjev"||a.namespaceUri!==t.eizv)throw new j(`Expected 'EvidentirajOdbijanjeZahtjev' element with namespace '${t.eizv}'`,e);return i.fromXmlElement(a)}}static fromXmlElement(e){return{_id:I(e,"eizv:id",t),Zaglavlje:f(e,"eizv:Zaglavlje",t,H.fromXmlElement),Odbijanje:B(e,"eizv:Odbijanje",t,ne.fromXmlElement)}}},J=class i{constructor(e){this._id=e._id,this.Zaglavlje=new te(e.Zaglavlje),this.Racun=e.Racun.map(a=>new Z(a))}toXmlString(){let e="";return e+=`<eizv:EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev xmlns:eizv="${t.eizv}" eizv:id="${d(this._id)}">`,e+=this.Zaglavlje.toXmlString(),this.Racun.forEach(a=>e+=a.toXmlString()),e+="</eizv:EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev>",e}static fromXml(e){if(typeof e=="string")return x($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return x($.fromBuffer(e),a=>i.fromXml(a));if(e instanceof $)return i.fromXml(e.root);{let a=e;if(a.name!=="EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev"||a.namespaceUri!==t.eizv)throw new j(`Expected 'EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev' element with namespace '${t.eizv}'`,JSON.stringify({name:a.name,namespaceUri:a.namespaceUri}));return i.fromXmlElement(a)}}static fromXmlElement(e){return{_id:I(e,"eizv:id",t),Zaglavlje:f(e,"eizv:Zaglavlje",t,te.fromXmlElement),Racun:B(e,"eizv:Racun",t,Z.fromXmlElement)}}},H=class{constructor(e){this.datumVrijemeSlanja=e.datumVrijemeSlanja}toXmlString(){let e="";return e+="<eizv:Zaglavlje>",e+=`<eizv:datumVrijemeSlanja>${d(this.datumVrijemeSlanja)}</eizv:datumVrijemeSlanja>`,e+="</eizv:Zaglavlje>",e}static fromXmlElement(e){return{datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci"})}}},te=class{constructor(e){this.datumVrijemeSlanja=e.datumVrijemeSlanja,this.vrstaRacuna=e.vrstaRacuna}toXmlString(){let e="";return e+="<eizv:Zaglavlje>",e+=`<eizv:datumVrijemeSlanja>${d(this.datumVrijemeSlanja)}</eizv:datumVrijemeSlanja>`,e+=`<eizv:vrstaRacuna>${d(this.vrstaRacuna)}</eizv:vrstaRacuna>`,e+="</eizv:Zaglavlje>",e}static fromXmlElement(e){return{datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci"}),vrstaRacuna:c(e,"eizv:vrstaRacuna",t,{regexKey:"vrstaERacuna"})}}},ie=class{constructor(e){this.brojDokumenta=e.brojDokumenta,this.datumIzdavanja=e.datumIzdavanja,this.oibPorezniBrojIzdavatelja=e.oibPorezniBrojIzdavatelja,this.oibPorezniBrojPrimatelja=e.oibPorezniBrojPrimatelja,this.datumNaplate=e.datumNaplate,this.naplaceniIznos=e.naplaceniIznos,this.nacinPlacanja=e.nacinPlacanja}toXmlString(){let e="";return e+="<eizv:Naplata>",e+=`<eizv:brojDokumenta>${d(this.brojDokumenta)}</eizv:brojDokumenta>`,e+=`<eizv:datumIzdavanja>${d(this.datumIzdavanja)}</eizv:datumIzdavanja>`,e+=`<eizv:oibPorezniBrojIzdavatelja>${d(this.oibPorezniBrojIzdavatelja)}</eizv:oibPorezniBrojIzdavatelja>`,e+=`<eizv:oibPorezniBrojPrimatelja>${d(this.oibPorezniBrojPrimatelja)}</eizv:oibPorezniBrojPrimatelja>`,e+=`<eizv:datumNaplate>${d(this.datumNaplate)}</eizv:datumNaplate>`,e+=`<eizv:naplaceniIznos>${this.naplaceniIznos.toFixed(2)}</eizv:naplaceniIznos>`,e+=`<eizv:nacinPlacanja>${d(this.nacinPlacanja)}</eizv:nacinPlacanja>`,e+="</eizv:Naplata>",e}static fromXmlElement(e){return{brojDokumenta:c(e,"eizv:brojDokumenta",t,{regexKey:"tekst100"}),datumIzdavanja:c(e,"eizv:datumIzdavanja",t,{regexKey:"datum"}),oibPorezniBrojIzdavatelja:c(e,"eizv:oibPorezniBrojIzdavatelja",t,{regexKey:"tekst20"}),oibPorezniBrojPrimatelja:c(e,"eizv:oibPorezniBrojPrimatelja",t,{regexKey:"tekst20"}),datumNaplate:c(e,"eizv:datumNaplate",t,{regexKey:"datum"}),naplaceniIznos:v(e,"eizv:naplaceniIznos",t,{regexKey:"decimal2"}),nacinPlacanja:c(e,"eizv:nacinPlacanja",t,{regexKey:"nacinPlacanja"})}}},ne=class{constructor(e){this.brojDokumenta=e.brojDokumenta,this.datumIzdavanja=e.datumIzdavanja,this.oibPorezniBrojIzdavatelja=e.oibPorezniBrojIzdavatelja,this.oibPorezniBrojPrimatelja=e.oibPorezniBrojPrimatelja,this.datumOdbijanja=e.datumOdbijanja,this.vrstaRazlogaOdbijanja=e.vrstaRazlogaOdbijanja,this.razlogOdbijanja=e.razlogOdbijanja}toXmlString(){let e="";return e+="<eizv:Odbijanje>",e+=`<eizv:brojDokumenta>${d(this.brojDokumenta)}</eizv:brojDokumenta>`,e+=`<eizv:datumIzdavanja>${d(this.datumIzdavanja)}</eizv:datumIzdavanja>`,e+=`<eizv:oibPorezniBrojIzdavatelja>${d(this.oibPorezniBrojIzdavatelja)}</eizv:oibPorezniBrojIzdavatelja>`,e+=`<eizv:oibPorezniBrojPrimatelja>${d(this.oibPorezniBrojPrimatelja)}</eizv:oibPorezniBrojPrimatelja>`,e+=`<eizv:datumOdbijanja>${d(this.datumOdbijanja)}</eizv:datumOdbijanja>`,e+=`<eizv:vrstaRazlogaOdbijanja>${d(this.vrstaRazlogaOdbijanja)}</eizv:vrstaRazlogaOdbijanja>`,e+=`<eizv:razlogOdbijanja>${d(this.razlogOdbijanja)}</eizv:razlogOdbijanja>`,e+="</eizv:Odbijanje>",e}static fromXmlElement(e){return{brojDokumenta:c(e,"eizv:brojDokumenta",t,{regexKey:"tekst100"}),datumIzdavanja:c(e,"eizv:datumIzdavanja",t,{regexKey:"datum"}),oibPorezniBrojIzdavatelja:c(e,"eizv:oibPorezniBrojIzdavatelja",t,{regexKey:"tekst20"}),oibPorezniBrojPrimatelja:c(e,"eizv:oibPorezniBrojPrimatelja",t,{regexKey:"tekst20"}),datumOdbijanja:c(e,"eizv:datumOdbijanja",t,{regexKey:"datum"}),vrstaRazlogaOdbijanja:c(e,"eizv:vrstaRazlogaOdbijanja",t,{regexKey:"razlogOdbijanja"}),razlogOdbijanja:c(e,"eizv:razlogOdbijanja",t,{regexKey:"tekst1024"})}}},V=class{constructor(e){this.brojDokumenta=e.brojDokumenta,this.datumIzdavanja=e.datumIzdavanja}toXmlString(){let e="";return e+="<eizv:PrethodniRacun>",e+=`<eizv:brojDokumenta>${d(this.brojDokumenta)}</eizv:brojDokumenta>`,e+=`<eizv:datumIzdavanja>${d(this.datumIzdavanja)}</eizv:datumIzdavanja>`,e+="</eizv:PrethodniRacun>",e}static fromXmlElement(e){return{brojDokumenta:c(e,"eizv:brojDokumenta",t,{regexKey:"tekst100"}),datumIzdavanja:c(e,"eizv:datumIzdavanja",t,{regexKey:"datum"})}}static fromUblElement(e,a){let n=e.find(k("BG-3",a),o);if(n.length!==0)return n.map(r=>({brojDokumenta:c(r,s("BT-25",a,"BG-3"),o,{regexKey:"tekst100"}),datumIzdavanja:c(r,s("BT-26",a,"BG-3"),o,{regexKey:"datum"})}))}},M=class{constructor(e){this.kolicina=e.kolicina,this.jedinicaMjere=e.jedinicaMjere,this.neto=e.neto,this.artiklNetoCijena=e.artiklNetoCijena,this.artiklBrutoCijena=e.artiklBrutoCijena,this.artiklOsnovnaKolicina=e.artiklOsnovnaKolicina,this.artiklJedinicaMjereZaOsnovnuKolicinu=e.artiklJedinicaMjereZaOsnovnuKolicinu,this.artiklKategorijaPdv=e.artiklKategorijaPdv,this.artiklStopaPdv=e.artiklStopaPdv,this.artiklNaziv=e.artiklNaziv,this.artiklOpis=e.artiklOpis,this.artiklHrOznakaKategorijaPdv=e.artiklHrOznakaKategorijaPdv,this.ArtiklIdentifikatorKlasifikacija=e.ArtiklIdentifikatorKlasifikacija?.map(a=>new N(a,"eizv"))}toXmlString(){let e="";return e+="<eizv:StavkaRacuna>",e+=`<eizv:kolicina>${this.kolicina.toFixed(2)}</eizv:kolicina>`,e+=`<eizv:jedinicaMjere>${d(this.jedinicaMjere)}</eizv:jedinicaMjere>`,e+=`<eizv:neto>${this.neto.toFixed(2)}</eizv:neto>`,e+=`<eizv:artiklNetoCijena>${this.artiklNetoCijena.toFixed(2)}</eizv:artiklNetoCijena>`,this.artiklBrutoCijena!==void 0&&(e+=`<eizv:artiklBrutoCijena>${this.artiklBrutoCijena.toFixed(2)}</eizv:artiklBrutoCijena>`),this.artiklOsnovnaKolicina!==void 0&&(e+=`<eizv:artiklOsnovnaKolicina>${this.artiklOsnovnaKolicina.toFixed(2)}</eizv:artiklOsnovnaKolicina>`),this.artiklJedinicaMjereZaOsnovnuKolicinu!==void 0&&(e+=`<eizv:artiklJedinicaMjereZaOsnovnuKolicinu>${d(this.artiklJedinicaMjereZaOsnovnuKolicinu)}</eizv:artiklJedinicaMjereZaOsnovnuKolicinu>`),e+=`<eizv:artiklKategorijaPdv>${d(this.artiklKategorijaPdv)}</eizv:artiklKategorijaPdv>`,e+=`<eizv:artiklStopaPdv>${this.artiklStopaPdv.toFixed(2)}</eizv:artiklStopaPdv>`,e+=`<eizv:artiklNaziv>${d(this.artiklNaziv)}</eizv:artiklNaziv>`,this.artiklOpis!==void 0&&(e+=`<eizv:artiklOpis>${d(this.artiklOpis)}</eizv:artiklOpis>`),this.artiklHrOznakaKategorijaPdv!==void 0&&(e+=`<eizv:artiklHrOznakaKategorijaPdv>${d(this.artiklHrOznakaKategorijaPdv)}</eizv:artiklHrOznakaKategorijaPdv>`),this.ArtiklIdentifikatorKlasifikacija&&this.ArtiklIdentifikatorKlasifikacija.forEach(a=>e+=a.toXmlString()),e+="</eizv:StavkaRacuna>",e}static fromXmlElement(e){return{kolicina:v(e,"eizv:kolicina",t,{regexKey:"decimal"}),jedinicaMjere:c(e,"eizv:jedinicaMjere",t,{regexKey:"jedinicaMjere"}),neto:v(e,"eizv:neto",t,{regexKey:"decimal2"}),artiklNetoCijena:v(e,"eizv:artiklNetoCijena",t,{regexKey:"decimal"}),artiklBrutoCijena:g(e,"eizv:artiklBrutoCijena",t,{regexKey:"decimal2"}),artiklOsnovnaKolicina:g(e,"eizv:artiklOsnovnaKolicina",t,{regexKey:"decimal"}),artiklJedinicaMjereZaOsnovnuKolicinu:m(e,"eizv:artiklJedinicaMjereZaOsnovnuKolicinu",t,{regexKey:"jedinicaMjere"}),artiklKategorijaPdv:c(e,"eizv:artiklKategorijaPdv",t,{regexKey:"kategorijaPdv"}),artiklStopaPdv:v(e,"eizv:artiklStopaPdv",t,{regexKey:"decimal"}),artiklNaziv:c(e,"eizv:artiklNaziv",t,{regexKey:"tekst100"}),artiklOpis:m(e,"eizv:artiklOpis",t,{regexKey:"tekst1024"}),artiklHrOznakaKategorijaPdv:m(e,"eizv:artiklHrOznakaKategorijaPdv",t,{regexKey:"hrKategorijaPdv"}),ArtiklIdentifikatorKlasifikacija:P(e,"eizv:ArtiklIdentifikatorKlasifikacija",t,N.fromXmlElement)}}static fromUblElement(e,a){let n=e.find(k("BG-25",a),o);if(n.length===0)throw new j(`Nije prona\u0111ena ni jedna grupa 'BG-25' u dokumentu '${a}'`,void 0);return n.map(r=>({kolicina:v(r,s("BT-129",a,"BG-25"),o,{regexKey:"decimal"}),jedinicaMjere:c(r,s("BT-130",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),neto:v(r,s("BT-131",a,"BG-25"),o,{regexKey:"decimal2"}),artiklNetoCijena:v(r,s("BT-146",a,"BG-25"),o,{regexKey:"decimal"}),artiklBrutoCijena:g(r,s("BT-148",a,"BG-25"),o,{regexKey:"decimal2"}),artiklOsnovnaKolicina:g(r,s("BT-149",a,"BG-25"),o,{regexKey:"decimal"}),artiklJedinicaMjereZaOsnovnuKolicinu:m(r,s("BT-150",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),artiklKategorijaPdv:c(r,s("BT-151",a,"BG-25"),o,{regexKey:"kategorijaPdv"}),artiklStopaPdv:v(r,s("BT-152",a,"BG-25"),o,{regexKey:"decimal"}),artiklNaziv:c(r,s("BT-153",a,"BG-25"),o,{regexKey:"tekst100"}),artiklOpis:m(r,s("BT-154",a,"BG-25"),o,{regexKey:"tekst1024"}),artiklHrOznakaKategorijaPdv:m(r,s("HR-BT-12",a,"BG-25"),o,{regexKey:"hrKategorijaPdv"}),ArtiklIdentifikatorKlasifikacija:P(r,s("BT-158",a,"BG-25"),o,l=>N.fromUblElement(l,a))}))}},Z=class{constructor(e){this.brojDokumenta=e.brojDokumenta,this.datumIzdavanja=e.datumIzdavanja,this.vrstaDokumenta=e.vrstaDokumenta,this.valutaRacuna=e.valutaRacuna,this.datumDospijecaPlacanja=e.datumDospijecaPlacanja,this.vrstaPoslovnogProcesa=e.vrstaPoslovnogProcesa,this.referencaNaUgovor=e.referencaNaUgovor,this.datumIsporuke=e.datumIsporuke,e.PrethodniRacun&&(this.PrethodniRacun=e.PrethodniRacun.map(a=>new V(a))),this.Izdavatelj=new C(e.Izdavatelj,"eizv"),this.Primatelj=new y(e.Primatelj,"eizv"),e.PrijenosSredstava&&(this.PrijenosSredstava=e.PrijenosSredstava.map(a=>new R(a,"eizv"))),this.DokumentUkupanIznos=new E(e.DokumentUkupanIznos,"eizv"),this.RaspodjelaPdv=e.RaspodjelaPdv.map(a=>new S(a,"eizv")),this.DokumentPopust=e.DokumentPopust?.map(a=>new D(a,"eizv")),this.DokumentTrosak=e.DokumentTrosak?.map(a=>new K(a,"eizv")),this.StavkaRacuna=e.StavkaRacuna.map(a=>new M(a)),this.indikatorKopije=e.indikatorKopije}toXmlString(){let e="";return e+="<eizv:Racun>",e+=`<eizv:brojDokumenta>${d(this.brojDokumenta)}</eizv:brojDokumenta>`,e+=`<eizv:datumIzdavanja>${d(this.datumIzdavanja)}</eizv:datumIzdavanja>`,e+=`<eizv:vrstaDokumenta>${d(this.vrstaDokumenta)}</eizv:vrstaDokumenta>`,e+=`<eizv:valutaRacuna>${d(this.valutaRacuna)}</eizv:valutaRacuna>`,this.datumDospijecaPlacanja&&(e+=`<eizv:datumDospijecaPlacanja>${d(this.datumDospijecaPlacanja)}</eizv:datumDospijecaPlacanja>`),e+=`<eizv:vrstaPoslovnogProcesa>${d(this.vrstaPoslovnogProcesa)}</eizv:vrstaPoslovnogProcesa>`,this.referencaNaUgovor&&(e+=`<eizv:referencaNaUgovor>${d(this.referencaNaUgovor)}</eizv:referencaNaUgovor>`),this.datumIsporuke&&(e+=`<eizv:datumIsporuke>${d(this.datumIsporuke)}</eizv:datumIsporuke>`),this.PrethodniRacun&&this.PrethodniRacun.forEach(a=>{e+=a.toXmlString()}),e+=this.Izdavatelj.toXmlString(),e+=this.Primatelj.toXmlString(),this.PrijenosSredstava&&this.PrijenosSredstava.forEach(a=>e+=a.toXmlString()),e+=this.DokumentUkupanIznos.toXmlString(),this.RaspodjelaPdv.forEach(a=>e+=a.toXmlString()),this.DokumentPopust&&this.DokumentPopust.forEach(a=>e+=a.toXmlString()),this.DokumentTrosak&&this.DokumentTrosak.forEach(a=>e+=a.toXmlString()),this.StavkaRacuna.forEach(a=>e+=a.toXmlString()),e+=`<eizv:indikatorKopije>${this.indikatorKopije}</eizv:indikatorKopije>`,e+="</eizv:Racun>",e}static fromXmlElement(e){return{brojDokumenta:c(e,"eizv:brojDokumenta",t,{regexKey:"tekst100"}),datumIzdavanja:c(e,"eizv:datumIzdavanja",t,{regexKey:"datum"}),vrstaDokumenta:c(e,"eizv:vrstaDokumenta",t,{regexKey:"vrstaDokumenta"}),valutaRacuna:c(e,"eizv:valutaRacuna",t,{regexKey:"valuta"}),datumDospijecaPlacanja:m(e,"eizv:datumDospijecaPlacanja",t,{regexKey:"datum"}),vrstaPoslovnogProcesa:c(e,"eizv:vrstaPoslovnogProcesa",t,{regexKey:"tekst100"}),referencaNaUgovor:m(e,"eizv:referencaNaUgovor",t,{regexKey:"tekst100"}),datumIsporuke:m(e,"eizv:datumIsporuke",t,{regexKey:"datum"}),PrethodniRacun:P(e,"eizv:PrethodniRacun",t,V.fromXmlElement),Izdavatelj:f(e,"eizv:Izdavatelj",t,C.fromXmlElement),Primatelj:f(e,"eizv:Primatelj",t,y.fromXmlElement),PrijenosSredstava:P(e,"eizv:PrijenosSredstava",t,R.fromXmlElement),DokumentUkupanIznos:f(e,"eizv:DokumentUkupanIznos",t,E.fromXmlElement),RaspodjelaPdv:B(e,"eizv:RaspodjelaPdv",t,S.fromXmlElement),DokumentPopust:P(e,"eizv:DokumentPopust",t,D.fromXmlElement),DokumentTrosak:P(e,"eizv:DokumentTrosak",t,K.fromXmlElement),StavkaRacuna:B(e,"eizv:StavkaRacuna",t,M.fromXmlElement),indikatorKopije:c(e,"eizv:indikatorKopije",t,{regexKey:"boolean"})==="true"}}static fromUblElement(e,a){return{brojDokumenta:c(e,s("BT-1",a),o,{regexKey:"tekst100"}),datumIzdavanja:c(e,s("BT-2",a),o,{regexKey:"datum"}),vrstaDokumenta:c(e,s("BT-3",a),o,{regexKey:"vrstaDokumenta"}),valutaRacuna:c(e,s("BT-5",a),o,{regexKey:"valuta"}),datumDospijecaPlacanja:m(e,s("BT-9",a),o,{regexKey:"datum"}),vrstaPoslovnogProcesa:c(e,s("BT-23",a),o,{regexKey:"tekst100"}),referencaNaUgovor:m(e,s("BT-12",a),o,{regexKey:"tekst100"}),datumIsporuke:m(e,s("BT-72",a),o,{regexKey:"datum"}),PrethodniRacun:V.fromUblElement(e,a),Izdavatelj:C.fromUblElement(e,a),Primatelj:y.fromUblElement(e,a),PrijenosSredstava:R.fromUblElement(e,a),DokumentUkupanIznos:E.fromUblElement(e,a),RaspodjelaPdv:S.fromUblElement(e,a),DokumentPopust:D.fromUblElement(e,a),DokumentTrosak:K.fromUblElement(e,a),StavkaRacuna:M.fromUblElement(e,a),indikatorKopije:m(e,s("HR-BT-1",a),o,{regexKey:"boolean"})==="true"}}},re=class{constructor(e){this._id=e._id,this.datumVrijemeSlanja=e.datumVrijemeSlanja,this.Odgovor=new z(e.Odgovor,"eizv")}toXmlString(){let e="";return e+=`<eizv:EvidentirajNaplatuOdgovor xmlns:eizv="${t.eizv}" eizv:id="${d(this._id)}">`,e+=`<eizv:datumVrijemeSlanja>${d(this.datumVrijemeSlanja)}</eizv:datumVrijemeSlanja>`,e+=this.Odgovor.toXmlString(),e+="</eizv:EvidentirajNaplatuOdgovor>",e}static fromXmlElement(e,a){let{lenient:n=!1,errors:r}=a||{};return{_id:I(e,"eizv:id",t),datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:n,errors:r}),Odgovor:f(e,"eizv:Odgovor",t,l=>z.fromXmlElement(l,a))}}},oe=class{constructor(e){this._id=e._id,this.datumVrijemeSlanja=e.datumVrijemeSlanja,this.Odgovor=new z(e.Odgovor,"eizv")}toXmlString(){let e="";return e+=`<eizv:EvidentirajOdbijanjeOdgovor xmlns:eizv="${t.eizv}" eizv:id="${d(this._id)}">`,e+=`<eizv:datumVrijemeSlanja>${d(this.datumVrijemeSlanja)}</eizv:datumVrijemeSlanja>`,e+=this.Odgovor.toXmlString(),e+="</eizv:EvidentirajOdbijanjeOdgovor>",e}static fromXmlElement(e,a){let{lenient:n=!1,errors:r}=a||{};return{_id:I(e,"eizv:id",t),datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:n,errors:r}),Odgovor:f(e,"eizv:Odgovor",t,l=>z.fromXmlElement(l,a))}}},ce=class{constructor(e){this._id=e._id,this.datumVrijemeSlanja=e.datumVrijemeSlanja,this.Odgovor=new z(e.Odgovor,"eizv")}toXmlString(){let e="";return e+=`<eizv:EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor xmlns:eizv="${t.eizv}" eizv:id="${d(this._id)}">`,e+=`<eizv:datumVrijemeSlanja>${d(this.datumVrijemeSlanja)}</eizv:datumVrijemeSlanja>`,e+=this.Odgovor.toXmlString(),e+="</eizv:EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor>",e}static fromXmlElement(e,a){let{lenient:n=!1,errors:r}=a||{};return{_id:I(e,"eizv:id",t),datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:n,errors:r}),Odgovor:f(e,"eizv:Odgovor",t,l=>z.fromXmlElement(l,a))}}};var ge={test:"https://cis.porezna-uprava.hr:8511/FiskalizacijaService",prod:"https://cis.porezna-uprava.hr:8509/FiskalizacijaService"};function xe(i){if(!(i instanceof he))return x(i,n=>xe(n));let e=i.root,a=e.name;if(a!=="Invoice"&&a!=="CreditNote")throw new j(`Expected 'Invoice' or 'CreditNote' as root element, got '${a}'`,i);return w.fromUblElement(e,a)}function fe(i){if(!(i instanceof he))return x(i,n=>fe(n));let e=i.root,a=e.name;if(a!=="Invoice"&&a!=="CreditNote")throw new j(`Expected 'Invoice' or 'CreditNote' as root element, got '${a}'`,i);return Z.fromUblElement(e,a)}import{pemToDer as Se,SignedXml as Pe}from"xml-crypto";import{Sha256 as Ne}from"xml-crypto/lib/hash-algorithms.js";import{randomUUID as Ie}from"crypto";function de(i){Buffer.isBuffer(i)&&(i=i.toString("utf8"));let e=i.match(/-----BEGIN CERTIFICATE-----(.*?)-----END CERTIFICATE-----/s);if(e&&e[0])return e[0].trim();throw new Error("Invalid PEM certificate format")}function ke(i){Buffer.isBuffer(i)&&(i=i.toString("utf8"));let e=i.match(/-----BEGIN (?:RSA )?PRIVATE KEY-----(.*?)-----END (?:RSA )?PRIVATE KEY-----/s);if(e&&e[0])return e[0].trim();throw new Error("Invalid PEM private key format")}var Q=class i{constructor(e){this.defaultOptions={signatureAlgorithm:"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",canonicalizationAlgorithm:"http://www.w3.org/2001/10/xml-exc-c14n#",digestAlgorithm:"http://www.w3.org/2001/04/xmlenc#sha256"};this.options={...this.defaultOptions,...e},this.options.publicCert=de(this.options.publicCert),this.options.privateKey=ke(this.options.privateKey)}static generateId(e){return e?`${e}-${Ie()}`:Ie()}getXAdESContent(e,a,n){let r=this.options.publicCert;Buffer.isBuffer(r)&&(r=r.toString("utf8"));let l=Se(r),u=new Ne().getHash(l),p="";return p+=`<xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#${e}">`,p+=`<xades:SignedProperties Id="${a}">`,p+="<xades:SignedSignatureProperties>",p+=`<xades:SigningTime>${n}</xades:SigningTime>`,p+="<xades:SigningCertificateV2><xades:Cert><xades:CertDigest>",p+='<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>',p+=`<ds:DigestValue>${u}</ds:DigestValue>`,p+="</xades:CertDigest></xades:Cert></xades:SigningCertificateV2>",p+="</xades:SignedSignatureProperties>",p+="</xades:SignedProperties>",p+="</xades:QualifyingProperties>",p}signFiscalizationRequest(e,a){let n=i.generateId("Sig"),r=i.generateId("xades"),l=new Date().toISOString(),u=new Pe({publicCert:this.options.publicCert,privateKey:this.options.privateKey,signatureAlgorithm:this.options.signatureAlgorithm,canonicalizationAlgorithm:this.options.canonicalizationAlgorithm,objects:[{content:this.getXAdESContent(n,r,l)}]});return u.addReference({xpath:`//*[@*[local-name()='id'] = '${a}']`,digestAlgorithm:this.options.digestAlgorithm,transforms:["http://www.w3.org/2000/09/xmldsig#enveloped-signature","http://www.w3.org/2001/10/xml-exc-c14n#"]}),u.addReference({xpath:`//*[@Id='${r}']`,type:"http://uri.etsi.org/01903#SignedProperties",digestAlgorithm:"http://www.w3.org/2001/04/xmlenc#sha256",transforms:["http://www.w3.org/2001/10/xml-exc-c14n#"]}),u.computeSignature(e,{prefix:"ds",location:{reference:"/*",action:"append"},attrs:{Id:n}}),u.getSignedXml()}static isValidSignature(e,a,n){if(!e)throw new Error("Signed XML is required for signature validation");if(n===void 0)return x(e,l=>{let u=l.get("//ds:Signature",t);if(!u)throw new Error("No signature found in the signed XML");if(a===void 0){let p=u.get("ds:KeyInfo/ds:X509Data/ds:X509Certificate",t);if(!p)throw new Error("No public certificate found in the signature");a=p.content.trim();let h=`-----BEGIN CERTIFICATE-----
|
|
2
|
+
${a}
|
|
3
|
+
-----END CERTIFICATE-----`;return this.isValidSignature(e,h,u)}return this.isValidSignature(e,a,u)});Buffer.isBuffer(e)&&(e=e.toString("utf8"));let r=new Pe({publicCert:de(a)});r.loadSignature(n.toString({format:!1,noDeclaration:!0}));try{return r.checkSignature(e)}catch{return!1}}};import{XmlDocument as Ae}from"libxml2-wasm";import ze from"https";import{URL as De}from"url";var Ke={timeout:3e4,allowSelfSigned:!1};async function be(i,e){let a={...Ke,...e},n=new De(a.service),r={rejectUnauthorized:!a.allowSelfSigned};a.ca&&(r.ca=a.ca);let l=new ze.Agent(r);return new Promise((u,p)=>{let h=ze.request({hostname:n.hostname,port:n.port||443,path:n.pathname+n.search,method:"POST",headers:{...a.headers,"Content-Length":Buffer.byteLength(i)},agent:l,timeout:a.timeout},T=>{let A="";T.setEncoding("utf8"),T.on("data",X=>A+=X),T.on("end",()=>{u({statusCode:T.statusCode??0,data:A})})});h.on("error",p),h.on("timeout",()=>{h.destroy(new Error("Request timed out"))}),h.write(i),h.end()})}var le=class{constructor(e){this.options={timeout:3e4,headers:{"Content-Type":"application/xml; charset=utf-8",SOAPAction:""},...e},this.signer=new Q(e)}async execute(e,a){let n={success:!1};try{let r=e instanceof a.RequestClass?e:new a.RequestClass(e);n.reqObject=r;let l=this.signer.signFiscalizationRequest(r.toXmlString(),r._id),u=this.generateSoapEnvelope(l);n.soapReqRaw=u;let{statusCode:p,data:h}=await be(u,this.options);n.httpStatusCode=p,n.soapResRaw=h;try{n.soapResSignatureValid=Q.isValidSignature(n.soapResRaw)}catch(T){n.soapResSignatureValid=!1,n.error=W(T)}x(Ae.fromString(h),T=>{let A=T.get(a.xpath,t);if(!A)throw new j(`HTTP ${p} | ${a.xpath}`,h);let X=[];n.resObject=a.ResponseClass.fromXmlElement(A,{lenient:!0,errors:X}),X.length>0&&(n.resErrors=X.map(Te=>W(Te))),n.success=n.resObject.Odgovor.prihvacenZahtjev&&!n.resObject.Odgovor.greska})}catch(r){n.error=W(r)}return n}async evidentirajERacun(e){return this.execute(e,{RequestClass:U,ResponseClass:ae,xpath:"/soapenv:Envelope/soapenv:Body/efis:EvidentirajERacunOdgovor"})}async evidentirajNaplatu(e){return this.execute(e,{RequestClass:F,ResponseClass:re,xpath:"/soapenv:Envelope/soapenv:Body/eizv:EvidentirajNaplatuOdgovor"})}async evidentirajOdbijanje(e){return this.execute(e,{RequestClass:q,ResponseClass:oe,xpath:"/soapenv:Envelope/soapenv:Body/eizv:EvidentirajOdbijanjeOdgovor"})}async evidentirajIsporukuZaKojuNijeIzdanERacun(e){return this.execute(e,{RequestClass:J,ResponseClass:ce,xpath:"/soapenv:Envelope/soapenv:Body/eizv:EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor"})}generateSoapEnvelope(e,a=!0){let n="";return a&&(n+='<?xml version="1.0" encoding="UTF-8"?>'),n+='<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">',n+="<soap:Body>",n+=e,n+="</soap:Body>",n+="</soap:Envelope>",n}};export{le as FiskalizacijaClient,ge as FiskalizacijaService,xe as getERacunFromUbl,Be as getEvidentirajERacunZahtjev,Ce as getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev,ye as getEvidentirajNaplatuZahtjev,Re as getEvidentirajOdbijanjeZahtjev,fe as getRacunFromUbl};
|
|
4
|
+
//# sourceMappingURL=index.js.map
|