BT-92Document level allowance amount
Oficjalna treść reguły
[BR-DEC-01] The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Kwota rabatu na poziomie dokumentu może mieć co najwyżej dwa miejsca po przecinku. Reguła jest kontrolą tekstową: liczy znaki po separatorze dziesiętnym w cbc:Amount elementu /Invoice/cac:AllowanceCharge z ChargeIndicator false (UBL) lub w ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount (CII). Błąd pojawia się, gdy rabat procentowy zapisano bez zaokrąglenia (12.345) lub gdy formater generuje trzy miejsca po przecinku (10.500), nawet jeśli matematycznie jest to kwota z dwoma miejscami po przecinku.
Jak to naprawić
Zaokrąglij kwotę rabatu do dwóch miejsc po przecinku przed jej zapisaniem i formatuj ją z co najwyżej dwiema cyframi części ułamkowej, np. 12.35 lub 10.5. Zaokrąglaj w warstwie eksportu, a nie tylko w warstwie prezentacji. Przelicz cbc:AllowanceTotalAmount / ram:AllowanceTotalAmount (BT-107) z zaokrąglonych wartości, aby reguły BR-CO-11 i BR-CO-13 nadal były spełnione. Jako separatora dziesiętnego używaj kropki, nigdy przecinka.
Przykład (poprawny)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Volume discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">12.35</cbc:Amount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:AllowanceCharge>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
/ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = false()]Test (XPath):
string-length(substring-after(cbc:Amount,'.'))<=2CII
//ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='false']Test (XPath):
string-length(substring-after(../ram:ActualAmount,'.'))<=2
Popraw automatycznie
Ten błąd można poprawić automatycznie: upuść plik w walidatorze i kliknij „Popraw automatycznie”.
To samo sprawdzenie przez API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validatePowiązane reguły
BR-31Każdy rabat na poziomie dokumentu musi mieć kwotę rabatuBR-AE-08W zestawieniu VAT z kategorią „Odwrotne obciążenie”…BR-AF-08Dla każdej odrębnej stawki VAT w kategorii „IGIC”,…BR-AG-08Dla każdej odrębnej stawki VAT w kategorii „IPSI”,…BR-CO-11Błędna suma rabatów na poziomie dokumentu (BT-107)BR-E-08W zestawieniu VAT z kategorią „Zwolnione z VAT”…BR-G-08W zestawieniu VAT z kategorią „Eksport poza UE”…BR-IC-08W zestawieniu VAT z kategorią „Dostawa wewnątrzwspólnotowa”…
Najczęstsze pytania
Co oznacza BR-DEC-01?
BR-DEC-01 to reguła podstawowa en 16931: The allowed maximum number of decimals for the Document level allowance amount (BT-92) is 2.
Czy moja faktura zostanie odrzucona z powodu BR-DEC-01?
Tak. BR-DEC-01 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-DEC-01?
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.