# BR-27 — Neto cijena artikla je negativna

Source: https://xsdhub.com/hr/pravila-e-racuna/br-27

 Uzrok, popravak i reproducirani XML primjer za BR-27 u hrvatskom eRačunu.

  Značenje i popravak

 Neto cijena artikla ne smije biti negativna prema osnovnom pravilu BR-27. Cijena se nalazi u Price/PriceAmount i razlikuje se od neto iznosa cijele stavke. Kod storna ili odobrenja potrebno je pravilno odabrati vrstu dokumenta i način prikaza količine, a ne nasumično promijeniti predznak cijene. Poslovni razlog umanjenja ne ukida zahtjeve izabranog formata.

 Pogrešni test mijenja samo PriceAmount sa 100 na minus 1. Ispravljena datoteka vraća cijenu 100. Količina i neto iznos stavke namjerno ostaju isti u obje inačice, što pokazuje da provjera cilja cijenu, a ne konačni saldo računa. Povezane aritmetičke pogreške mogu se pojaviti zajedno s ciljanim kodom i ostaju vidljive u rezultatu. U programu koji izrađuje račun provjeri odvaja li se cijena prije popusta od neto cijene nakon popusta. Ako korisničko sučelje prihvaća negativni popust, izvoz ne smije iz toga proizvesti nedopuštenu negativnu neto cijenu. Za stvarno odobrenje koristi odgovarajući UBL CreditNote i provjeri cijeli dokument, uključujući reference prethodnog računa i iznose poreza. Samo uklanjanje minusa bez provjere poslovnog događaja moglo bi promijeniti financijsko značenje dokumenta. Pozitivni primjer potvrđuje tehnički prolazak navedenih pravila, a ne ispravnost računovodstvenog postupka za konkretnu transakciju.



  Polje koje mijenja test

 Za BR-27 mijenja se samo /*/cac:InvoiceLine/cac:Price/cbc:PriceAmount. Struktura i atributi ostaju jednaki, a zamjenjuje se tekst odabranog elementa.



  Reproducirani rezultat

 Negativna datoteka: BR-27.

 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": "BR-27",
        "message": "[BR-27]-The Item net price (BT-146) shall NOT be negative.",
        "path": "/*:Invoice[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'][1]/*:InvoiceLine[namespace-uri()='urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-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>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">-1</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": "EN16931 1.3.16 expanded source",
    "kind": "assert",
    "context": "cac:InvoiceLine | cac:CreditNoteLine",
    "test": "(cac:Price/cbc:PriceAmount) >= 0",
    "message": "[BR-27]-The Item net price (BT-146) shall NOT be negative."
  }
] 



 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) 


