BT-110Invoice total VAT amountBT-117VAT category tax amount
Oficjalna treść reguły
[BR-CO-14] Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
Tekst normatywny jest w języku angielskim i cytowany bez zmian.
Dlaczego pojawia się ten błąd
Łączna kwota VAT faktury (BT-110) musi być równa sumie kwot podatku dla kategorii VAT (BT-117) ze wszystkich grup podziału VAT. W UBL reguła porównuje cac:TaxTotal/cbc:TaxAmount z sumą jego elementów cac:TaxSubtotal/cbc:TaxAmount; w CII porównuje ram:TaxTotalAmount w walucie faktury z sumą ram:ApplicableTradeTax/ram:CalculatedAmount. Najczęstszą przyczyną jest oprogramowanie, które oblicza VAT w nagłówku jednym krokiem od łącznej kwoty netto, co daje wynik różniący się o grosz od sumy kwot obliczonych dla poszczególnych stawek.
Jak to naprawić
Wzór: BT-110 = Σ BT-117, zaokrąglone do 2 miejsc po przecinku. Najpierw oblicz każdy cac:TaxSubtotal/cbc:TaxAmount (ram:CalculatedAmount) dla danej kategorii i stawki, następnie zsumuj te zaokrąglone wartości i wpisz wynik do cac:TaxTotal/cbc:TaxAmount (UBL) lub ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount z atrybutem currencyID (CII). Nigdy nie przeliczaj VAT w nagłówku od łącznej podstawy opodatkowania. W UBL podsumowania cząstkowe zawiera ten TaxTotal, który jest wyrażony w walucie dokumentu.
Przykład (poprawny)
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">26.00</cbc:TaxAmount>
<cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount><cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory></cac:TaxSubtotal>
<cac:TaxSubtotal><cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount><cbc:TaxAmount currencyID="EUR">7.00</cbc:TaxAmount><cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>7</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory></cac:TaxSubtotal>
</cac:TaxTotal>
Co sprawdza walidator
Sprawdzany element (kontekst):
UBL
/ubl:Invoice/cac:TaxTotal | /cn:CreditNote/cac:TaxTotalTest (XPath):
(xs:decimal(child::cbc:TaxAmount)= round((sum(cac:TaxSubtotal/xs:decimal(cbc:TaxAmount)) * 10 * 10)) div 100) or not(cac:TaxSubtotal)CII
//ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID=/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode]Test (XPath):
. = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CalculatedAmount)*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-15Kwota brutto (BT-112) nie jest sumą kwoty netto i VATBR-CO-17Kwota VAT kategorii (BT-117) nie równa się podstawie razy stawkaBR-46Każde zestawienie VAT musi mieć kwotę podatku kategorii VATBR-AE-09Kwota podatku w zestawieniu VAT z kategorią „Odwrotne obciążenie”…BR-AF-09Kwota podatku w zestawieniu VAT z kategorią „IGIC”…BR-AG-09Kwota podatku w zestawieniu VAT z kategorią „IPSI”…BR-DEC-13Maksymalna liczba miejsc dziesiętnych dla łącznej kwoty VAT to 2BR-DEC-20Maksymalna liczba miejsc dziesiętnych dla kwoty podatku kategorii VAT to 2
Najczęstsze pytania
Co oznacza BR-CO-14?
BR-CO-14 to reguła podstawowa en 16931: Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
Czy moja faktura zostanie odrzucona z powodu BR-CO-14?
Tak. BR-CO-14 ma status „krytyczny”; walidatory (KSeF, punkty dostępowe Peppol, KoSIT) odrzucają fakturę do czasu poprawienia błędu.
Jakich formatów dotyczy BR-CO-14?
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.