BT-92Document level allowance amountBT-107Sum of allowances on document level
Oficjalna treść reguły
[BR-CO-11] Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
BT-107 musi być równe sumie kwot wszystkich rabatów na poziomie dokumentu (BT-92). Reguła porównuje cac:LegalMonetaryTotal/cbc:AllowanceTotalAmount z sumą cbc:Amount wszystkich /Invoice/cac:AllowanceCharge z cbc:ChargeIndicator false (UBL) lub ram:AllowanceTotalAmount z sumą ram:ActualAmount nagłówkowych ram:SpecifiedTradeAllowanceCharge ze wskaźnikiem false (CII). Jeśli nie ma rabatów na poziomie dokumentu, sumę można pominąć. Częste przyczyny: do sumy wliczono rabaty na poziomie pozycji albo pominięto AllowanceTotalAmount, mimo że rabaty występują.
Jak to naprawić
Wzór: BT-107 = Σ BT-92 (tylko rabaty na poziomie dokumentu), zaokrąglone do 2 miejsc po przecinku. W UBL ustaw cbc:AllowanceTotalAmount w cac:LegalMonetaryTotal na tę sumę; rabaty w cac:InvoiceLine są już zawarte w kwocie netto pozycji i nie mogą być tu liczone. W CII ustaw ram:AllowanceTotalAmount w podsumowaniu kwot nagłówka. Jeśli rabaty występują, element sumy musi być obecny; jeśli ich nie ma, pomiń go lub wpisz 0.00. Kwoty są dodatnie, a znak wyraża ChargeIndicator.
Przykład (poprawny)
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="EUR">10.00</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>
<cac:LegalMonetaryTotal>...<cbc:AllowanceTotalAmount currencyID="EUR">10.00</cbc:AllowanceTotalAmount>...</cac:LegalMonetaryTotal>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
cac:LegalMonetaryTotalTest (XPath):
xs:decimal(cbc:AllowanceTotalAmount) = (round(sum(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]/xs:decimal(cbc:Amount)) * 10 * 10) div 100) or (not(cbc:AllowanceTotalAmount) and not(../cac:AllowanceCharge[cbc:ChargeIndicator=false()]))CII
//ram:SpecifiedTradeSettlementHeaderMonetarySummationTest (XPath):
(not(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()])and not (ram:AllowanceTotalAmount)) or ram:AllowanceTotalAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator=false()]/ram:ActualAmount)* 10 * 10 ) div 100)
Popraw automatycznie
Ten błąd można poprawić automatycznie: po potwierdzeniu walidator przeliczy sumy i VAT z kwot pozycji.
To samo sprawdzenie przez API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validatePowiązane reguły
BR-CO-13Kwota bez VAT (BT-109) nie zgadza się z wyliczeniemBR-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-DEC-01Kwota rabatu dokumentu (BT-92) ma ponad 2 miejsca po przecinkuBR-DEC-10Maksymalna liczba miejsc dziesiętnych dla sumy rabatów na poziomie dokumentu to 2BR-E-08W zestawieniu VAT z kategorią „Zwolnione z VAT”…
Najczęstsze pytania
Co oznacza BR-CO-11?
BR-CO-11 to reguła podstawowa en 16931: Sum of allowances on document level (BT-107) = Σ Document level allowance amount (BT-92).
Czy moja faktura zostanie odrzucona z powodu BR-CO-11?
Tak. BR-CO-11 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-CO-11?
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.