HR-BR-40 — Datum izdavanja izvan je dopuštenog razdoblja
Uzrok, popravak i reproducirani XML primjer za HR-BR-40 u hrvatskom eRačunu.
Značenje i popravak
Aktualni hrvatski predikat uspoređuje datum izdavanja s donjom granicom 1. siječnja 2026. i gornjom granicom 1. siječnja 2100. U samom kodu donja usporedba uključuje početni datum, dok gornja granica nije uključena. Tekst izvorne poruke govori o većem datumu, pa se u ovom vodiču precizno opisuje izvršeni predikat umjesto zaključivanja samo iz rečenice poruke.
Negativni primjer mijenja IssueDate na 2025-12-31. Ispravljeni račun vraća testni datum 2026-11-03. Vrijeme izdavanja, dospijeće i broj računa ostaju isti. XML Schema prihvaća oba zapisa kao datume, ali hrvatska poslovna provjera odbija raniji datum. To pokazuje razliku između valjanog XML tipa i nacionalnog uvjeta.
Ako provjeravaš stariji dokument, najprije utvrdi pripada li zaista ovom profilu i ovoj verziji pravila. Nemoj prepisati stvarni datum izdavanja samo kako bi stariji račun prošao noviji validator. Za postojeći račun mora se sačuvati pravno i poslovno značenje datuma. Pogreška može nastati i zamjenom datuma isporuke ili uvoza za datum izdavanja u izvoznom modulu. Lokalna usporedba ne potvrđuje rok prijave, porezno razdoblje ni uspješnu fiskalizaciju. Posebne provjere drugih datuma mogu imati drukčiju donju granicu, pa ovu granicu ne treba širiti na sva datumska polja u dokumentu.
Polje koje mijenja test
Za HR-BR-40 mijenja se samo /*/cbc:IssueDate. Struktura i atributi ostaju jednaki, a zamjenjuje se tekst odabranog elementa.
Reproducirani rezultat
Negativna datoteka: HR-BR-40.
Ispravljena datoteka prolazi XSD i oba skupa poslovnih pravila. Upozorenja osnovnog profila ostaju vidljiva: UBL-CR-006, UBL-CR-200, UBL-CR-412.
{
"bad": {
"ok": false,
"stage": "Business rules",
"rules": "HR-CIUS/EXT 2025 1.0.0, 13.3.2026 (primjena 15.3.2026) + EN16931 1.3.16",
"syntax": "UBL",
"engine": "SaxonC-HE 13.1 / saxonche 13.1.1",
"errors": [
{
"code": "HR-BR-40",
"message": "[HR-BR-40] - Datum izdavanja računa (BT-2) - (2025-12-31) mora biti veći od 01.01.2026 i manji od 01.01.2100.",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
}
],
"warnings": [
{
"code": "UBL-CR-006",
"message": "[UBL-CR-006]-A UBL invoice should not include the IssueTime",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
},
{
"code": "UBL-CR-200",
"message": "[UBL-CR-200]-A UBL invoice should not include the AccountingSupplierParty SellerContact",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
},
{
"code": "UBL-CR-412",
"message": "[UBL-CR-412]-A UBL invoice should not include the PaymentMeans PaymentDueDate",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
}
],
"truncated": false
},
"good": {
"ok": true,
"stage": "Business rules",
"rules": "HR-CIUS/EXT 2025 1.0.0, 13.3.2026 (primjena 15.3.2026) + EN16931 1.3.16",
"syntax": "UBL",
"engine": "SaxonC-HE 13.1 / saxonche 13.1.1",
"errors": [],
"warnings": [
{
"code": "UBL-CR-006",
"message": "[UBL-CR-006]-A UBL invoice should not include the IssueTime",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
},
{
"code": "UBL-CR-200",
"message": "[UBL-CR-200]-A UBL invoice should not include the AccountingSupplierParty SellerContact",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
},
{
"code": "UBL-CR-412",
"message": "[UBL-CR-412]-A UBL invoice should not include the PaymentMeans PaymentDueDate",
"path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]"
}
],
"truncated": false
}
}Izmišljeni XML za preuzimanje
Preuzmi pogrešan XML · Preuzmi ispravljeni XML
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:mfin.gov.hr:cius-2025:1.0#conformant#urn:mfin.gov.hr:ext-2025:1.0</cbc:CustomizationID>
<cbc:ProfileID>P1</cbc:ProfileID>
<cbc:ID>TEST-HR-2026-001</cbc:ID>
<cbc:IssueDate>2025-12-31</cbc:IssueDate>
<cbc:IssueTime>12:34:56</cbc:IssueTime>
<cbc:DueDate>2026-11-30</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9934">12345678903</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Izmišljena ulica 1</cbc:StreetName>
<cbc:CityName>Zagreb</cbc:CityName>
<cbc:PostalZone>10000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>HR</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>HR12345678903</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>XSDHub izmišljeni prodavatelj</cbc:RegistrationName>
<cbc:CompanyID>12345678903</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
<cac:SellerContact>
<cbc:ID>12345678903</cbc:ID>
<cbc:Name>Testni operater</cbc:Name>
</cac:SellerContact>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="9934">98765432106</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Izmišljena ulica 1</cbc:StreetName>
<cbc:CityName>Zagreb</cbc:CityName>
<cbc:PostalZone>10000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>HR</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>HR98765432106</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>XSDHub izmišljeni kupac</cbc:RegistrationName>
<cbc:CompanyID>98765432106</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>10</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2026-11-30</cbc:PaymentDueDate>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">125.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">125.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Izmišljena usluga za provjeru</cbc:Name>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="CG">62.10.11</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>
</ubl:Invoice>
<ubl:Invoice xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cn="urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:mfin.gov.hr:cius-2025:1.0#conformant#urn:mfin.gov.hr:ext-2025:1.0</cbc:CustomizationID>
<cbc:ProfileID>P1</cbc:ProfileID>
<cbc:ID>TEST-HR-2026-001</cbc:ID>
<cbc:IssueDate>2026-11-03</cbc:IssueDate>
<cbc:IssueTime>12:34:56</cbc:IssueTime>
<cbc:DueDate>2026-11-30</cbc:DueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="9934">12345678903</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Izmišljena ulica 1</cbc:StreetName>
<cbc:CityName>Zagreb</cbc:CityName>
<cbc:PostalZone>10000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>HR</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>HR12345678903</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>XSDHub izmišljeni prodavatelj</cbc:RegistrationName>
<cbc:CompanyID>12345678903</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
<cac:SellerContact>
<cbc:ID>12345678903</cbc:ID>
<cbc:Name>Testni operater</cbc:Name>
</cac:SellerContact>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeID="9934">98765432106</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>Izmišljena ulica 1</cbc:StreetName>
<cbc:CityName>Zagreb</cbc:CityName>
<cbc:PostalZone>10000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>HR</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>HR98765432106</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>XSDHub izmišljeni kupac</cbc:RegistrationName>
<cbc:CompanyID>98765432106</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:PaymentMeans>
<cbc:PaymentMeansCode>10</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2026-11-30</cbc:PaymentDueDate>
</cac:PaymentMeans>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">25.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">125.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">125.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">100.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Izmišljena usluga za provjeru</cbc:Name>
<cac:CommodityClassification>
<cbc:ItemClassificationCode listID="CG">62.10.11</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="C62">1</cbc:BaseQuantity>
</cac:Price>
</cac:InvoiceLine>
</ubl:Invoice>
Uvjet iz izvornih pravila
[
{
"source": "invoice/rules/hr/expanded.sch",
"kind": "assert",
"context": "ubl-creditnote:CreditNote | ubl-invoice:Invoice",
"test": "(xs:date(cbc:IssueDate) >= xs:date('2026-01-01')) and (xs:date(cbc:IssueDate) < xs:date('2100-01-01'))",
"message": "[HR-BR-40] - Datum izdavanja računa (BT-2) - ( ) mora biti veći od 01.01.2026 i manji od 01.01.2100."
}
]UBL 2.1 Invoice / CreditNote · EN16931 1.3.16 · HR-CIUS/EXT 13.3.2026, primjena 15.3.2026 · XSD + Schematron #ALL
Provjeri vlastiti XML · Sva pravila
Porezna uprava: dokumentacija · Izvori / Sources · JSON: testovi · Metoda i granice (Hrvatski)