BR-CO-15: Bruttobetrag (BT-112)
Schweregrad: fatal · Syntax: CII, UBL
Offizielle Meldung
Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Was bedeutet das?
BT-112 = BT-109 + BT-110. Die UBL-Assertion verlangt zusätzlich genau einen TaxTotal/TaxAmount in der Rechnungswährung und vergleicht TaxInclusiveAmount mit TaxExclusiveAmount plus diesem Steuerbetrag, gerundet auf zwei Nachkommastellen. Offizielle Aussage: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Typische Ursache
Brutto wurde als Netto plus einem Steuerbetrag in einer zweiten Währung gerechnet, oder der Steuerbetrag kommt doppelt vor.
So beheben Sie es
Rechnen Sie die genannten BT-Felder in derselben Währung und setzen Sie die Kopfbeträge auf das Ergebnis der Assertion. Die Prüfung hilft Ihnen, die Differenz zu finden.
UBL
<cbc:TaxExclusiveAmount currencyID="EUR">100.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">119.00</cbc:TaxInclusiveAmount>CII
<ram:TaxBasisTotalAmount>100.00</ram:TaxBasisTotalAmount>
<ram:GrandTotalAmount>119.00</ram:GrandTotalAmount>
Business Term
BT-112, BT-109, BT-110
Verwandte Regeln
Kontext und Prüfbedingung
UBL /ubl:Invoice | /cn:CreditNote
CII /rsm:CrossIndustryInvoice
UBL
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
every $Currency in /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode satisfies ( ( count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount[@currencyID = $Currency]) = 1 and xs:decimal((/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:GrandTotalAmount)[1]) = round( ( xs:decimal((/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxBasisTotalAmount)[1]) + xs:decimal((/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ra …
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Fragen
Was prüft BR-CO-15 genau?
BT-112 = BT-109 + BT-110. Die UBL-Assertion verlangt zusätzlich genau einen TaxTotal/TaxAmount in der Rechnungswährung und vergleicht TaxInclusiveAmount mit TaxExclusiveAmount plus diesem Steuerbetrag, gerundet auf zwei Nachkommastellen. Offizielle Aussage: Invoice total amount with VAT (BT-112) = Invoice total amount without VAT (BT-109) + Invoice total VAT amount (BT-110).
Wie behebe ich BR-CO-15?
Rechnen Sie die genannten BT-Felder in derselben Währung und setzen Sie die Kopfbeträge auf das Ergebnis der Assertion. Die Prüfung hilft Ihnen, die Differenz zu finden.
Heißt eine bestandene Prüfung von BR-CO-15, dass ein Portal die Rechnung annimmt?
Nein. Die Seite hilft Ihnen, diese eine Schematron-Aussage zu verstehen. Ein Bestehen hier ist keine Aussage über Steuerrecht, Portalannahme oder Bank-Overlays.