fiskalizacija2 0.5.0 → 0.5.1

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.
@@ -0,0 +1,1912 @@
1
+ import { XmlDocument } from 'libxml2-wasm';
2
+ import type { XmlElement } from 'libxml2-wasm';
3
+
4
+ export declare class ArtiklIdentifikatorKlasifikacija implements ArtiklIdentifikatorKlasifikacijaSerializable {
5
+ private readonly _prefix;
6
+ identifikatorKlasifikacije: string;
7
+ identifikatorSheme: string;
8
+ verzijaSheme?: string | undefined;
9
+ constructor(args: IArtiklIdentifikatorKlasifikacija, prefix: "efis" | "eizv");
10
+ toXmlString(): string;
11
+ static fromXmlElement(el: XmlElement): IArtiklIdentifikatorKlasifikacija;
12
+ static fromUblElement(el: XmlElement, _type: "Invoice" | "CreditNote"): {
13
+ identifikatorKlasifikacije: string;
14
+ identifikatorSheme: string;
15
+ verzijaSheme: string | undefined;
16
+ };
17
+ }
18
+
19
+ declare type ArtiklIdentifikatorKlasifikacijaSerializable = XmlSerializable<IArtiklIdentifikatorKlasifikacija>;
20
+ export { ArtiklIdentifikatorKlasifikacijaSerializable }
21
+ export { ArtiklIdentifikatorKlasifikacijaSerializable as ArtiklIdentifikatorKlasifikacijaSerializable_alias_1 }
22
+ export { ArtiklIdentifikatorKlasifikacijaSerializable as ArtiklIdentifikatorKlasifikacijaSerializable_alias_2 }
23
+
24
+ export declare const BUSINESS_GROUPS: Record<string, IBusinessTermXpath>;
25
+
26
+ export declare const BUSINESS_TERMS: Record<string, IBusinessTermXpath>;
27
+
28
+ export declare class DokumentPopust implements DokumentPopustSerializable {
29
+ private readonly _prefix;
30
+ iznosPopust: number;
31
+ kategorijaPdv: string;
32
+ stopaPdv?: number | undefined;
33
+ tekstRazlogaPopusta?: string | undefined;
34
+ razlogPopusta?: string | undefined;
35
+ constructor(args: IDokumentPopust, prefix: "efis" | "eizv");
36
+ toXmlString(): string;
37
+ static fromXmlElement(el: XmlElement): IDokumentPopust;
38
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IDokumentPopust[] | undefined;
39
+ }
40
+
41
+ declare type DokumentPopustSerializable = XmlSerializable<IDokumentPopust>;
42
+ export { DokumentPopustSerializable }
43
+ export { DokumentPopustSerializable as DokumentPopustSerializable_alias_1 }
44
+ export { DokumentPopustSerializable as DokumentPopustSerializable_alias_2 }
45
+
46
+ export declare class DokumentTrosak implements DokumentTrosakSerializable {
47
+ private readonly _prefix;
48
+ iznosTrosak: number;
49
+ kategorijaPdv: string;
50
+ hrOznakaPorezneKategorije?: string | undefined;
51
+ stopaPdv?: number | undefined;
52
+ tekstRazlogaOslobodenjaPdv?: string | undefined;
53
+ razlogOslobodenjaPdv?: string | undefined;
54
+ constructor(args: IDokumentTrosak, prefix: "efis" | "eizv");
55
+ toXmlString(): string;
56
+ static fromXmlElement(el: XmlElement): IDokumentTrosak;
57
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IDokumentTrosak[] | undefined;
58
+ }
59
+
60
+ declare type DokumentTrosakSerializable = XmlSerializable<IDokumentTrosak>;
61
+ export { DokumentTrosakSerializable }
62
+ export { DokumentTrosakSerializable as DokumentTrosakSerializable_alias_1 }
63
+ export { DokumentTrosakSerializable as DokumentTrosakSerializable_alias_2 }
64
+
65
+ export declare class DokumentUkupanIznos implements DokumentUkupanIznosSerializable {
66
+ private readonly _prefix;
67
+ neto: number;
68
+ popust?: number | undefined;
69
+ trosak?: number | undefined;
70
+ iznosBezPdv: number;
71
+ pdv: number;
72
+ iznosSPdv: number;
73
+ placeniIznos?: number | undefined;
74
+ iznosKojiDospijevaZaPlacanje: number;
75
+ constructor(args: IDokumentUkupanIznos, prefix: "efis" | "eizv");
76
+ toXmlString(): string;
77
+ static fromXmlElement(el: XmlElement): IDokumentUkupanIznos;
78
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IDokumentUkupanIznos;
79
+ }
80
+
81
+ declare type DokumentUkupanIznosSerializable = XmlSerializable<IDokumentUkupanIznos>;
82
+ export { DokumentUkupanIznosSerializable }
83
+ export { DokumentUkupanIznosSerializable as DokumentUkupanIznosSerializable_alias_1 }
84
+ export { DokumentUkupanIznosSerializable as DokumentUkupanIznosSerializable_alias_2 }
85
+
86
+ declare class ERacun implements ERacunSerializable {
87
+ brojDokumenta: string;
88
+ datumIzdavanja: string;
89
+ vrstaDokumenta: string;
90
+ valutaERacuna: string;
91
+ datumDospijecaPlacanja?: string | undefined;
92
+ vrstaPoslovnogProcesa: string;
93
+ referencaNaUgovor?: string | undefined;
94
+ datumIsporuke?: string | undefined;
95
+ PrethodniERacun?: PrethodniERacun[] | undefined;
96
+ Izdavatelj: Izdavatelj;
97
+ Primatelj: Primatelj;
98
+ PrijenosSredstava?: PrijenosSredstava[] | undefined;
99
+ DokumentUkupanIznos: DokumentUkupanIznos;
100
+ RaspodjelaPdv: RaspodjelaPdv[];
101
+ DokumentPopust?: DokumentPopust[] | undefined;
102
+ DokumentTrosak?: DokumentTrosak[] | undefined;
103
+ StavkaERacuna: StavkaERacuna[];
104
+ indikatorKopije: boolean;
105
+ constructor(args: IERacun);
106
+ toXmlString(): string;
107
+ static fromXmlElement(el: XmlElement): IERacun;
108
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IERacun;
109
+ }
110
+ export { ERacun }
111
+ export { ERacun as ERacun_alias_1 }
112
+
113
+ declare type ERacunSerializable = XmlSerializable<IERacun>;
114
+ export { ERacunSerializable }
115
+ export { ERacunSerializable as ERacunSerializable_alias_1 }
116
+ export { ERacunSerializable as ERacunSerializable_alias_2 }
117
+
118
+ export declare class EvidentirajERacunOdgovor implements EvidentirajERacunOdgovorSerializable {
119
+ _id: string;
120
+ datumVrijemeSlanja: string;
121
+ Odgovor: Odgovor;
122
+ constructor(args: IEvidentirajERacunOdgovor);
123
+ static fromXmlElement(el: XmlElement, options?: {
124
+ lenient?: boolean;
125
+ errors?: ValidationError[];
126
+ }): IEvidentirajERacunOdgovor;
127
+ toXmlString(): string;
128
+ }
129
+
130
+ declare type EvidentirajERacunOdgovorSerializable = XmlSerializable<IEvidentirajERacunOdgovor>;
131
+ export { EvidentirajERacunOdgovorSerializable }
132
+ export { EvidentirajERacunOdgovorSerializable as EvidentirajERacunOdgovorSerializable_alias_1 }
133
+ export { EvidentirajERacunOdgovorSerializable as EvidentirajERacunOdgovorSerializable_alias_2 }
134
+
135
+ declare class EvidentirajERacunZahtjev implements EvidentirajERacunZahtjevSerializable {
136
+ _id: string;
137
+ Zaglavlje: ZaglavljeFiskalizacija;
138
+ ERacun: ERacun[];
139
+ constructor(args: IEvidentirajERacunZahtjev);
140
+ static fromXml(xml: string | Uint8Array | XmlDocument | XmlElement): IEvidentirajERacunZahtjev;
141
+ static fromXmlElement(el: XmlElement): IEvidentirajERacunZahtjev;
142
+ toXmlString(): string;
143
+ }
144
+ export { EvidentirajERacunZahtjev }
145
+ export { EvidentirajERacunZahtjev as EvidentirajERacunZahtjev_alias_1 }
146
+
147
+ declare type EvidentirajERacunZahtjevSerializable = XmlSerializable<IEvidentirajERacunZahtjev>;
148
+ export { EvidentirajERacunZahtjevSerializable }
149
+ export { EvidentirajERacunZahtjevSerializable as EvidentirajERacunZahtjevSerializable_alias_1 }
150
+ export { EvidentirajERacunZahtjevSerializable as EvidentirajERacunZahtjevSerializable_alias_2 }
151
+
152
+ export declare class EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor implements EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable {
153
+ _id: string;
154
+ datumVrijemeSlanja: string;
155
+ Odgovor: Odgovor;
156
+ constructor(props: IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor);
157
+ toXmlString(): string;
158
+ static fromXmlElement(el: XmlElement, options?: {
159
+ lenient?: boolean;
160
+ errors?: ValidationError[];
161
+ }): IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor;
162
+ }
163
+
164
+ declare type EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable = XmlSerializable<IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor>;
165
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable }
166
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable as EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable_alias_1 }
167
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable as EvidentirajIsporukuZaKojuNijeIzdanERacunOdgovorSerializable_alias_2 }
168
+
169
+ declare class EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev implements EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable {
170
+ _id: string;
171
+ Zaglavlje: ZaglavljeIsporuka;
172
+ Racun: Racun[];
173
+ constructor(props: IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev);
174
+ toXmlString(): string;
175
+ static fromXml(xml: string | Uint8Array | XmlDocument | XmlElement): IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev;
176
+ static fromXmlElement(el: XmlElement): IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev;
177
+ }
178
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev }
179
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev as EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev_alias_1 }
180
+
181
+ declare type EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable = XmlSerializable<IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev>;
182
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable }
183
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable as EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable_alias_1 }
184
+ export { EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable as EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjevSerializable_alias_2 }
185
+
186
+ export declare class EvidentirajNaplatuOdgovor implements EvidentirajNaplatuOdgovorSerializable {
187
+ _id: string;
188
+ datumVrijemeSlanja: string;
189
+ Odgovor: Odgovor;
190
+ constructor(props: IEvidentirajNaplatuOdgovor);
191
+ toXmlString(): string;
192
+ static fromXmlElement(el: XmlElement, options?: {
193
+ lenient?: boolean;
194
+ errors?: ValidationError[];
195
+ }): IEvidentirajNaplatuOdgovor;
196
+ }
197
+
198
+ declare type EvidentirajNaplatuOdgovorSerializable = XmlSerializable<IEvidentirajNaplatuOdgovor>;
199
+ export { EvidentirajNaplatuOdgovorSerializable }
200
+ export { EvidentirajNaplatuOdgovorSerializable as EvidentirajNaplatuOdgovorSerializable_alias_1 }
201
+ export { EvidentirajNaplatuOdgovorSerializable as EvidentirajNaplatuOdgovorSerializable_alias_2 }
202
+
203
+ declare class EvidentirajNaplatuZahtjev implements EvidentirajNaplatuZahtjevSerializable {
204
+ _id: string;
205
+ Zaglavlje: ZaglavljeIzvjestavanje;
206
+ Naplata: Naplata[];
207
+ constructor(props: IEvidentirajNaplatuZahtjev);
208
+ toXmlString(): string;
209
+ static fromXml(xml: string | Uint8Array | XmlDocument | XmlElement): IEvidentirajNaplatuZahtjev;
210
+ static fromXmlElement(el: XmlElement): IEvidentirajNaplatuZahtjev;
211
+ }
212
+ export { EvidentirajNaplatuZahtjev }
213
+ export { EvidentirajNaplatuZahtjev as EvidentirajNaplatuZahtjev_alias_1 }
214
+
215
+ declare type EvidentirajNaplatuZahtjevSerializable = XmlSerializable<IEvidentirajNaplatuZahtjev>;
216
+ export { EvidentirajNaplatuZahtjevSerializable }
217
+ export { EvidentirajNaplatuZahtjevSerializable as EvidentirajNaplatuZahtjevSerializable_alias_1 }
218
+ export { EvidentirajNaplatuZahtjevSerializable as EvidentirajNaplatuZahtjevSerializable_alias_2 }
219
+
220
+ export declare class EvidentirajOdbijanjeOdgovor implements EvidentirajOdbijanjeOdgovorSerializable {
221
+ _id: string;
222
+ datumVrijemeSlanja: string;
223
+ Odgovor: Odgovor;
224
+ constructor(props: IEvidentirajOdbijanjeOdgovor);
225
+ toXmlString(): string;
226
+ static fromXmlElement(el: XmlElement, options?: {
227
+ lenient?: boolean;
228
+ errors?: ValidationError[];
229
+ }): IEvidentirajOdbijanjeOdgovor;
230
+ }
231
+
232
+ declare type EvidentirajOdbijanjeOdgovorSerializable = XmlSerializable<IEvidentirajOdbijanjeOdgovor>;
233
+ export { EvidentirajOdbijanjeOdgovorSerializable }
234
+ export { EvidentirajOdbijanjeOdgovorSerializable as EvidentirajOdbijanjeOdgovorSerializable_alias_1 }
235
+ export { EvidentirajOdbijanjeOdgovorSerializable as EvidentirajOdbijanjeOdgovorSerializable_alias_2 }
236
+
237
+ declare class EvidentirajOdbijanjeZahtjev implements EvidentirajOdbijanjeZahtjevSerializable {
238
+ _id: string;
239
+ Zaglavlje: ZaglavljeIzvjestavanje;
240
+ Odbijanje: Odbijanje[];
241
+ constructor(props: IEvidentirajOdbijanjeZahtjev);
242
+ toXmlString(): string;
243
+ static fromXml(xml: string | Uint8Array | XmlDocument | XmlElement): IEvidentirajOdbijanjeZahtjev;
244
+ static fromXmlElement(el: XmlElement): IEvidentirajOdbijanjeZahtjev;
245
+ }
246
+ export { EvidentirajOdbijanjeZahtjev }
247
+ export { EvidentirajOdbijanjeZahtjev as EvidentirajOdbijanjeZahtjev_alias_1 }
248
+
249
+ declare type EvidentirajOdbijanjeZahtjevSerializable = XmlSerializable<IEvidentirajOdbijanjeZahtjev>;
250
+ export { EvidentirajOdbijanjeZahtjevSerializable }
251
+ export { EvidentirajOdbijanjeZahtjevSerializable as EvidentirajOdbijanjeZahtjevSerializable_alias_1 }
252
+ export { EvidentirajOdbijanjeZahtjevSerializable as EvidentirajOdbijanjeZahtjevSerializable_alias_2 }
253
+
254
+ export declare function extractElement<T>(parentEl: XmlElement, tag: string, ns: Record<string, string>, fn: (el: XmlElement) => T): T;
255
+
256
+ export declare function extractElements<T>(parentEl: XmlElement, tag: string, ns: Record<string, string>, fn: (el: XmlElement) => T): T[];
257
+
258
+ declare interface ExtractionOptions {
259
+ regexKey?: RegexKey;
260
+ lenient?: boolean;
261
+ errors?: ValidationError[];
262
+ }
263
+
264
+ export declare function extractOptionalElement<T>(parentEl: XmlElement, tag: string, ns: Record<string, string>, fn: (el: XmlElement) => T): T | undefined;
265
+
266
+ export declare function extractOptionalElements<T>(parentEl: XmlElement, tag: string, ns: Record<string, string>, fn: (el: XmlElement) => T): T[] | undefined;
267
+
268
+ export declare function extractPemCertificate(pem: string | Buffer): string;
269
+
270
+ export declare function extractPemPrivateKey(pem: string | Buffer): string;
271
+
272
+ export declare const FISK_NS: {
273
+ soapenv: string;
274
+ ds: string;
275
+ efis: string;
276
+ eizv: string;
277
+ };
278
+
279
+ declare class FiskalizacijaClient {
280
+ private readonly signer;
281
+ private readonly options;
282
+ constructor(options: FiskalizacijaOptions);
283
+ private execute;
284
+ evidentirajERacun(zahtjev: IEvidentirajERacunZahtjev | EvidentirajERacunZahtjev): Promise<FiskalizacijaResult<EvidentirajERacunZahtjev, IEvidentirajERacunOdgovor>>;
285
+ evidentirajNaplatu(zahtjev: IEvidentirajNaplatuZahtjev | EvidentirajNaplatuZahtjev): Promise<FiskalizacijaResult<EvidentirajNaplatuZahtjev, IEvidentirajNaplatuOdgovor>>;
286
+ evidentirajOdbijanje(zahtjev: IEvidentirajOdbijanjeZahtjev | EvidentirajOdbijanjeZahtjev): Promise<FiskalizacijaResult<EvidentirajOdbijanjeZahtjev, IEvidentirajOdbijanjeOdgovor>>;
287
+ evidentirajIsporukuZaKojuNijeIzdanERacun(zahtjev: IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev | EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev): Promise<FiskalizacijaResult<EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev, IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor>>;
288
+ private generateSoapEnvelope;
289
+ }
290
+ export { FiskalizacijaClient }
291
+ export { FiskalizacijaClient as FiskalizacijaClient_alias_1 }
292
+
293
+ declare interface FiskalizacijaOptions extends SigningOptions {
294
+ ca?: string | Buffer;
295
+ service: string;
296
+ allowSelfSigned?: boolean;
297
+ timeout?: number;
298
+ headers?: Record<string, string>;
299
+ }
300
+ export { FiskalizacijaOptions }
301
+ export { FiskalizacijaOptions as FiskalizacijaOptions_alias_1 }
302
+ export { FiskalizacijaOptions as FiskalizacijaOptions_alias_2 }
303
+
304
+ declare type FiskalizacijaResult<Z, O> = {
305
+ success: boolean;
306
+ error?: IErrorWithMessage;
307
+ httpStatusCode?: number;
308
+ soapReqRaw?: string;
309
+ reqObject?: Z;
310
+ soapResRaw?: string;
311
+ soapResSignatureValid?: boolean;
312
+ resObject?: O;
313
+ resErrors?: IErrorWithMessage[];
314
+ };
315
+ export { FiskalizacijaResult }
316
+ export { FiskalizacijaResult as FiskalizacijaResult_alias_1 }
317
+ export { FiskalizacijaResult as FiskalizacijaResult_alias_2 }
318
+
319
+ declare const FiskalizacijaService: {
320
+ test: string;
321
+ prod: string;
322
+ };
323
+ export { FiskalizacijaService }
324
+ export { FiskalizacijaService as FiskalizacijaService_alias_1 }
325
+ export { FiskalizacijaService as FiskalizacijaService_alias_2 }
326
+
327
+ export declare function getAttributeValue(el: XmlElement, name: string, ns: Record<string, string>, regexKey?: keyof typeof REGEX): string;
328
+
329
+ export declare function getBusinessGroupXpath(id: keyof typeof BUSINESS_GROUPS, type: "Invoice" | "CreditNote"): string;
330
+
331
+ export declare function getBusinessTermXpath(id: keyof typeof BUSINESS_TERMS, type: "Invoice" | "CreditNote", group?: keyof typeof BUSINESS_GROUPS | null): string;
332
+
333
+ export declare function getCurrentDateTimeString(): string;
334
+
335
+ export declare function getElementContent(parentEl: XmlElement, tag: string, ns: Record<string, string>, options?: ExtractionOptions): string;
336
+
337
+ export declare function getElementContentNumber(parentEl: XmlElement, tag: string, ns: Record<string, string>, options?: ExtractionOptions): number;
338
+
339
+ declare function getERacunFromUbl(doc: string | Buffer | XmlDocument): IERacun;
340
+ export { getERacunFromUbl }
341
+ export { getERacunFromUbl as getERacunFromUbl_alias_1 }
342
+
343
+ declare function getEvidentirajERacunZahtjev(vrsta: "I" | "U", eracun: IERacun | IERacun[]): IEvidentirajERacunZahtjev;
344
+ export { getEvidentirajERacunZahtjev }
345
+ export { getEvidentirajERacunZahtjev as getEvidentirajERacunZahtjev_alias_1 }
346
+
347
+ declare function getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev(racun: IRacun | IRacun[]): IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev;
348
+ export { getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev }
349
+ export { getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev as getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev_alias_1 }
350
+
351
+ declare function getEvidentirajNaplatuZahtjev(naplata: INaplata | INaplata[]): IEvidentirajNaplatuZahtjev;
352
+ export { getEvidentirajNaplatuZahtjev }
353
+ export { getEvidentirajNaplatuZahtjev as getEvidentirajNaplatuZahtjev_alias_1 }
354
+
355
+ declare function getEvidentirajOdbijanjeZahtjev(odbijanje: IOdbijanje | IOdbijanje[]): IEvidentirajOdbijanjeZahtjev;
356
+ export { getEvidentirajOdbijanjeZahtjev }
357
+ export { getEvidentirajOdbijanjeZahtjev as getEvidentirajOdbijanjeZahtjev_alias_1 }
358
+
359
+ export declare const getFiskNsPrefix: (namespaceUri: string) => string;
360
+
361
+ export declare function getOptionalAttributeValue(el: XmlElement, name: string, ns: Record<string, string>, regexKey?: keyof typeof REGEX): string | undefined;
362
+
363
+ export declare function getOptionalElementContent(parentEl: XmlElement, tag: string, ns: Record<string, string>, options?: ExtractionOptions): string | undefined;
364
+
365
+ export declare function getOptionalElementContentNumber(parentEl: XmlElement, tag: string, ns: Record<string, string>, options?: ExtractionOptions): number | undefined;
366
+
367
+ declare function getRacunFromUbl(doc: string | Buffer | XmlDocument): IRacun;
368
+ export { getRacunFromUbl }
369
+ export { getRacunFromUbl as getRacunFromUbl_alias_1 }
370
+
371
+ export declare const getUblNsPrefix: (namespaceUri: string) => string;
372
+
373
+ export declare class Greska implements GreskaSerializable {
374
+ private readonly _prefix;
375
+ sifra: string;
376
+ redniBrojZapisa: string;
377
+ opis: string;
378
+ constructor(props: IGreska, prefix: "efis" | "eizv");
379
+ toXmlString(): string;
380
+ static fromXmlElement(el: XmlElement, options?: {
381
+ lenient?: boolean;
382
+ errors?: ValidationError[];
383
+ }): IGreska;
384
+ }
385
+
386
+ declare type GreskaSerializable = XmlSerializable<IGreska>;
387
+ export { GreskaSerializable }
388
+ export { GreskaSerializable as GreskaSerializable_alias_1 }
389
+ export { GreskaSerializable as GreskaSerializable_alias_2 }
390
+
391
+ /**
392
+ * Informacije o identifikatoru klasifikacije artikla.
393
+ */
394
+ declare interface IArtiklIdentifikatorKlasifikacija {
395
+ /**
396
+ * Vrijednost iz klasifikacije artikla po njegovom tipu ili prirodi.
397
+ * @bt BT-158
398
+ * @regex tekst10
399
+ */
400
+ identifikatorKlasifikacije: string;
401
+ /**
402
+ * Kod za klasifikaciju artikla po njegovom tipu ili prirodi po UNTDID 7143.
403
+ * Identifikator sheme, označava klasifikaciju koja se koristi. Koristi se KPD klasifikacija, oznaka koja se unosi je 'CG'.
404
+ * @regex klasifikacijaArtikla
405
+ */
406
+ identifikatorSheme: string;
407
+ /**
408
+ * Verzija sheme.
409
+ * @regex tekst10
410
+ */
411
+ verzijaSheme?: string;
412
+ }
413
+ export { IArtiklIdentifikatorKlasifikacija }
414
+ export { IArtiklIdentifikatorKlasifikacija as IArtiklIdentifikatorKlasifikacija_alias_1 }
415
+ export { IArtiklIdentifikatorKlasifikacija as IArtiklIdentifikatorKlasifikacija_alias_2 }
416
+
417
+ declare interface IBusinessTermXpath {
418
+ id: string;
419
+ name: string;
420
+ xpath: {
421
+ Invoice: string[];
422
+ CreditNote: string[];
423
+ };
424
+ }
425
+ export { IBusinessTermXpath }
426
+ export { IBusinessTermXpath as IBusinessTermXpath_alias_1 }
427
+ export { IBusinessTermXpath as IBusinessTermXpath_alias_2 }
428
+
429
+ /**
430
+ * Skupina poslovnih pojmova koji nude informacije o popustima.
431
+ * @bt BG-20
432
+ */
433
+ declare interface IDokumentPopust {
434
+ /**
435
+ * Iznos popusta, bez PDV-a.
436
+ * @bt BT-92
437
+ * @regex decimal2
438
+ */
439
+ iznosPopust: number;
440
+ /**
441
+ * Kodirana identifikacija kategorije PDV-a koja se primjenjuje na popust na razini dokumenta.
442
+ * @bt BT-95
443
+ * @regex kategorijaPdv
444
+ */
445
+ kategorijaPdv: string;
446
+ /**
447
+ * Stopa PDV-a prikazana kao postotak koji se primjenjuje na popust na razini dokumenta.
448
+ * @bt BT-96
449
+ * @regex decimal
450
+ */
451
+ stopaPdv?: number;
452
+ /**
453
+ * Razlog za popust na razini dokumenta izražen u obliku teksta.
454
+ * @bt BT-97
455
+ * @regex tekst1024
456
+ */
457
+ tekstRazlogaPopusta?: string;
458
+ /**
459
+ * Razlog za popust na razini dokumenta, izražen u obliku koda.
460
+ * @bt BT-98
461
+ * @regex razlogPopusta
462
+ */
463
+ razlogPopusta?: string;
464
+ }
465
+ export { IDokumentPopust }
466
+ export { IDokumentPopust as IDokumentPopust_alias_1 }
467
+ export { IDokumentPopust as IDokumentPopust_alias_2 }
468
+
469
+ /**
470
+ * Skupina poslovnih pojmova koji pružaju informacije o troškovima i porezima osim PDV-a.
471
+ * @bt BG-21
472
+ */
473
+ declare interface IDokumentTrosak {
474
+ /**
475
+ * Iznos troška, bez PDV-a.
476
+ * @bt BT-99
477
+ * @regex decimal2
478
+ */
479
+ iznosTrosak: number;
480
+ /**
481
+ * Kodirana identifikacija kategorije PDV-a koja se primjenjuje na trošak na razini dokumenta.
482
+ * @bt BT-102
483
+ * @regex kategorijaPdv
484
+ */
485
+ kategorijaPdv: string;
486
+ /**
487
+ * Podrška za stavke koje ne podliježu PDV-u.
488
+ * @bt HR-BT-6
489
+ * @regex hrKategorijaPdv
490
+ */
491
+ hrOznakaPorezneKategorije?: string;
492
+ /**
493
+ * Stopa PDV-a prikazana kao postotak na koji se primjenjuje trošak na razini dokumenta.
494
+ * @bt BT-103
495
+ * @regex decimal
496
+ */
497
+ stopaPdv?: number;
498
+ /**
499
+ * Razlog oslobođenja od PDV-a izražen kao tekst.
500
+ * @bt HR-BT-7
501
+ * @regex tekst1024
502
+ */
503
+ tekstRazlogaOslobodenjaPdv?: string;
504
+ /**
505
+ * Razlog oslobođenja od PDV-a izražen kao kod.
506
+ * @bt HR-BT-8
507
+ * @regex izuzecePdv
508
+ */
509
+ razlogOslobodenjaPdv?: string;
510
+ }
511
+ export { IDokumentTrosak }
512
+ export { IDokumentTrosak as IDokumentTrosak_alias_1 }
513
+ export { IDokumentTrosak as IDokumentTrosak_alias_2 }
514
+
515
+ /**
516
+ * Informacije o ukupnim novčanim iznosima za eRačun.
517
+ */
518
+ declare interface IDokumentUkupanIznos {
519
+ /**
520
+ * Zbroj svih neto iznosa stavki računa koji su navedene na računu.
521
+ * @bt BT-106
522
+ * @regex decimal2
523
+ */
524
+ neto: number;
525
+ /**
526
+ * Zbroj svih popusta na razini dokumenta na računu.
527
+ * @bt BT-107
528
+ * @regex decimal2
529
+ */
530
+ popust?: number;
531
+ /**
532
+ * Zbroj svih troškova na razini dokumenta na računu.
533
+ * @bt BT-108
534
+ * @regex decimal2
535
+ */
536
+ trosak?: number;
537
+ /**
538
+ * Ukupan iznos na računu bez PDV-a.
539
+ * @bt BT-109
540
+ * @regex decimal2
541
+ */
542
+ iznosBezPdv: number;
543
+ /**
544
+ * Ukupni iznos PDVa za račun.
545
+ * @bt BT-110
546
+ * @regex decimal2
547
+ */
548
+ pdv: number;
549
+ /**
550
+ * Ukupni iznos računa s uključenim PDV-om.
551
+ * @bt BT-112
552
+ * @regex decimal2
553
+ */
554
+ iznosSPdv: number;
555
+ /**
556
+ * Zbroj iznosa koji su plaćeni unaprijed.
557
+ * @bt BT-113
558
+ * @regex decimal2
559
+ */
560
+ placeniIznos?: number;
561
+ /**
562
+ * Nepodmireni iznos za koji se zahtijeva plaćanje.
563
+ * @bt BT-115
564
+ * @regex decimal2
565
+ */
566
+ iznosKojiDospijevaZaPlacanje: number;
567
+ }
568
+ export { IDokumentUkupanIznos }
569
+ export { IDokumentUkupanIznos as IDokumentUkupanIznos_alias_1 }
570
+ export { IDokumentUkupanIznos as IDokumentUkupanIznos_alias_2 }
571
+
572
+ declare interface IERacun {
573
+ /**
574
+ * Broj eRačuna, dio identifikatora eRačuna.
575
+ * @bt BT-1
576
+ * @regex tekst100
577
+ */
578
+ brojDokumenta: string;
579
+ /**
580
+ * Datum izdavanja eRačuna, dio identifikatora eRačuna.
581
+ * @bt BT-2
582
+ * @regex datum
583
+ */
584
+ datumIzdavanja: string;
585
+ /**
586
+ * Šifra vrste eRačuna, dio identifikatora eRačuna.
587
+ * @bt BT-3
588
+ * @regex vrstaDokumenta
589
+ */
590
+ vrstaDokumenta: string;
591
+ /**
592
+ * Šifra valute po ISO4217 u kojoj se iskazuju svi iznosi na računu, osim za ukupni iznos PDV-a u računovodstvenoj valuti. Napomena: koristi se šifra valute EUR
593
+ * @bt BT-5
594
+ * @regex valuta
595
+ */
596
+ valutaERacuna: string;
597
+ /**
598
+ * Datum kada plaćanje dospijeva na naplatu.
599
+ * @bt BT-9
600
+ * @regex datum
601
+ */
602
+ datumDospijecaPlacanja?: string;
603
+ /**
604
+ * Identifikator poslovnog procesa u kojem se obavlja transakcija, kako bi se kupcu omogućila obrada na odgovarajući način. Moguće vrste su navedene u Dodatku: Vrsta poslovnog procesa.
605
+ * @bt BT-23
606
+ * @regex tekst100
607
+ */
608
+ vrstaPoslovnogProcesa: string;
609
+ /**
610
+ * Identifikacija ugovora koja mora biti jedinstvena u kontekstu specifičnog trgovinskog odnosa i za određeno razdoblje.
611
+ * @bt BT-12
612
+ * @regex tekst100
613
+ */
614
+ referencaNaUgovor?: string;
615
+ /**
616
+ * Datum na koji se obavlja ili dovršava isporuke robe ili usluga
617
+ * @bt BT-72
618
+ * @regex datum
619
+ */
620
+ datumIsporuke?: string;
621
+ /**
622
+ * Informacije o jednom ili više prethodnih eRačuna.
623
+ */
624
+ PrethodniERacun?: IPrethodniERacun[];
625
+ /**
626
+ * Informacije o izdavatelju.
627
+ */
628
+ Izdavatelj: IIzdavatelj;
629
+ /**
630
+ * Informacije o primatelju.
631
+ */
632
+ Primatelj: IPrimatelj;
633
+ /**
634
+ * Informacije o plaćanju.
635
+ */
636
+ PrijenosSredstava?: IPrijenosSredstava[];
637
+ /**
638
+ * Informacije o ukupnim novčanim iznosima za eRačun.
639
+ */
640
+ DokumentUkupanIznos: IDokumentUkupanIznos;
641
+ /**
642
+ * Informacije o rekapitulaciji PDV-a po različitim kategorijama, stopama i razlozima izuzeća.
643
+ */
644
+ RaspodjelaPdv: IRaspodjelaPdv[];
645
+ /**
646
+ * Skupina poslovnih pojmova koji nude informacije o popustima.
647
+ */
648
+ DokumentPopust?: IDokumentPopust[];
649
+ /**
650
+ * Skupina poslovnih pojmova koji pružaju informacije o troškovima i porezima osim PDV-a.
651
+ */
652
+ DokumentTrosak?: IDokumentTrosak[];
653
+ /**
654
+ * Informacije o pojedinačnim stavkama računa.
655
+ */
656
+ StavkaERacuna: IStavkaERacuna[];
657
+ /**
658
+ * Indikator kopije računa koji pokazuje radi li se o kopiji računa (true) ili ne (false).
659
+ * @bt HR-BT-1
660
+ */
661
+ indikatorKopije: boolean;
662
+ }
663
+ export { IERacun }
664
+ export { IERacun as IERacun_alias_1 }
665
+ export { IERacun as IERacun_alias_2 }
666
+
667
+ declare interface IErrorWithMessage {
668
+ message: string;
669
+ thrown?: unknown;
670
+ }
671
+ export { IErrorWithMessage }
672
+ export { IErrorWithMessage as IErrorWithMessage_alias_1 }
673
+ export { IErrorWithMessage as IErrorWithMessage_alias_2 }
674
+
675
+ declare interface IEvidentirajERacunOdgovor {
676
+ /**
677
+ * Atribut za referenciranje potpisanog elementa.
678
+ */
679
+ _id: string;
680
+ /**
681
+ * Datum i vrijeme slanja odgovora
682
+ */
683
+ datumVrijemeSlanja: string;
684
+ /**
685
+ * Podaci o odgovoru.
686
+ */
687
+ Odgovor: IOdgovor;
688
+ }
689
+ export { IEvidentirajERacunOdgovor }
690
+ export { IEvidentirajERacunOdgovor as IEvidentirajERacunOdgovor_alias_1 }
691
+ export { IEvidentirajERacunOdgovor as IEvidentirajERacunOdgovor_alias_2 }
692
+
693
+ declare interface IEvidentirajERacunZahtjev {
694
+ /**
695
+ * Atribut za referenciranje potpisanog elementa.
696
+ */
697
+ _id: string;
698
+ /**
699
+ * Zaglavlje zahtjeva
700
+ */
701
+ Zaglavlje: IZaglavljeFiskalizacija;
702
+ /**
703
+ * Podaci o eRačunu
704
+ */
705
+ ERacun: IERacun[];
706
+ }
707
+ export { IEvidentirajERacunZahtjev }
708
+ export { IEvidentirajERacunZahtjev as IEvidentirajERacunZahtjev_alias_1 }
709
+ export { IEvidentirajERacunZahtjev as IEvidentirajERacunZahtjev_alias_2 }
710
+
711
+ /**
712
+ * Odgovor na zahtjev za evidenciju eRačuna
713
+ */
714
+ declare interface IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor {
715
+ /**
716
+ * Atribut korišten prilikom kreiranja i provjere digitalnog potpisa
717
+ */
718
+ _id: string;
719
+ /**
720
+ * Datum i vrijeme slanja odgovora
721
+ * @regex datumVrijemeDeci
722
+ */
723
+ datumVrijemeSlanja: string;
724
+ /**
725
+ * Odgovor na zahtjev
726
+ */
727
+ Odgovor: IOdgovor;
728
+ }
729
+ export { IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor }
730
+ export { IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor as IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor_alias_1 }
731
+ export { IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor as IEvidentirajIsporukuZaKojuNijeIzdanERacunOdgovor_alias_2 }
732
+
733
+ /**
734
+ * Zahtjev za evidenciju računa za koji nije izdan eRačun
735
+ */
736
+ declare interface IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev {
737
+ /**
738
+ * Atribut korišten prilikom kreiranja i provjere digitalnog potpisa
739
+ */
740
+ _id: string;
741
+ /**
742
+ * Zaglavlje zahtjeva
743
+ */
744
+ Zaglavlje: IZaglavljeIsporuka;
745
+ /**
746
+ * Podaci o jednom ili više računa (maksimalno 100)
747
+ */
748
+ Racun: IRacun[];
749
+ }
750
+ export { IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev }
751
+ export { IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev as IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev_alias_1 }
752
+ export { IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev as IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev_alias_2 }
753
+
754
+ /**
755
+ * Odgovor na zahtjev za evidenciju naplate
756
+ */
757
+ declare interface IEvidentirajNaplatuOdgovor {
758
+ /**
759
+ * Atribut korišten prilikom kreiranja i provjere digitalnog potpisa
760
+ */
761
+ _id: string;
762
+ /**
763
+ * Datum i vrijeme slanja odgovora
764
+ */
765
+ datumVrijemeSlanja: string;
766
+ /**
767
+ * Odgovor na zahtjev
768
+ */
769
+ Odgovor: IOdgovor;
770
+ }
771
+ export { IEvidentirajNaplatuOdgovor }
772
+ export { IEvidentirajNaplatuOdgovor as IEvidentirajNaplatuOdgovor_alias_1 }
773
+ export { IEvidentirajNaplatuOdgovor as IEvidentirajNaplatuOdgovor_alias_2 }
774
+
775
+ /**
776
+ * Zahtjev za evidenciju naplate eRačuna
777
+ */
778
+ declare interface IEvidentirajNaplatuZahtjev {
779
+ /**
780
+ * Atribut korišten prilikom kreiranja i provjere digitalnog potpisa
781
+ */
782
+ _id: string;
783
+ /**
784
+ * Zaglavlje zahtjeva
785
+ */
786
+ Zaglavlje: IZaglavljeIzvjestavanje;
787
+ /**
788
+ * Podaci o jednoj ili više naplata (maksimalno 100)
789
+ */
790
+ Naplata: INaplata[];
791
+ }
792
+ export { IEvidentirajNaplatuZahtjev }
793
+ export { IEvidentirajNaplatuZahtjev as IEvidentirajNaplatuZahtjev_alias_1 }
794
+ export { IEvidentirajNaplatuZahtjev as IEvidentirajNaplatuZahtjev_alias_2 }
795
+
796
+ /**
797
+ * Odgovor na zahtjev za evidenciju odbijanja
798
+ */
799
+ declare interface IEvidentirajOdbijanjeOdgovor {
800
+ /**
801
+ * Atribut korišten prilikom kreiranja i provjere digitalnog potpisa
802
+ */
803
+ _id: string;
804
+ /**
805
+ * Datum i vrijeme slanja zahtjeva
806
+ * @regex datumVrijemeDeci
807
+ */
808
+ datumVrijemeSlanja: string;
809
+ /**
810
+ * Odgovor na zahtjev
811
+ */
812
+ Odgovor: IOdgovor;
813
+ }
814
+ export { IEvidentirajOdbijanjeOdgovor }
815
+ export { IEvidentirajOdbijanjeOdgovor as IEvidentirajOdbijanjeOdgovor_alias_1 }
816
+ export { IEvidentirajOdbijanjeOdgovor as IEvidentirajOdbijanjeOdgovor_alias_2 }
817
+
818
+ /**
819
+ * Zahtjev za evidenciju odbijanja eRačuna
820
+ */
821
+ declare interface IEvidentirajOdbijanjeZahtjev {
822
+ /**
823
+ * Atribut korišten prilikom kreiranja i provjere digitalnog potpisa
824
+ */
825
+ _id: string;
826
+ /**
827
+ * Zaglavlje zahtjeva
828
+ */
829
+ Zaglavlje: IZaglavljeIzvjestavanje;
830
+ /**
831
+ * Podaci o jednom ili više odbijanja (maksimalno 100)
832
+ */
833
+ Odbijanje: IOdbijanje[];
834
+ }
835
+ export { IEvidentirajOdbijanjeZahtjev }
836
+ export { IEvidentirajOdbijanjeZahtjev as IEvidentirajOdbijanjeZahtjev_alias_1 }
837
+ export { IEvidentirajOdbijanjeZahtjev as IEvidentirajOdbijanjeZahtjev_alias_2 }
838
+
839
+ /**
840
+ * Greška prilikom obrade zahtjeva
841
+ */
842
+ declare interface IGreska {
843
+ /**
844
+ * Šifra greške
845
+ * @regex greska
846
+ */
847
+ sifra: string;
848
+ /**
849
+ * Redni broj zapisa u kojem je došlo do greške
850
+ * @regex redniBroj
851
+ */
852
+ redniBrojZapisa: string;
853
+ /**
854
+ * Opis greške
855
+ * @regex tekst1024
856
+ */
857
+ opis: string;
858
+ }
859
+ export { IGreska }
860
+ export { IGreska as IGreska_alias_1 }
861
+ export { IGreska as IGreska_alias_2 }
862
+
863
+ /**
864
+ * Informacije o izdavatelju eRačuna
865
+ * @bt BG-4
866
+ */
867
+ declare interface IIzdavatelj {
868
+ /**
869
+ * Puno ime pod kojim je izdavatelj registriran u nacionalnom registru pravnih osoba ili kao porezni obveznik ili na neki drugi način trguje kao osoba ili osobe.
870
+ * @bt BT-27
871
+ * @regex tekst500
872
+ */
873
+ ime: string;
874
+ /**
875
+ * OIB izdavatelja, dio identifikatora eRačuna.
876
+ * @bt BT-31
877
+ * @regex tekst200
878
+ */
879
+ oibPorezniBroj: string;
880
+ /**
881
+ * OIB operatera sukladno Zakonu o fiskalizaciji.
882
+ * @bt HR-BT-5
883
+ * @regex tekst200
884
+ */
885
+ oibOperatera: string;
886
+ }
887
+ export { IIzdavatelj }
888
+ export { IIzdavatelj as IIzdavatelj_alias_1 }
889
+ export { IIzdavatelj as IIzdavatelj_alias_2 }
890
+
891
+ /**
892
+ * Podaci o naplati eRačuna
893
+ */
894
+ declare interface INaplata {
895
+ /**
896
+ * Broj dokumenta eRačuna, dio identifikatora eRačuna (BT-1 iz UBL 2.1)
897
+ * @bt BT-1
898
+ * @regex tekst100
899
+ */
900
+ brojDokumenta: string;
901
+ /**
902
+ * Datum izdavanja eRačuna, dio identifikatora eRačuna (BT-2 iz UBL 2.1)
903
+ * @bt BT-2
904
+ * @regex datum
905
+ */
906
+ datumIzdavanja: string;
907
+ /**
908
+ * OIB ili porezni broj izdavatelja, dio identifikatora eRačuna (BT-31 iz UBL 2.1)
909
+ * @bt BT-31
910
+ * @regex tekst20
911
+ */
912
+ oibPorezniBrojIzdavatelja: string;
913
+ /**
914
+ * OIB ili porezni broj primatelja
915
+ * @regex tekst20
916
+ */
917
+ oibPorezniBrojPrimatelja: string;
918
+ /**
919
+ * Datum naplate eRačuna
920
+ * @regex datum
921
+ */
922
+ datumNaplate: string;
923
+ /**
924
+ * Iznos koji je naplaćen
925
+ * @regex decimal2
926
+ */
927
+ naplaceniIznos: number;
928
+ /**
929
+ * Šifra načina plaćanja (T – Transakcijski račun, O – Obračunsko plaćanje, Z – Ostalo).
930
+ * @regex nacinPlacanja
931
+ */
932
+ nacinPlacanja: string;
933
+ }
934
+ export { INaplata }
935
+ export { INaplata as INaplata_alias_1 }
936
+ export { INaplata as INaplata_alias_2 }
937
+
938
+ /**
939
+ * Podaci o odbijanju eRačuna
940
+ */
941
+ declare interface IOdbijanje {
942
+ /**
943
+ * Broj dokumenta eRačuna, dio identifikatora eRačuna (BT-1 iz UBL 2.1)
944
+ * @bt BT-1
945
+ * @regex tekst100
946
+ */
947
+ brojDokumenta: string;
948
+ /**
949
+ * Datum izdavanja eRačuna, dio identifikatora eRačuna (BT-2 iz UBL 2.1)
950
+ * @bt BT-2
951
+ * @regex datum
952
+ */
953
+ datumIzdavanja: string;
954
+ /**
955
+ * OIB ili porezni broj izdavatelja, dio identifikatora eRačuna (BT-31 iz UBL 2.1)
956
+ * @bt BT-31
957
+ * @regex tekst20
958
+ */
959
+ oibPorezniBrojIzdavatelja: string;
960
+ /**
961
+ * OIB ili porezni broj primatelja
962
+ * @regex tekst20
963
+ */
964
+ oibPorezniBrojPrimatelja: string;
965
+ /**
966
+ * Datum odbijanja eRačuna
967
+ * @regex datum
968
+ */
969
+ datumOdbijanja: string;
970
+ /**
971
+ * Šifra vrste razloga odbijanja eRačuna
972
+ * N - Neusklađenost podataka koji ne utječu na obračun poreza
973
+ * U - Neusklađenost podataka koji utječu na obračun poreza
974
+ * O - Ostalo
975
+ * @regex razlogOdbijanja
976
+ */
977
+ vrstaRazlogaOdbijanja: string;
978
+ /**
979
+ * Razlog odbijanja eRačuna
980
+ * @regex tekst1024
981
+ */
982
+ razlogOdbijanja: string;
983
+ }
984
+ export { IOdbijanje }
985
+ export { IOdbijanje as IOdbijanje_alias_1 }
986
+ export { IOdbijanje as IOdbijanje_alias_2 }
987
+
988
+ /**
989
+ * Odgovor Sustava za fiskalizaciju na poslani zahtjev. Odgovor opisuje uspješno zaprimanje (element
990
+ * prihvacenZahtjev ima vrijednost true) ili neuspješno zaprimanje (element prihvacenZahtjev ima vrijednosti false)
991
+ * u kojem slučaju element greska sadrži detalje s razlogom ne prihvaćanja zahtjeva.
992
+ */
993
+ declare interface IOdgovor {
994
+ /**
995
+ * Jedinstveni identifikator primljenog zahtjeva
996
+ * @regex uuid
997
+ */
998
+ idZahtjeva: string;
999
+ /**
1000
+ * Indikator prihvaćanja zahtjeva
1001
+ * @regex boolean
1002
+ */
1003
+ prihvacenZahtjev: boolean;
1004
+ /**
1005
+ * Detalji o grešci ako zahtjev nije prihvaćen
1006
+ */
1007
+ greska?: IGreska;
1008
+ }
1009
+ export { IOdgovor }
1010
+ export { IOdgovor as IOdgovor_alias_1 }
1011
+ export { IOdgovor as IOdgovor_alias_2 }
1012
+
1013
+ /**
1014
+ * Informacije o jednom ili više prethodnih eRačuna.
1015
+ * @bt BG-3
1016
+ */
1017
+ declare interface IPrethodniERacun {
1018
+ /**
1019
+ * Broj eRačuna istog izdavatelja na koji se eRačun referencira.
1020
+ * @bt BT-25
1021
+ * @regex tekst100
1022
+ */
1023
+ brojDokumenta: string;
1024
+ /**
1025
+ * Datum izdavanja prethodnog računa na koji se novi referencira.
1026
+ * @bt BT-26
1027
+ * @regex datum
1028
+ */
1029
+ datumIzdavanja: string;
1030
+ }
1031
+ export { IPrethodniERacun }
1032
+ export { IPrethodniERacun as IPrethodniERacun_alias_1 }
1033
+ export { IPrethodniERacun as IPrethodniERacun_alias_2 }
1034
+
1035
+ /**
1036
+ * Informacije o jednom ili više prethodnih računa (BG-3 iz UBL 2.1)
1037
+ */
1038
+ declare interface IPrethodniRacun {
1039
+ /**
1040
+ * Broj dokumenta istog izdavatelja na koji se račun referencira (BT-25 iz UBL 2.1)
1041
+ * @bt BT-25
1042
+ * @regex tekst100
1043
+ */
1044
+ brojDokumenta: string;
1045
+ /**
1046
+ * Datum izdavanja prethodnog računa na koji se novi dokument referencira (BT-26 iz UBL 2.1)
1047
+ * @bt BT-26
1048
+ * @regex datum
1049
+ */
1050
+ datumIzdavanja: string;
1051
+ }
1052
+ export { IPrethodniRacun }
1053
+ export { IPrethodniRacun as IPrethodniRacun_alias_1 }
1054
+ export { IPrethodniRacun as IPrethodniRacun_alias_2 }
1055
+
1056
+ /**
1057
+ * Informacije o plaćanjima
1058
+ * @bt BG-17
1059
+ */
1060
+ declare interface IPrijenosSredstava {
1061
+ /**
1062
+ * Jedinstveni identifikator financijskog platnog računa, kod pružatelja platnih usluga, na koji se plaćanje treba izvršiti.
1063
+ * @bt BT-84
1064
+ * @regex tekst34
1065
+ */
1066
+ identifikatorRacunaZaPlacanje: string;
1067
+ /**
1068
+ * Naziv računa za plaćanje, kod pružatelja platnih usluga, na koji se plaćanje treba izvršiti.
1069
+ * @bt BT-85
1070
+ * @regex tekst35
1071
+ */
1072
+ nazivRacunaZaPlacanje?: string;
1073
+ /**
1074
+ * Identifikator pružatelja platnih usluga (npr. BIC ili nacionalni klirinški kod).
1075
+ * @bt BT-86
1076
+ * @regex tekst25
1077
+ */
1078
+ identifikatorPruzateljaPlatnihUsluga?: string;
1079
+ }
1080
+ export { IPrijenosSredstava }
1081
+ export { IPrijenosSredstava as IPrijenosSredstava_alias_1 }
1082
+ export { IPrijenosSredstava as IPrijenosSredstava_alias_2 }
1083
+
1084
+ /**
1085
+ * Informacije o primatelju eRačuna
1086
+ * @bt BG-7
1087
+ */
1088
+ declare interface IPrimatelj {
1089
+ /**
1090
+ * Puno ime primatelja
1091
+ * @bt BT-44
1092
+ * @regex tekst500
1093
+ */
1094
+ ime: string;
1095
+ /**
1096
+ * Za porezne obveznike u RH je polje obavezno i izričito OIB
1097
+ * @bt BT-48
1098
+ * @regex tekst200
1099
+ */
1100
+ oibPorezniBroj: string;
1101
+ }
1102
+ export { IPrimatelj }
1103
+ export { IPrimatelj as IPrimatelj_alias_1 }
1104
+ export { IPrimatelj as IPrimatelj_alias_2 }
1105
+
1106
+ /**
1107
+ * Podaci o računu
1108
+ */
1109
+ declare interface IRacun {
1110
+ /**
1111
+ * Broj dokumenta računa, dio identifikatora eRačuna (BT-1 iz UBL 2.1)
1112
+ * @bt BT-1
1113
+ * @regex tekst100
1114
+ */
1115
+ brojDokumenta: string;
1116
+ /**
1117
+ * Datum izdavanja računa, dio identifikatora eRačuna (BT-2 iz UBL 2.1)
1118
+ * @bt BT-2
1119
+ * @regex datum
1120
+ */
1121
+ datumIzdavanja: string;
1122
+ /**
1123
+ * Šifra vrste dokumenta računa, dio identifikatora eRačuna (BT-3 iz UBL 2.1)
1124
+ * @bt BT-3
1125
+ * @regex vrstaDokumenta
1126
+ */
1127
+ vrstaDokumenta: string;
1128
+ /**
1129
+ * Šifra valute po ISO4217 u kojoj se iskazuju svi iznosi na računu, osim za ukupni iznos PDV-a u računovodstvenoj valuti (BT-5 iz UBL 2.1)
1130
+ * @bt BT-5
1131
+ * @regex valuta
1132
+ */
1133
+ valutaRacuna: string;
1134
+ /**
1135
+ * Datum kada plaćanje dospijeva na naplatu (BT-9 iz UBL 2.1)
1136
+ * @bt BT-9
1137
+ * @regex datum
1138
+ */
1139
+ datumDospijecaPlacanja?: string;
1140
+ /**
1141
+ * Identifikator poslovnog procesa u kojem se obavlja transakcija, kako bi se kupcu omogućila obrada na odgovarajući način (BT-23 iz UBL 2.1)
1142
+ * @bt BT-23
1143
+ * @regex tekst100
1144
+ */
1145
+ vrstaPoslovnogProcesa: string;
1146
+ /**
1147
+ * Identifikacija ugovora koja mora biti jedinstvena u kontekstu specifičnog trgovinskog odnosa i za određeno razdoblje (BT-12 iz UBL 2.1)
1148
+ * @bt BT-12
1149
+ * @regex tekst100
1150
+ */
1151
+ referencaNaUgovor?: string;
1152
+ /**
1153
+ * Datum na koji se obavlja ili dovršava isporuke robe ili usluga (BT-72 iz UBL 2.1)
1154
+ * @bt BT-72
1155
+ * @regex datum
1156
+ */
1157
+ datumIsporuke?: string;
1158
+ /**
1159
+ * Informacije o jednom ili više prethodnih računa (BG-3 iz UBL 2.1)
1160
+ */
1161
+ PrethodniRacun?: IPrethodniRacun[];
1162
+ /**
1163
+ * Informacije o izdavatelju (BG-4 iz UBL 2.1)
1164
+ */
1165
+ Izdavatelj: IIzdavatelj;
1166
+ /**
1167
+ * Informacije o primatelju (BG-7 iz UBL 2.1)
1168
+ */
1169
+ Primatelj: IPrimatelj;
1170
+ /**
1171
+ * Informacije o virmanskim plaćanjima ( BG-17 iz UBL 2.1)
1172
+ */
1173
+ PrijenosSredstava?: IPrijenosSredstava[];
1174
+ /**
1175
+ * Informacije o ukupnim novčanim iznosima za račun
1176
+ */
1177
+ DokumentUkupanIznos: IDokumentUkupanIznos;
1178
+ /**
1179
+ * Informacije o rekapitulaciji PDV-a po različitim kategorijama, stopama i razlozima izuzeća
1180
+ */
1181
+ RaspodjelaPdv: IRaspodjelaPdv[];
1182
+ /**
1183
+ * Skupina poslovnih pojmova koji nude informacije o popustima
1184
+ */
1185
+ DokumentPopust?: IDokumentPopust[];
1186
+ /**
1187
+ * Skupina poslovnih pojmova koji pružaju informacije o troškovima i porezima osim PDV-a
1188
+ */
1189
+ DokumentTrosak?: IDokumentTrosak[];
1190
+ /**
1191
+ * Informacije o pojedinačnim stavkama računa
1192
+ */
1193
+ StavkaRacuna: IStavkaRacuna[];
1194
+ /**
1195
+ * Indikator kopije računa koji pokazuje radi li se o kopiji računa (true) ili ne (false)
1196
+ * @regex ^(true|false)$
1197
+ */
1198
+ indikatorKopije: boolean;
1199
+ }
1200
+ export { IRacun }
1201
+ export { IRacun as IRacun_alias_1 }
1202
+ export { IRacun as IRacun_alias_2 }
1203
+
1204
+ /**
1205
+ * Informacije o rekapitulaciji PDV-a po različitim kategorijama, stopama i razlozima izuzeća.
1206
+ * @bt BG-23
1207
+ */
1208
+ declare interface IRaspodjelaPdv {
1209
+ /**
1210
+ * Šifra kategorije PDV-a po UNCL5305 (BT-118 iz UBL 2.1 ili HR-BT-18 ako se koristi).
1211
+ * @bt BT-118
1212
+ * @regex kategorijaPdv
1213
+ */
1214
+ kategorijaPdv: string;
1215
+ /**
1216
+ * Zbroj svih oporezivih iznosa koji podliježu određenom kodu kategorije PDV-a i stopi kategorije PDV-a, ako je primjenjiva stopa kategorije PDV-a (BT-116 iz UBL 2.1 ili HR-BT-16 ako se koristi).
1217
+ * @bt BT-116
1218
+ * @regex decimal2
1219
+ */
1220
+ oporeziviIznos: number;
1221
+ /**
1222
+ * Ukupni iznos PDV-a za pojedinu kategoriju PDV-a (BT-117 iz UBL 2.1 ili HR-BT-17 ako se koristi).
1223
+ * @bt BT-117
1224
+ * @regex decimal2
1225
+ */
1226
+ iznosPoreza: number;
1227
+ /**
1228
+ * Stopa PDV-a prikazana kao postotak koji se primjenjuje na relevantnu kategoriju PDV-a (BT-119 iz UBL 2.1 ili HR-BT-19 ako se koristi).
1229
+ * @bt BT-119
1230
+ */
1231
+ stopa?: number;
1232
+ /**
1233
+ * Šifra razloga za izuzeće iznosa od PDV-a po VATEX. Podatak je obvezan ako je kategorijaPdv jednaka prijenos porezne obveze ('AE') ili tekstRazlogaOslobodenja postoji (BT-121 iz UBL 2.1 ili HR-BT-21 ako se koristi).
1234
+ * @bt BT-121
1235
+ * @regex izuzecePdv
1236
+ */
1237
+ razlogOslobodenja?: string;
1238
+ /**
1239
+ * Tekst razloga za izuzeće od PDV-a. Podatak je obvezan ako je kategorijaPdv jednaka prijenos porezne obveze ('AE') ili razlogOslobodenja postoji (BT-120 iz UBL 2.1 ili HR-BT-20 ako se koristi).
1240
+ * @bt BT-120
1241
+ * @regex tekst1024
1242
+ */
1243
+ tekstRazlogaOslobodenja?: string;
1244
+ /**
1245
+ * Šifra hrvatske kategorije PDV-a (HR-BT-22 iz EU norme).
1246
+ * @bt HR-BT-22
1247
+ * @regex hrKategorijaPdv
1248
+ */
1249
+ hrOznakaKategorijaPdv?: string;
1250
+ }
1251
+ export { IRaspodjelaPdv }
1252
+ export { IRaspodjelaPdv as IRaspodjelaPdv_alias_1 }
1253
+ export { IRaspodjelaPdv as IRaspodjelaPdv_alias_2 }
1254
+
1255
+ /**
1256
+ * Informacije o pojedinačnim stavkama računa.
1257
+ * @bt BG-25
1258
+ */
1259
+ declare interface IStavkaERacuna {
1260
+ /**
1261
+ * Količina artikala (robe ili usluga) koje se obračunavaju na stavki računa.
1262
+ * @bt BT-129
1263
+ */
1264
+ kolicina: number;
1265
+ /**
1266
+ * Jedinica mjere koja se primjenjuje na količinu fakturiranu na računu.
1267
+ * @bt BT-130
1268
+ * @regex jedinicaMjere
1269
+ */
1270
+ jedinicaMjere: string;
1271
+ /**
1272
+ * Ukupan iznos stavke računa, uključujući popuste i troškove na razini stavke kao i druge relevantne poreze.
1273
+ * @bt BT-131
1274
+ * @regex decimal2
1275
+ */
1276
+ neto: number;
1277
+ /**
1278
+ * Cijena artikla bez PDV-a, nakon oduzimanja popusta na cijenu artikla.
1279
+ * @bt BT-146
1280
+ */
1281
+ artiklNetoCijena: number;
1282
+ /**
1283
+ * Jedinična cijena bez PDV-a prije oduzimanja popusta na cijenu artikla.
1284
+ * @bt BT-148
1285
+ * @regex decimal
1286
+ */
1287
+ artiklBrutoCijena?: number;
1288
+ /**
1289
+ * Broj jedinica artikla na koji se primjenjuje cijena.
1290
+ * @bt BT-149
1291
+ */
1292
+ artiklOsnovnaKolicina?: number;
1293
+ /**
1294
+ * Šifra jedinica mjere koja se primjenjuje na osnovnu količinu za cijenu artikla.
1295
+ * @bt BT-150
1296
+ * @regex jedinicaMjere
1297
+ */
1298
+ artiklJedinicaMjereZaOsnovnuKolicinu?: string;
1299
+ /**
1300
+ * Šifra kategorije PDV-a za fakturirani artikl po UNCL5305.
1301
+ * @bt BT-151
1302
+ * @regex kategorijaPdv
1303
+ */
1304
+ artiklKategorijaPdv: string;
1305
+ /**
1306
+ * Stopa PDV-a prikazana u obliku postotka koji vrijedi za fakturirani artikl.
1307
+ * @bt BT-152
1308
+ */
1309
+ artiklStopaPdv?: number;
1310
+ /**
1311
+ * Naziv artikla.
1312
+ * @bt BT-153
1313
+ * @regex tekst100
1314
+ */
1315
+ artiklNaziv: string;
1316
+ /**
1317
+ * Opis artikla.
1318
+ * @bt BT-154
1319
+ * @regex tekst1024
1320
+ */
1321
+ artiklOpis?: string;
1322
+ /**
1323
+ * Podrška za stavke koje su oslobođene PDV-a ili ne podliježu PDV-u.
1324
+ * @bt HR-BT-12
1325
+ * @regex hrKategorijaPdv
1326
+ */
1327
+ artiklHrOznakaKategorijaPdv?: string;
1328
+ /**
1329
+ * CPA nomenklatura označava se oznakom 'CG'.
1330
+ */
1331
+ ArtiklIdentifikatorKlasifikacija?: IArtiklIdentifikatorKlasifikacija[];
1332
+ }
1333
+ export { IStavkaERacuna }
1334
+ export { IStavkaERacuna as IStavkaERacuna_alias_1 }
1335
+ export { IStavkaERacuna as IStavkaERacuna_alias_2 }
1336
+
1337
+ /**
1338
+ * Informacije o pojedinačnim stavkama računa
1339
+ */
1340
+ declare interface IStavkaRacuna {
1341
+ /**
1342
+ * Količina artikala (robe ili usluga) koje se obračunavaju na stavki računa (BT-129 iz UBL 2.1)
1343
+ * @bt BT-129
1344
+ */
1345
+ kolicina: number;
1346
+ /**
1347
+ * Jedinica mjere koja se primjenjuje na količinu fakturiranu na računu (BT-130 iz UBL 2.1)
1348
+ * @bt BT-130
1349
+ * @regex jedinicaMjere
1350
+ */
1351
+ jedinicaMjere: string;
1352
+ /**
1353
+ * Ukupan iznos stavke računa, uključujući popuste i troškove na razini stavke kao i druge relevantne poreze (BT-131 iz UBL 2.1)
1354
+ * @bt BT-131
1355
+ * @regex decimal2
1356
+ */
1357
+ neto: number;
1358
+ /**
1359
+ * Cijena artikla bez PDV-a, nakon oduzimanja popusta na cijenu artikla (BT-146 iz UBL 2.1)
1360
+ * @bt BT-146
1361
+ */
1362
+ artiklNetoCijena: number;
1363
+ /**
1364
+ * Jedinična cijena bez PDV-a prije oduzimanja popusta na cijenu artikla (BT-148 iz UBL 2.1)
1365
+ * @bt BT-148
1366
+ * @regex decimal
1367
+ */
1368
+ artiklBrutoCijena?: number;
1369
+ /**
1370
+ * Broj jedinica artikla na koji se primjenjuje cijena (BT-149 iz UBL 2.1)
1371
+ * @bt BT-149
1372
+ */
1373
+ artiklOsnovnaKolicina?: number;
1374
+ /**
1375
+ * Šifra jedinica mjere koja se primjenjuje na osnovnu količinu za cijenu artikla. Iste vrijednosti kao i kod Jedinica mjere (BT-150 iz UBL 2.1)
1376
+ * @bt BT-150
1377
+ * @regex jedinicaMjere
1378
+ */
1379
+ artiklJedinicaMjereZaOsnovnuKolicinu?: string;
1380
+ /**
1381
+ * Šifra kategorije PDV-a za fakturirani artikl po UNCL5305 (BT-151 iz UBL 2.1)
1382
+ * @bt BT-151
1383
+ * @regex kategorijaPdv
1384
+ */
1385
+ artiklKategorijaPdv: string;
1386
+ /**
1387
+ * Stopa PDV-a prikazana u obliku postotka koji vrijedi za fakturirani artikl (BT-152 iz UBL 2.1)
1388
+ * @bt BT-152
1389
+ */
1390
+ artiklStopaPdv?: number;
1391
+ /**
1392
+ * Naziv artikla (BT-153 iz UBL 2.1)
1393
+ * @bt BT-153
1394
+ * @regex tekst100
1395
+ */
1396
+ artiklNaziv: string;
1397
+ /**
1398
+ * Opis artikla (BT-154 iz UBL 2.1)
1399
+ * @bt BT-154
1400
+ * @regex tekst1024
1401
+ */
1402
+ artiklOpis?: string;
1403
+ /**
1404
+ * Podrška za stavke koje su oslobođene PDV-a ili ne podliježu PDV-u (HR-BT-12 iz EU norme)
1405
+ * @bt HR-BT-12
1406
+ * @regex hrKategorijaPdv
1407
+ */
1408
+ artiklHrOznakaKategorijaPdv?: string;
1409
+ /**
1410
+ * CPA nomenklatura označava se oznakom 'CG'
1411
+ */
1412
+ ArtiklIdentifikatorKlasifikacija?: IArtiklIdentifikatorKlasifikacija[];
1413
+ }
1414
+ export { IStavkaRacuna }
1415
+ export { IStavkaRacuna as IStavkaRacuna_alias_1 }
1416
+ export { IStavkaRacuna as IStavkaRacuna_alias_2 }
1417
+
1418
+ declare interface IXmlSerializable {
1419
+ toXmlString(): string;
1420
+ }
1421
+ export { IXmlSerializable }
1422
+ export { IXmlSerializable as IXmlSerializable_alias_1 }
1423
+ export { IXmlSerializable as IXmlSerializable_alias_2 }
1424
+
1425
+ /**
1426
+ * Zaglavlje sadrži osnovne informacije o zahtjevu, uključujući datum i vrijeme slanja te vrstu eRačuna, koja može biti ulazna ili izlazna.
1427
+ */
1428
+ declare interface IZaglavljeFiskalizacija {
1429
+ /**
1430
+ * Datum i vrijeme slanja zahtjeva
1431
+ * @regex datumVrijemeDeci
1432
+ */
1433
+ datumVrijemeSlanja: string;
1434
+ /**
1435
+ * Vrsta računa
1436
+ * I - Izlazni eRačun, U - Ulazni eRačun, IR - Izlazni račun za koji nije izdan eRačun.
1437
+ * @regex vrstaERacuna
1438
+ */
1439
+ vrstaERacuna: string;
1440
+ }
1441
+ export { IZaglavljeFiskalizacija }
1442
+ export { IZaglavljeFiskalizacija as IZaglavljeFiskalizacija_alias_1 }
1443
+ export { IZaglavljeFiskalizacija as IZaglavljeFiskalizacija_alias_2 }
1444
+
1445
+ /**
1446
+ * Zaglavlje za zahtjeve evidencije isporuke za koju nije izdan eRačun
1447
+ */
1448
+ declare interface IZaglavljeIsporuka {
1449
+ /**
1450
+ * Datum i vrijeme slanja zahtjeva
1451
+ * @regex datumVrijemeDeci
1452
+ */
1453
+ datumVrijemeSlanja: string;
1454
+ /**
1455
+ * Vrsta računa, IR
1456
+ * @regex vrstaERacuna
1457
+ */
1458
+ vrstaRacuna: string;
1459
+ }
1460
+ export { IZaglavljeIsporuka }
1461
+ export { IZaglavljeIsporuka as IZaglavljeIsporuka_alias_1 }
1462
+ export { IZaglavljeIsporuka as IZaglavljeIsporuka_alias_2 }
1463
+
1464
+ /**
1465
+ * Zaglavlje sadrži osnovne informacije o zahtjevu, uključujući datum i vrijeme slanja.
1466
+ */
1467
+ declare interface IZaglavljeIzvjestavanje {
1468
+ /**
1469
+ * Datum i vrijeme slanja zahtjeva
1470
+ * @regex datumVrijemeDeci
1471
+ */
1472
+ datumVrijemeSlanja: string;
1473
+ }
1474
+ export { IZaglavljeIzvjestavanje }
1475
+ export { IZaglavljeIzvjestavanje as IZaglavljeIzvjestavanje_alias_1 }
1476
+ export { IZaglavljeIzvjestavanje as IZaglavljeIzvjestavanje_alias_2 }
1477
+
1478
+ export declare class Izdavatelj implements IzdavateljSerializable {
1479
+ private readonly _prefix;
1480
+ ime: string;
1481
+ oibPorezniBroj: string;
1482
+ oibOperatera: string;
1483
+ constructor(args: IIzdavatelj, prefix: "efis" | "eizv");
1484
+ toXmlString(): string;
1485
+ static fromXmlElement(el: XmlElement): IIzdavatelj;
1486
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IIzdavatelj;
1487
+ }
1488
+
1489
+ declare type IzdavateljSerializable = XmlSerializable<IIzdavatelj>;
1490
+ export { IzdavateljSerializable }
1491
+ export { IzdavateljSerializable as IzdavateljSerializable_alias_1 }
1492
+ export { IzdavateljSerializable as IzdavateljSerializable_alias_2 }
1493
+
1494
+ export declare class Naplata implements NaplataSerializable {
1495
+ brojDokumenta: string;
1496
+ datumIzdavanja: string;
1497
+ oibPorezniBrojIzdavatelja: string;
1498
+ oibPorezniBrojPrimatelja: string;
1499
+ datumNaplate: string;
1500
+ naplaceniIznos: number;
1501
+ nacinPlacanja: string;
1502
+ constructor(props: INaplata);
1503
+ toXmlString(): string;
1504
+ static fromXmlElement(el: XmlElement): INaplata;
1505
+ }
1506
+
1507
+ declare type NaplataSerializable = XmlSerializable<INaplata>;
1508
+ export { NaplataSerializable }
1509
+ export { NaplataSerializable as NaplataSerializable_alias_1 }
1510
+ export { NaplataSerializable as NaplataSerializable_alias_2 }
1511
+
1512
+ export declare class Odbijanje implements OdbijanjeSerializable {
1513
+ brojDokumenta: string;
1514
+ datumIzdavanja: string;
1515
+ oibPorezniBrojIzdavatelja: string;
1516
+ oibPorezniBrojPrimatelja: string;
1517
+ datumOdbijanja: string;
1518
+ vrstaRazlogaOdbijanja: string;
1519
+ razlogOdbijanja: string;
1520
+ constructor(props: IOdbijanje);
1521
+ toXmlString(): string;
1522
+ static fromXmlElement(el: XmlElement): IOdbijanje;
1523
+ }
1524
+
1525
+ declare type OdbijanjeSerializable = XmlSerializable<IOdbijanje>;
1526
+ export { OdbijanjeSerializable }
1527
+ export { OdbijanjeSerializable as OdbijanjeSerializable_alias_1 }
1528
+ export { OdbijanjeSerializable as OdbijanjeSerializable_alias_2 }
1529
+
1530
+ export declare class Odgovor implements OdgovorSerializable {
1531
+ private readonly _prefix;
1532
+ idZahtjeva: string;
1533
+ prihvacenZahtjev: boolean;
1534
+ greska?: Greska | undefined;
1535
+ constructor(props: IOdgovor, prefix: "efis" | "eizv");
1536
+ toXmlString(): string;
1537
+ static fromXmlElement(el: XmlElement, options?: {
1538
+ lenient?: boolean;
1539
+ errors?: ValidationError[];
1540
+ }): IOdgovor;
1541
+ }
1542
+
1543
+ declare type OdgovorSerializable = XmlSerializable<IOdgovor>;
1544
+ export { OdgovorSerializable }
1545
+ export { OdgovorSerializable as OdgovorSerializable_alias_1 }
1546
+ export { OdgovorSerializable as OdgovorSerializable_alias_2 }
1547
+
1548
+ export declare function parseError(error: unknown): IErrorWithMessage;
1549
+
1550
+ export declare function postRequest(data: string, userOptions: FiskalizacijaOptions): Promise<{
1551
+ statusCode: number;
1552
+ data: string;
1553
+ }>;
1554
+
1555
+ export declare class PrethodniERacun implements PrethodniERacunSerializable {
1556
+ brojDokumenta: string;
1557
+ datumIzdavanja: string;
1558
+ constructor(args: IPrethodniERacun);
1559
+ toXmlString(): string;
1560
+ static fromXmlElement(el: XmlElement): IPrethodniERacun;
1561
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IPrethodniERacun[] | undefined;
1562
+ }
1563
+
1564
+ declare type PrethodniERacunSerializable = XmlSerializable<IPrethodniERacun>;
1565
+ export { PrethodniERacunSerializable }
1566
+ export { PrethodniERacunSerializable as PrethodniERacunSerializable_alias_1 }
1567
+ export { PrethodniERacunSerializable as PrethodniERacunSerializable_alias_2 }
1568
+
1569
+ export declare class PrethodniRacun implements PrethodniRacunSerializable {
1570
+ brojDokumenta: string;
1571
+ datumIzdavanja: string;
1572
+ constructor(args: IPrethodniRacun);
1573
+ toXmlString(): string;
1574
+ static fromXmlElement(el: XmlElement): IPrethodniRacun;
1575
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IPrethodniRacun[] | undefined;
1576
+ }
1577
+
1578
+ declare type PrethodniRacunSerializable = XmlSerializable<IPrethodniRacun>;
1579
+ export { PrethodniRacunSerializable }
1580
+ export { PrethodniRacunSerializable as PrethodniRacunSerializable_alias_1 }
1581
+ export { PrethodniRacunSerializable as PrethodniRacunSerializable_alias_2 }
1582
+
1583
+ export declare class PrijenosSredstava implements PrijenosSredstavaSerializable {
1584
+ private readonly _prefix;
1585
+ identifikatorRacunaZaPlacanje: string;
1586
+ nazivRacunaZaPlacanje?: string | undefined;
1587
+ identifikatorPruzateljaPlatnihUsluga?: string | undefined;
1588
+ constructor(args: IPrijenosSredstava, prefix: "efis" | "eizv");
1589
+ toXmlString(): string;
1590
+ static fromXmlElement(el: XmlElement): IPrijenosSredstava;
1591
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IPrijenosSredstava[] | undefined;
1592
+ }
1593
+
1594
+ declare type PrijenosSredstavaSerializable = XmlSerializable<IPrijenosSredstava>;
1595
+ export { PrijenosSredstavaSerializable }
1596
+ export { PrijenosSredstavaSerializable as PrijenosSredstavaSerializable_alias_1 }
1597
+ export { PrijenosSredstavaSerializable as PrijenosSredstavaSerializable_alias_2 }
1598
+
1599
+ export declare class Primatelj implements PrimateljSerializable {
1600
+ private readonly _prefix;
1601
+ ime: string;
1602
+ oibPorezniBroj: string;
1603
+ constructor(args: IPrimatelj, prefix: "efis" | "eizv");
1604
+ toXmlString(): string;
1605
+ static fromXmlElement(el: XmlElement): IPrimatelj;
1606
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IPrimatelj;
1607
+ }
1608
+
1609
+ declare type PrimateljSerializable = XmlSerializable<IPrimatelj>;
1610
+ export { PrimateljSerializable }
1611
+ export { PrimateljSerializable as PrimateljSerializable_alias_1 }
1612
+ export { PrimateljSerializable as PrimateljSerializable_alias_2 }
1613
+
1614
+ declare class Racun implements RacunSerializable {
1615
+ brojDokumenta: string;
1616
+ datumIzdavanja: string;
1617
+ vrstaDokumenta: string;
1618
+ valutaRacuna: string;
1619
+ datumDospijecaPlacanja?: string;
1620
+ vrstaPoslovnogProcesa: string;
1621
+ referencaNaUgovor?: string;
1622
+ datumIsporuke?: string;
1623
+ PrethodniRacun?: PrethodniRacun[];
1624
+ Izdavatelj: Izdavatelj;
1625
+ Primatelj: Primatelj;
1626
+ PrijenosSredstava?: PrijenosSredstava[];
1627
+ DokumentUkupanIznos: DokumentUkupanIznos;
1628
+ RaspodjelaPdv: RaspodjelaPdv[];
1629
+ DokumentPopust?: DokumentPopust[];
1630
+ DokumentTrosak?: DokumentTrosak[];
1631
+ StavkaRacuna: StavkaRacuna[];
1632
+ indikatorKopije: boolean;
1633
+ constructor(props: IRacun);
1634
+ toXmlString(): string;
1635
+ static fromXmlElement(el: XmlElement): IRacun;
1636
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IRacun;
1637
+ }
1638
+ export { Racun }
1639
+ export { Racun as Racun_alias_1 }
1640
+
1641
+ declare type RacunSerializable = XmlSerializable<IRacun>;
1642
+ export { RacunSerializable }
1643
+ export { RacunSerializable as RacunSerializable_alias_1 }
1644
+ export { RacunSerializable as RacunSerializable_alias_2 }
1645
+
1646
+ export declare class RaspodjelaPdv implements RaspodjelaPdvSerializable {
1647
+ private readonly _prefix;
1648
+ kategorijaPdv: string;
1649
+ oporeziviIznos: number;
1650
+ iznosPoreza: number;
1651
+ stopa?: number | undefined;
1652
+ razlogOslobodenja?: string | undefined;
1653
+ tekstRazlogaOslobodenja?: string | undefined;
1654
+ hrOznakaKategorijaPdv?: string | undefined;
1655
+ constructor(args: IRaspodjelaPdv, prefix: "efis" | "eizv");
1656
+ toXmlString(): string;
1657
+ static fromXmlElement(el: XmlElement): IRaspodjelaPdv;
1658
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): IRaspodjelaPdv[];
1659
+ }
1660
+
1661
+ declare type RaspodjelaPdvSerializable = XmlSerializable<IRaspodjelaPdv>;
1662
+ export { RaspodjelaPdvSerializable }
1663
+ export { RaspodjelaPdvSerializable as RaspodjelaPdvSerializable_alias_1 }
1664
+ export { RaspodjelaPdvSerializable as RaspodjelaPdvSerializable_alias_2 }
1665
+
1666
+ export declare const REGEX: {
1667
+ decimal: RegExp;
1668
+ datumVrijemeDeci: RegExp;
1669
+ datumVrijeme: RegExp;
1670
+ datum: RegExp;
1671
+ vrstaERacuna: RegExp;
1672
+ uuid: RegExp;
1673
+ jedinicaMjere: RegExp;
1674
+ izuzecePdv: RegExp;
1675
+ valuta: RegExp;
1676
+ vrstaDokumenta: RegExp;
1677
+ nacinPlacanja: RegExp;
1678
+ kategorijaPdv: RegExp;
1679
+ klasifikacijaArtikla: RegExp;
1680
+ tekst3: RegExp;
1681
+ tekst10: RegExp;
1682
+ tekst20: RegExp;
1683
+ tekst25: RegExp;
1684
+ tekst34: RegExp;
1685
+ tekst35: RegExp;
1686
+ tekst50: RegExp;
1687
+ tekst100: RegExp;
1688
+ tekst120: RegExp;
1689
+ tekst200: RegExp;
1690
+ tekst300: RegExp;
1691
+ tekst500: RegExp;
1692
+ tekst1024: RegExp;
1693
+ decimal2: RegExp;
1694
+ decimalPositive2: RegExp;
1695
+ greska: RegExp;
1696
+ razlogOdbijanja: RegExp;
1697
+ drzava: RegExp;
1698
+ shemaIdentifikator: RegExp;
1699
+ boolean: RegExp;
1700
+ redniBroj: RegExp;
1701
+ hrKategorijaPdv: RegExp;
1702
+ razlogPopusta: RegExp;
1703
+ };
1704
+
1705
+ export declare type RegexKey = keyof typeof REGEX;
1706
+
1707
+ declare interface SigningOptions {
1708
+ privateKey: string | Buffer;
1709
+ publicCert: string | Buffer;
1710
+ signatureAlgorithm?: string;
1711
+ canonicalizationAlgorithm?: string;
1712
+ digestAlgorithm?: string;
1713
+ }
1714
+ export { SigningOptions }
1715
+ export { SigningOptions as SigningOptions_alias_1 }
1716
+ export { SigningOptions as SigningOptions_alias_2 }
1717
+
1718
+ export declare class StavkaERacuna implements StavkaERacunaSerializable {
1719
+ kolicina: number;
1720
+ jedinicaMjere: string;
1721
+ neto: number;
1722
+ artiklNetoCijena: number;
1723
+ artiklBrutoCijena?: number | undefined;
1724
+ artiklOsnovnaKolicina?: number | undefined;
1725
+ artiklJedinicaMjereZaOsnovnuKolicinu?: string | undefined;
1726
+ artiklKategorijaPdv: string;
1727
+ artiklStopaPdv?: number | undefined;
1728
+ artiklNaziv: string;
1729
+ artiklOpis?: string | undefined;
1730
+ artiklHrOznakaKategorijaPdv?: string | undefined;
1731
+ ArtiklIdentifikatorKlasifikacija?: ArtiklIdentifikatorKlasifikacija[] | undefined;
1732
+ constructor(args: IStavkaERacuna);
1733
+ toXmlString(): string;
1734
+ static fromXmlElement(el: XmlElement): IStavkaERacuna;
1735
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): {
1736
+ kolicina: number;
1737
+ jedinicaMjere: string;
1738
+ neto: number;
1739
+ artiklNetoCijena: number;
1740
+ artiklBrutoCijena: number | undefined;
1741
+ artiklOsnovnaKolicina: number | undefined;
1742
+ artiklJedinicaMjereZaOsnovnuKolicinu: string | undefined;
1743
+ artiklKategorijaPdv: string;
1744
+ artiklStopaPdv: number | undefined;
1745
+ artiklNaziv: string;
1746
+ artiklOpis: string | undefined;
1747
+ artiklHrOznakaKategorijaPdv: string | undefined;
1748
+ ArtiklIdentifikatorKlasifikacija: {
1749
+ identifikatorKlasifikacije: string;
1750
+ identifikatorSheme: string;
1751
+ verzijaSheme: string | undefined;
1752
+ }[] | undefined;
1753
+ }[];
1754
+ }
1755
+
1756
+ declare type StavkaERacunaSerializable = XmlSerializable<IStavkaERacuna>;
1757
+ export { StavkaERacunaSerializable }
1758
+ export { StavkaERacunaSerializable as StavkaERacunaSerializable_alias_1 }
1759
+ export { StavkaERacunaSerializable as StavkaERacunaSerializable_alias_2 }
1760
+
1761
+ export declare class StavkaRacuna implements StavkaRacunaSerializable {
1762
+ kolicina: number;
1763
+ jedinicaMjere: string;
1764
+ neto: number;
1765
+ artiklNetoCijena: number;
1766
+ artiklBrutoCijena?: number | undefined;
1767
+ artiklOsnovnaKolicina?: number | undefined;
1768
+ artiklJedinicaMjereZaOsnovnuKolicinu?: string | undefined;
1769
+ artiklKategorijaPdv: string;
1770
+ artiklStopaPdv?: number | undefined;
1771
+ artiklNaziv: string;
1772
+ artiklOpis?: string | undefined;
1773
+ artiklHrOznakaKategorijaPdv?: string | undefined;
1774
+ ArtiklIdentifikatorKlasifikacija?: ArtiklIdentifikatorKlasifikacija[] | undefined;
1775
+ constructor(args: IStavkaRacuna);
1776
+ toXmlString(): string;
1777
+ static fromXmlElement(el: XmlElement): IStavkaRacuna;
1778
+ static fromUblElement(el: XmlElement, type: "Invoice" | "CreditNote"): {
1779
+ kolicina: number;
1780
+ jedinicaMjere: string;
1781
+ neto: number;
1782
+ artiklNetoCijena: number;
1783
+ artiklBrutoCijena: number | undefined;
1784
+ artiklOsnovnaKolicina: number | undefined;
1785
+ artiklJedinicaMjereZaOsnovnuKolicinu: string | undefined;
1786
+ artiklKategorijaPdv: string;
1787
+ artiklStopaPdv: number | undefined;
1788
+ artiklNaziv: string;
1789
+ artiklOpis: string | undefined;
1790
+ artiklHrOznakaKategorijaPdv: string | undefined;
1791
+ ArtiklIdentifikatorKlasifikacija: {
1792
+ identifikatorKlasifikacije: string;
1793
+ identifikatorSheme: string;
1794
+ verzijaSheme: string | undefined;
1795
+ }[] | undefined;
1796
+ }[];
1797
+ }
1798
+
1799
+ declare type StavkaRacunaSerializable = XmlSerializable<IStavkaRacuna>;
1800
+ export { StavkaRacunaSerializable }
1801
+ export { StavkaRacunaSerializable as StavkaRacunaSerializable_alias_1 }
1802
+ export { StavkaRacunaSerializable as StavkaRacunaSerializable_alias_2 }
1803
+
1804
+ export declare const UBL_NS: {
1805
+ invoice: string;
1806
+ creditnote: string;
1807
+ cac: string;
1808
+ cbc: string;
1809
+ ext: string;
1810
+ hrextac: string;
1811
+ };
1812
+
1813
+ export declare function usingXmlDocument<T>(doc: string | Uint8Array | XmlDocument, fn: (r: XmlDocument) => T): T;
1814
+
1815
+ export declare class ValidationError extends Error {
1816
+ value: unknown;
1817
+ constructor(message: string, value: unknown);
1818
+ toString(): string;
1819
+ }
1820
+
1821
+ export declare function xmlEscape(val: string): string;
1822
+
1823
+ declare type XmlSerializable<T> = T & IXmlSerializable;
1824
+ export { XmlSerializable }
1825
+ export { XmlSerializable as XmlSerializable_alias_1 }
1826
+ export { XmlSerializable as XmlSerializable_alias_2 }
1827
+
1828
+ export declare class XmlSigner {
1829
+ private options;
1830
+ private defaultOptions;
1831
+ constructor(options: SigningOptions);
1832
+ static generateId(prefix?: string): string;
1833
+ private getXAdESContent;
1834
+ /**
1835
+ * Sign a fiscalization request XML document
1836
+ * @param xml - The XML string to sign
1837
+ * @param referenceURI - the value of the Id attribute to sign
1838
+ * @returns The signed XML string
1839
+ */
1840
+ signFiscalizationRequest(xml: string, referenceURI: string): string;
1841
+ static isValidSignature(signedXml: string | Buffer): boolean;
1842
+ static isValidSignature(signedXml: string | Buffer, publicCert: string | Buffer): boolean;
1843
+ static isValidSignature(signedXml: string | Buffer, publicCert: string | Buffer, signature: XmlElement): boolean;
1844
+ }
1845
+
1846
+ export declare class XmlTestProvider {
1847
+ static mockPrivateKey: string;
1848
+ static mockPublicCert: string;
1849
+ static mockPrivateKey2: string;
1850
+ static mockPublicCert2: string;
1851
+ static ublInvoiceFull: string;
1852
+ static ublInvoiceMinimal: string;
1853
+ static ublInvoiceInvalid: string;
1854
+ static EvidentirajERacunZahtjev: string;
1855
+ static EvidentirajERacunZahtjev_ID: string;
1856
+ static EvidentirajERacunZahtjev_brojDokumenta: string;
1857
+ static EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev: string;
1858
+ static EvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev_brojDokumenta: string;
1859
+ static EvidentirajNaplatuZahtjev: string;
1860
+ static EvidentirajNaplatuZahtjev_brojDokumenta: string;
1861
+ static EvidentirajOdbijanjeZahtjev: string;
1862
+ static EvidentirajOdbijanjeZahtjev_brojDokumenta: string;
1863
+ static mockEvidentirajERacunZahtjev(brojDokumenta: string, oib: string, vrsta?: "I" | "U"): IEvidentirajERacunZahtjev;
1864
+ static mockEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev(brojDokumenta: string, oib: string): IEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev;
1865
+ static mockEvidentirajNaplatuZahtjev(brojDokumenta: string, oib: string): IEvidentirajNaplatuZahtjev;
1866
+ static mockEvidentirajOdbijanjeZahtjev(brojDokumenta: string, oib: string): IEvidentirajOdbijanjeZahtjev;
1867
+ }
1868
+
1869
+ export declare class XmlTestValidator {
1870
+ static validateFullUblInvoice(er: IERacun): void;
1871
+ static validateMinimalUblInvoice(er: IERacun): void;
1872
+ }
1873
+
1874
+ export declare class ZaglavljeFiskalizacija implements ZaglavljeFiskalizacijaSerializable {
1875
+ datumVrijemeSlanja: string;
1876
+ vrstaERacuna: string;
1877
+ constructor(args: IZaglavljeFiskalizacija);
1878
+ toXmlString(): string;
1879
+ static fromXmlElement(el: XmlElement): IZaglavljeFiskalizacija;
1880
+ }
1881
+
1882
+ declare type ZaglavljeFiskalizacijaSerializable = XmlSerializable<IZaglavljeFiskalizacija>;
1883
+ export { ZaglavljeFiskalizacijaSerializable }
1884
+ export { ZaglavljeFiskalizacijaSerializable as ZaglavljeFiskalizacijaSerializable_alias_1 }
1885
+ export { ZaglavljeFiskalizacijaSerializable as ZaglavljeFiskalizacijaSerializable_alias_2 }
1886
+
1887
+ export declare class ZaglavljeIsporuka implements ZaglavljeIsporukaSerializable {
1888
+ datumVrijemeSlanja: string;
1889
+ vrstaRacuna: string;
1890
+ constructor(props: IZaglavljeIsporuka);
1891
+ toXmlString(): string;
1892
+ static fromXmlElement(el: XmlElement): IZaglavljeIsporuka;
1893
+ }
1894
+
1895
+ declare type ZaglavljeIsporukaSerializable = XmlSerializable<IZaglavljeIsporuka>;
1896
+ export { ZaglavljeIsporukaSerializable }
1897
+ export { ZaglavljeIsporukaSerializable as ZaglavljeIsporukaSerializable_alias_1 }
1898
+ export { ZaglavljeIsporukaSerializable as ZaglavljeIsporukaSerializable_alias_2 }
1899
+
1900
+ export declare class ZaglavljeIzvjestavanje implements ZaglavljeIzvjestavanjeSerializable {
1901
+ datumVrijemeSlanja: string;
1902
+ constructor(props: IZaglavljeIzvjestavanje);
1903
+ toXmlString(): string;
1904
+ static fromXmlElement(el: XmlElement): IZaglavljeIzvjestavanje;
1905
+ }
1906
+
1907
+ declare type ZaglavljeIzvjestavanjeSerializable = XmlSerializable<IZaglavljeIzvjestavanje>;
1908
+ export { ZaglavljeIzvjestavanjeSerializable }
1909
+ export { ZaglavljeIzvjestavanjeSerializable as ZaglavljeIzvjestavanjeSerializable_alias_1 }
1910
+ export { ZaglavljeIzvjestavanjeSerializable as ZaglavljeIzvjestavanjeSerializable_alias_2 }
1911
+
1912
+ export { }