Konto
Polski

BR-DEC-23: Kwota netto pozycji faktury (BT-131) ma ponad 2 miejsca po przecinku

Reguła podstawowa EN 16931 · Błąd · UBL, CII

StandardEN 16931-1 (europejski model semantyczny e-faktury)WagaBłąd: faktura zostaje odrzuconaSkładniaUBL, CIIPojęcia biznesowe
  • BT-131 Invoice line net amount
DotyczyKażda faktura EN 16931: XRechnung, ZUGFeRD 2.x / Factur-X (profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 oraz krajowe CIUS.

Oficjalna treść reguły

[BR-DEC-23] The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.

Tekst normatywny jest w języku angielskim i cytowany bez zmian.

Dlaczego pojawia się ten błąd

Kwota netto pozycji faktury może mieć co najwyżej dwa miejsca po przecinku. Reguła liczy znaki po separatorze dziesiętnym w cac:InvoiceLine/cbc:LineExtensionAmount (UBL) lub ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount (CII). Błąd jest częsty, gdy iloczyn ilości i ceny jednostkowej z czterema miejscami po przecinku zapisano bez zaokrąglenia (3 x 1.2345 = 3.7035) lub gdy formater liczb zawsze generuje trzy lub więcej cyfr (100.000).

Jak to naprawić

Zaokrąglij każdą kwotę netto pozycji do dwóch miejsc po przecinku i formatuj ją z co najwyżej dwiema cyframi części ułamkowej (3.70, 100.00). Ceny jednostkowe (BT-146) mogą mieć więcej miejsc po przecinku; zaokrąglenie dotyczy tylko kwoty pozycji. Oblicz cac:LegalMonetaryTotal/cbc:LineExtensionAmount (BT-106) jako sumę zaokrąglonych kwot pozycji, aby reguła BR-CO-10 nadal była spełniona, i uwzględnij tolerancję 0.02 na pozycję w PEPPOL-EN16931-R120.

Przykład (poprawny)

<cbc:InvoicedQuantity unitCode="C62">3</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">3.70</cbc:LineExtensionAmount>
...
<cac:Price><cbc:PriceAmount currencyID="EUR">1.2345</cbc:PriceAmount></cac:Price>

Co sprawdza walidator

Sprawdzany element (kontekst):

UBL

cac:InvoiceLine | cac:CreditNoteLine

Test (XPath):

string-length(substring-after(cbc:LineExtensionAmount,'.'))<=2

CII

//ram:IncludedSupplyChainTradeLineItem

Test (XPath):

string-length(substring-after(ram:SpecifiedLineTradeSettlement/ram:SpecifiedTradeSettlementLineMonetarySummation/ram:LineTotalAmount,'.'))<=2

Popraw automatycznie

Ten błąd można poprawić automatycznie: upuść plik w walidatorze i kliknij „Popraw automatycznie”.

Popraw fakturę →

To samo sprawdzenie przez API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Powiązane reguły

Najczęstsze pytania

Co oznacza BR-DEC-23?

BR-DEC-23 to reguła podstawowa en 16931: The allowed maximum number of decimals for the Invoice line net amount (BT-131) is 2.

Czy moja faktura zostanie odrzucona z powodu BR-DEC-23?

Tak. BR-DEC-23 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.

Jakich formatów dotyczy BR-DEC-23?

Każda faktura EN 16931: XRechnung, ZUGFeRD 2.x / Factur-X (profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 oraz krajowe CIUS. Składnia: UBL i CII.

Źródło: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog wygenerowany z oficjalnych zestawów reguł dnia 2026-10-15.