BT-109Invoice total amount without VATBT-110Invoice total VAT amountBT-112Invoice total amount with VAT
Oficjalna treść reguły
[BR-CO-15] Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Łączna kwota faktury z VAT (BT-112) musi być równa łącznej kwocie bez VAT (BT-109) powiększonej o łączną kwotę VAT (BT-110). Reguła wymaga ponadto dokładnie jednej sumy VAT w walucie dokumentu: w UBL jednego cac:TaxTotal/cbc:TaxAmount, którego currencyID jest równy cbc:DocumentCurrencyCode, w CII jednego ram:TaxTotalAmount z currencyID równym ram:InvoiceCurrencyCode. Błąd pojawia się przy różnicach zaokrągleń, przy braku currencyID w kwocie podatku lub gdy dwa elementy TaxTotal używają waluty dokumentu.
Jak to naprawić
Wzór: BT-112 = BT-109 + BT-110, zaokrąglone do 2 miejsc po przecinku. W UBL wpisz cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount = cbc:TaxExclusiveAmount + cac:TaxTotal/cbc:TaxAmount[@currencyID = waluta dokumentu]; w CII ram:GrandTotalAmount = ram:TaxBasisTotalAmount + ram:TaxTotalAmount[@currencyID = waluta faktury]. Każda kwota podatku musi mieć atrybut currencyID. Zachowaj dokładnie jedną sumę podatku w walucie dokumentu; druga jest dopuszczalna wyłącznie w walucie rozliczenia VAT (BT-111).
Przykład (poprawny)
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">200.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">200.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">238.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">238.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
/ubl:Invoice | /cn:CreditNoteTest (XPath):
every $Currency in cbc:DocumentCurrencyCode satisfies (count(cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) eq 1) and (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxInclusiveAmount) = round( (cac:LegalMonetaryTotal/xs:decimal(cbc:TaxExclusiveAmount) + cac:TaxTotal/xs:decimal(cbc:TaxAmount[@currencyID=$Currency])) * 10 * 10) div 100)CII
/rsm:CrossIndustryInvoiceTest (XPath):
every $Currency in rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode satisfies ( count ( rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=$Currency] ) eq 1 and (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = round( (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount) + (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxTotalAmount[@currencyID=$Currency]))) * 10 * 10) div 100)) or (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:GrandTotalAmount) = (//ram:SpecifiedTradeSettlementHeaderMonetarySummation/xs:decimal(ram:TaxBasisTotalAmount)))
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-CO-14Łączna kwota VAT (BT-110) nie zgadza się z podziałem VATBR-CO-16Kwota do zapłaty (BT-115) nie sumuje się poprawnieBR-13Faktura musi zawierać łączną kwotę bez VATBR-14Faktura musi zawierać łączną kwotę z VATBR-DEC-12Maksymalna liczba miejsc dziesiętnych dla łącznej kwoty bez VAT to 2BR-DEC-13Maksymalna liczba miejsc dziesiętnych dla łącznej kwoty VAT to 2BR-DEC-14Maksymalna liczba miejsc dziesiętnych dla łącznej kwoty z VAT to 2
Najczęstsze pytania
Co oznacza BR-CO-15?
BR-CO-15 to reguła podstawowa en 16931: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Czy moja faktura zostanie odrzucona z powodu BR-CO-15?
Tak. BR-CO-15 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-CO-15?
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.