fiskalizacija2 0.5.1 → 0.6.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/dist/index.js CHANGED
@@ -1,4 +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:/^[TOZ]$/,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}$/,tekst200:/^.{1,200}$/,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","cbc:TaxExclusiveAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","cbc:TaxExclusiveAmount"]}},"HR-BT-24":{id:"HR-BT-24",name:"HR Neoporezivi iznos",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","hrextac:OutOfScopeOfVATAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","hrextac: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 x(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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"):""}function f(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:"tekst200"}),oibOperatera:c(e,`${a}:oibOperatera`,t,{regexKey:"tekst200"})}}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:"tekst200"}).replace(/^HR/,""),oibOperatera:c(n,s("HR-BT-5",a,"BG-4"),o,{regexKey:"tekst200"})}}},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:"tekst200"})}}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:"tekst200"}).replace(/^HR/,"")}}},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 f(se.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f(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:x(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:x(e,"efis:Izdavatelj",t,C.fromXmlElement),Primatelj:x(e,"efis:Primatelj",t,y.fromXmlElement),PrijenosSredstava:P(e,"efis:PrijenosSredstava",t,R.fromXmlElement),DokumentUkupanIznos:x(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>`,this.artiklStopaPdv!==void 0&&(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:"decimal"}),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:g(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:"decimal"}),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:g(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:x(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 f($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f($.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:x(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 f($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f($.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:x(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 f($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f($.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:x(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>`,this.artiklStopaPdv!==void 0&&(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:"decimal"}),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:g(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:"decimal"}),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:g(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:x(e,"eizv:Izdavatelj",t,C.fromXmlElement),Primatelj:x(e,"eizv:Primatelj",t,y.fromXmlElement),PrijenosSredstava:P(e,"eizv:PrijenosSredstava",t,R.fromXmlElement),DokumentUkupanIznos:x(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:x(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:x(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:x(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 fe(i){if(!(i instanceof he))return f(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 w.fromUblElement(e,a)}function xe(i){if(!(i instanceof he))return f(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 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 f(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-----
1
+ function L(){let i=new Date,e=(A,X=2)=>String(A).padStart(X,"0"),a=A=>String(A).padEnd(4,"0"),r=i.getFullYear(),n=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`${r}-${n}-${l}T${u}:${p}:${h}.${T}`}function Re(i,e){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L(),vrstaERacuna:i},ERacun:Array.isArray(e)?e:[e]}}function Ee(i){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L(),vrstaRacuna:"IR"},Racun:Array.isArray(i)?i:[i]}}function Se(i){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L()},Naplata:Array.isArray(i)?i:[i]}}function Ne(i){return{_id:crypto.randomUUID(),Zaglavlje:{datumVrijemeSlanja:L()},Odbijanje:Array.isArray(i)?i:[i]}}import{XmlDocument as se,XmlElement as xe}from"libxml2-wasm";import{XmlDocument as je}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:/^[TOZ]$/,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}$/,tekst200:/^.{1,200}$/,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 ue={"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","cbc:TaxExclusiveAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","cbc:TaxExclusiveAmount"]}},"HR-BT-24":{id:"HR-BT-24",name:"HR Neoporezivi iznos",xpath:{Invoice:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","hrextac:OutOfScopeOfVATAmount"],CreditNote:["ext:Extensions","ext:Extension","ext:ExtensionContent","hrextac:HRFISK20Data","hrextac:HRLegalMonetaryTotal","hrextac: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 ve={"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 De(i,e){return i.startsWith(e)?i.slice(e.length+1):i}function s(i,e,a=null){let r=ue[i];return a?De(r.xpath[e].join("/"),k(a,e)):r.xpath[e].join("/")}function k(i,e){return ve[i].xpath[e].join("/")}function c(i,e,a,r={}){let{regexKey:n,lenient:l,errors:u}=r,p=i.get(e,a);if(!p)throw new j(`Element '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);if(n&&!O[n].test(p.content)){let h=new j(`Element '${e}' ne zadovoljava regex ${O[n]}`,p.content);if(l)u&&u.push(h);else throw h}return p.content}function m(i,e,a,r={}){let{regexKey:n,lenient:l,errors:u}=r,p=i.get(e,a);if(p){if(n&&!O[n].test(p.content)){let h=new j(`Element '${e}' ne zadovoljava regex ${O[n]}`,p.content);if(l)u&&u.push(h);else throw h}return p.content}}function v(i,e,a,r={}){let n=c(i,e,a,r),l=Number(n);if(isNaN(l)){let u=new j(`Element '${e}' ne sadr\u017Ei valjani broj: ${n}`,n);if(r.lenient)return r.errors&&r.errors.push(u),0;throw u}return l}function g(i,e,a,r={}){let n=m(i,e,a,r);if(n===void 0)return;let l=Number(n);if(isNaN(l)){let u=new j(`Element '${e}' ne sadr\u017Ei valjani broj: ${n}`,n);if(r.lenient){r.errors&&r.errors.push(u);return}else throw u}return l}function x(i,e,a,r){let n=i.get(e,a);if(!n)throw new j(`Element '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);return r(n)}function pe(i,e,a,r){let n=i.get(e,a);if(n)return r(n)}function B(i,e,a,r){let n=i.find(e,a);if(!n||n.length===0)throw new j(`Element '${e}' nije prona\u0111en u elementu '${i.prefix}:${i.name}'`,void 0);return n.map(l=>r(l))}function P(i,e,a,r){let n=i.find(e,a);if(!(!n||n.length===0))return n.map(l=>r(l))}function ge(i,e,a,r){let n=`@${e}`,l=i.find(n,a);if(!l||l.length===0)return;let u=l[0].content;if(r&&!O[r].test(u))throw new j(`Atribut '${e}' ne zadovoljava regex ${O[r]}`,u);return u}function I(i,e,a,r){let n=`@${e}`,l=i.find(n,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(r&&!O[r].test(u))throw new j(`Atribut '${e}' ne zadovoljava regex ${O[r]}`,u);return u}function d(i){return i?i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"):""}function f(i,e){if(!i)throw new Error("XML document is required for processing");typeof i=="string"?i=je.fromString(i):i instanceof Uint8Array&&(i=je.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 de}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:"tekst200"}),oibOperatera:c(e,`${a}:oibOperatera`,t,{regexKey:"tekst200"})}}static fromUblElement(e,a){let r=e.get(k("BG-4",a),o);if(!r)throw new j(`Grupa 'BG-4' nije prona\u0111ena u dokumentu '${a}'`,void 0);return{ime:c(r,s("BT-27",a,"BG-4"),o,{regexKey:"tekst500"}),oibPorezniBroj:c(r,s("BT-31",a,"BG-4"),o,{regexKey:"tekst200"}).replace(/^HR/,""),oibOperatera:c(r,s("HR-BT-5",a,"BG-4"),o,{regexKey:"tekst200"})}}},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:"tekst200"})}}static fromUblElement(e,a){let r=e.get(k("BG-7",a),o);if(!r)throw new j(`Grupa 'BG-7' nije prona\u0111ena u dokumentu '${a}'`,void 0);return{ime:c(r,s("BT-44",a,"BG-7"),o,{regexKey:"tekst500"}),oibPorezniBroj:c(r,s("BT-48",a,"BG-7"),o,{regexKey:"tekst200"}).replace(/^HR/,"")}}},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 r=e.find(k("BG-17",a),o);if(r.length!==0)return r.map(n=>({identifikatorRacunaZaPlacanje:c(n,s("BT-84",a,"BG-17"),o,{regexKey:"tekst34"}),nazivRacunaZaPlacanje:m(n,s("BT-85",a,"BG-17"),o,{regexKey:"tekst35"}),identifikatorPruzateljaPlatnihUsluga:m(n,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 r=e.find(k("HR-BG-2",a),o);if(r.length>0)return r.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 n=e.find(k("BG-23",a),o);if(n.length===0)throw new j(`Nije prona\u0111ena ni jedna grupa 'BG-23' u dokumentu '${a}'`,void 0);return n.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:ge(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:r=!1,errors:n}=a||{},l=b(e.namespaceUri);return{idZahtjeva:c(e,`${l}:idZahtjeva`,t,{regexKey:"uuid",lenient:r,errors:n}),prihvacenZahtjev:c(e,`${l}:prihvacenZahtjev`,t,{regexKey:"boolean",lenient:r,errors:n})==="true",greska:pe(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:r=!1,errors:n}=a||{},l=b(e.namespaceUri);return{sifra:c(e,`${l}:sifra`,t,{regexKey:"greska",lenient:r,errors:n}),redniBrojZapisa:c(e,`${l}:redniBrojZapisa`,t,{regexKey:"redniBroj",lenient:r,errors:n}),opis:c(e,`${l}:opis`,t,{regexKey:"tekst1024",lenient:r,errors:n})}}},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 r=e.find(k("BG-20",a),o);if(r.length!==0)return r.map(n=>({iznosPopust:v(n,s("BT-92",a,"BG-20"),o,{regexKey:"decimal2"}),kategorijaPdv:c(n,s("BT-95",a,"BG-20"),o,{regexKey:"kategorijaPdv"}),stopaPdv:g(n,s("BT-96",a,"BG-20"),o,{regexKey:"decimal"}),tekstRazlogaPopusta:m(n,s("BT-97",a,"BG-20"),o,{regexKey:"tekst1024"}),razlogPopusta:m(n,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 r=e.find(k("BG-21",a),o);if(r.length!==0)return r.map(n=>({iznosTrosak:v(n,s("BT-99",a,"BG-21"),o,{regexKey:"decimal2"}),kategorijaPdv:c(n,s("BT-102",a,"BG-21"),o,{regexKey:"kategorijaPdv"}),hrOznakaPorezneKategorije:m(n,s("HR-BT-6",a,"BG-21"),o,{regexKey:"hrKategorijaPdv"}),stopaPdv:g(n,s("BT-103",a,"BG-21"),o,{regexKey:"decimal"}),tekstRazlogaOslobodenjaPdv:m(n,s("HR-BT-7",a,"BG-21"),o,{regexKey:"tekst1024"}),razlogOslobodenjaPdv:m(n,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 f(de.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f(de.fromBuffer(e),a=>i.fromXml(a));if(e instanceof de)return i.fromXml(e.root);{let a=e;if(a.name==="Envelope"&&a.namespaceUri===t.soapenv){let r=a.get("/soapenv:Envelope/soapenv:Body/efis:EvidentirajERacunZahtjev",t);if(!r)throw new j("Expected 'EvidentirajERacunZahtjev' element in SOAP body",e);a=r}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:x(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:x(e,"efis:Izdavatelj",t,C.fromXmlElement),Primatelj:x(e,"efis:Primatelj",t,y.fromXmlElement),PrijenosSredstava:P(e,"efis:PrijenosSredstava",t,R.fromXmlElement),DokumentUkupanIznos:x(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 r=e.find(k("BG-3",a),o);if(r.length!==0)return r.map(n=>({brojDokumenta:c(n,s("BT-25",a,"BG-3"),o,{regexKey:"tekst100"}),datumIzdavanja:c(n,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>`,this.artiklStopaPdv!==void 0&&(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:"decimal"}),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:g(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 r=e.find(k("BG-25",a),o);if(r.length===0)throw new j(`Nije prona\u0111ena ni jedna grupa 'BG-25' u dokumentu '${a}'`,void 0);return r.map(n=>({kolicina:v(n,s("BT-129",a,"BG-25"),o,{regexKey:"decimal"}),jedinicaMjere:c(n,s("BT-130",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),neto:v(n,s("BT-131",a,"BG-25"),o,{regexKey:"decimal2"}),artiklNetoCijena:v(n,s("BT-146",a,"BG-25"),o,{regexKey:"decimal"}),artiklBrutoCijena:g(n,s("BT-148",a,"BG-25"),o,{regexKey:"decimal"}),artiklOsnovnaKolicina:g(n,s("BT-149",a,"BG-25"),o,{regexKey:"decimal"}),artiklJedinicaMjereZaOsnovnuKolicinu:m(n,s("BT-150",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),artiklKategorijaPdv:c(n,s("BT-151",a,"BG-25"),o,{regexKey:"kategorijaPdv"}),artiklStopaPdv:g(n,s("BT-152",a,"BG-25"),o,{regexKey:"decimal"}),artiklNaziv:c(n,s("BT-153",a,"BG-25"),o,{regexKey:"tekst100"}),artiklOpis:m(n,s("BT-154",a,"BG-25"),o,{regexKey:"tekst1024"}),artiklHrOznakaKategorijaPdv:m(n,s("HR-BT-12",a,"BG-25"),o,{regexKey:"hrKategorijaPdv"}),ArtiklIdentifikatorKlasifikacija:P(n,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:r=!1,errors:n}=a||{};return{_id:I(e,"efis:id",t),datumVrijemeSlanja:c(e,"efis:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:r,errors:n}),Odgovor:x(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 f($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f($.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 r=a.get("/soapenv:Envelope/soapenv:Body/eizv:EvidentirajNaplatuZahtjev",t);if(!r)throw new j("Expected 'EvidentirajNaplatuZahtjev' element in SOAP body",e);a=r}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:x(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 f($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f($.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 r=a.get("/soapenv:Envelope/soapenv:Body/eizv:EvidentirajOdbijanjeZahtjev",t);if(!r)throw new j("Expected 'EvidentirajOdbijanjeZahtjev' element in SOAP body",e);a=r}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:x(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 f($.fromString(e),a=>i.fromXml(a));if(Buffer.isBuffer(e))return f($.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:x(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 r=e.find(k("BG-3",a),o);if(r.length!==0)return r.map(n=>({brojDokumenta:c(n,s("BT-25",a,"BG-3"),o,{regexKey:"tekst100"}),datumIzdavanja:c(n,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>`,this.artiklStopaPdv!==void 0&&(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:"decimal"}),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:g(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 r=e.find(k("BG-25",a),o);if(r.length===0)throw new j(`Nije prona\u0111ena ni jedna grupa 'BG-25' u dokumentu '${a}'`,void 0);return r.map(n=>({kolicina:v(n,s("BT-129",a,"BG-25"),o,{regexKey:"decimal"}),jedinicaMjere:c(n,s("BT-130",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),neto:v(n,s("BT-131",a,"BG-25"),o,{regexKey:"decimal2"}),artiklNetoCijena:v(n,s("BT-146",a,"BG-25"),o,{regexKey:"decimal"}),artiklBrutoCijena:g(n,s("BT-148",a,"BG-25"),o,{regexKey:"decimal"}),artiklOsnovnaKolicina:g(n,s("BT-149",a,"BG-25"),o,{regexKey:"decimal"}),artiklJedinicaMjereZaOsnovnuKolicinu:m(n,s("BT-150",a,"BG-25"),o,{regexKey:"jedinicaMjere"}),artiklKategorijaPdv:c(n,s("BT-151",a,"BG-25"),o,{regexKey:"kategorijaPdv"}),artiklStopaPdv:g(n,s("BT-152",a,"BG-25"),o,{regexKey:"decimal"}),artiklNaziv:c(n,s("BT-153",a,"BG-25"),o,{regexKey:"tekst100"}),artiklOpis:m(n,s("BT-154",a,"BG-25"),o,{regexKey:"tekst1024"}),artiklHrOznakaKategorijaPdv:m(n,s("HR-BT-12",a,"BG-25"),o,{regexKey:"hrKategorijaPdv"}),ArtiklIdentifikatorKlasifikacija:P(n,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:x(e,"eizv:Izdavatelj",t,C.fromXmlElement),Primatelj:x(e,"eizv:Primatelj",t,y.fromXmlElement),PrijenosSredstava:P(e,"eizv:PrijenosSredstava",t,R.fromXmlElement),DokumentUkupanIznos:x(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:r=!1,errors:n}=a||{};return{_id:I(e,"eizv:id",t),datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:r,errors:n}),Odgovor:x(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:r=!1,errors:n}=a||{};return{_id:I(e,"eizv:id",t),datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:r,errors:n}),Odgovor:x(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:r=!1,errors:n}=a||{};return{_id:I(e,"eizv:id",t),datumVrijemeSlanja:c(e,"eizv:datumVrijemeSlanja",t,{regexKey:"datumVrijemeDeci",lenient:r,errors:n}),Odgovor:x(e,"eizv:Odgovor",t,l=>z.fromXmlElement(l,a))}}};var he={test:"https://cis.porezna-uprava.hr:8511/FiskalizacijaService",prod:"https://cis.porezna-uprava.hr:8509/FiskalizacijaService"};var fe={inv:"urn:oasis:names:specification:ubl:schema:xsd:Invoice-2",cn:"urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2"};function ke(i){let e=i.get("//inv:Invoice",fe)||i.get("//cn:CreditNote",fe)||null;if(!e)throw new j("No UBL Invoice or CreditNote element found in the document.",i.toString());return e}function Pe(i){if(!(i instanceof xe)&&!(i instanceof se))try{return f(i,n=>Pe(n))}catch(n){throw n instanceof j?n:new j("Failed to parse XML document.",n)}let e=i instanceof se?i.root:i,a=ke(e),r=a.name;return w.fromUblElement(a,r)}function Ie(i){if(!(i instanceof xe)&&!(i instanceof se))return f(i,n=>Ie(n));let e=i instanceof se?i.root:i,a=ke(e),r=a.name;return Z.fromUblElement(a,r)}import{pemToDer as Ke,SignedXml as be}from"xml-crypto";import{Sha256 as Ae}from"xml-crypto/lib/hash-algorithms.js";import{randomUUID as Te}from"crypto";function le(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 ze(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=le(this.options.publicCert),this.options.privateKey=ze(this.options.privateKey)}static generateId(e){return e?`${e}-${Te()}`:Te()}getXAdESContent(e,a,r){let n=this.options.publicCert;Buffer.isBuffer(n)&&(n=n.toString("utf8"));let l=Ke(n),u=new Ae().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>${r}</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 r=i.generateId("Sig"),n=i.generateId("xades"),l=new Date().toISOString(),u=new be({publicCert:this.options.publicCert,privateKey:this.options.privateKey,signatureAlgorithm:this.options.signatureAlgorithm,canonicalizationAlgorithm:this.options.canonicalizationAlgorithm,objects:[{content:this.getXAdESContent(r,n,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='${n}']`,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:r}}),u.getSignedXml()}static isValidSignature(e,a,r){if(!e)throw new Error("Signed XML is required for signature validation");if(r===void 0)return f(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
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)}f(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,fe as getERacunFromUbl,Be as getEvidentirajERacunZahtjev,Ce as getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev,ye as getEvidentirajNaplatuZahtjev,Re as getEvidentirajOdbijanjeZahtjev,xe as getRacunFromUbl};
3
+ -----END CERTIFICATE-----`;return this.isValidSignature(e,h,u)}return this.isValidSignature(e,a,u)});Buffer.isBuffer(e)&&(e=e.toString("utf8"));let n=new be({publicCert:le(a)});n.loadSignature(r.toString({format:!1,noDeclaration:!0}));try{return n.checkSignature(e)}catch{return!1}}};import{XmlDocument as Xe}from"libxml2-wasm";import Be from"https";import{URL as Oe}from"url";var $e={timeout:3e4,allowSelfSigned:!1};async function Ce(i,e){let a={...$e,...e},r=new Oe(a.service),n={rejectUnauthorized:!a.allowSelfSigned};a.ca&&(n.ca=a.ca);let l=new Be.Agent(n);return new Promise((u,p)=>{let h=Be.request({hostname:r.hostname,port:r.port||443,path:r.pathname+r.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 me=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 r={success:!1};try{let n=e instanceof a.RequestClass?e:new a.RequestClass(e);r.reqObject=n;let l=this.signer.signFiscalizationRequest(n.toXmlString(),n._id),u=this.generateSoapEnvelope(l);r.soapReqRaw=u;let{statusCode:p,data:h}=await Ce(u,this.options);r.httpStatusCode=p,r.soapResRaw=h;try{r.soapResSignatureValid=Q.isValidSignature(r.soapResRaw)}catch(T){r.soapResSignatureValid=!1,r.error=W(T)}f(Xe.fromString(h),T=>{let A=T.get(a.xpath,t);if(!A)throw new j(`HTTP ${p} | ${a.xpath}`,h);let X=[];r.resObject=a.ResponseClass.fromXmlElement(A,{lenient:!0,errors:X}),X.length>0&&(r.resErrors=X.map(ye=>W(ye))),r.success=r.resObject.Odgovor.prihvacenZahtjev&&!r.resObject.Odgovor.greska})}catch(n){r.error=W(n)}return r}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 r="";return a&&(r+='<?xml version="1.0" encoding="UTF-8"?>'),r+='<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">',r+="<soap:Body>",r+=e,r+="</soap:Body>",r+="</soap:Envelope>",r}};export{me as FiskalizacijaClient,he as FiskalizacijaService,Pe as getERacunFromUbl,Re as getEvidentirajERacunZahtjev,Ee as getEvidentirajIsporukuZaKojuNijeIzdanERacunZahtjev,Se as getEvidentirajNaplatuZahtjev,Ne as getEvidentirajOdbijanjeZahtjev,Ie as getRacunFromUbl};
4
4
  //# sourceMappingURL=index.js.map