Konto
Polski

BR-CO-14: Łączna kwota VAT (BT-110) nie zgadza się z podziałem VAT

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-110 Invoice total VAT amount
  • BT-117 VAT category tax 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-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:TaxTotal

Test (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.

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-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.