Annehmbar

Fehlercodes / ZUGFeRD / BR-FXEXT-S-09b

BR-FXEXT-S-09b

BR-FXEXT-S-09b ist eine Prüfregel der offiziellen ZUGFeRD-/Factur-X-Schematron (ZUGFeRD 2.5.2 / Factur-X 1.09.2, FeRD und FNFE-MPE, veröffentlicht 04.08.2026) für das Profil EXTENDED. Stufe: Fehler.

For each different value of VAT rate (BT-119) where the VAT category code (BT-118) is equal to “S” ("Standard rated"), Absolute Value of (VAT category tax amount (BT-117) - VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119)/100) <= 0,01 * ((Number of line net amounts (BT-131) + Number of Document level allowance amounts (BT-92) + Number of Document level allowance amounts (BT-99) + Number of Logistics Service fee amounts (BT-X-272)), where the VAT category code (BT-151, BT-95, BT-102, BT-X-273) is " Standard rated " (S), and the VAT rate (BT-152, BT-96, BT-103, BT-X-274) equals the VAT category rate (BT-119), and only for lines where the "Subtype of invoice line item" (EXT-FR-FE-163 / BT-X-8) has the value "DETAIL" or is not specified or the same rule but also taking into account the exemption reasons in Text (BT-120) and Code (BT-121) in BG-23 and the exemption reasons on each line (BT-X-96 / BT-X-97), on Document level Allowances (BT-173 / BT-174) and on Document Level Charges (BT-175 / BT-176) and on Service logistic charges (BT-X-591 / BT-X-592). One of the two rules must be followed, bearing in mind that ultimately only the second one will have to be followed.

Offizieller Prüftext (Englisch) aus der Datei FACTUR-X_…xslt, ZUGFeRD 2.5.2 / Factur-X 1.09.2.

Stufe
Fehler (Rechnung wird abgelehnt)
Regelwerk
ZUGFeRD 2.5.2 / Factur-X 1.09.2, veröffentlicht 04.08.2026
Profile
EXTENDED
Auch bei KoSIT / XRechnung?
Nein: Das KoSIT-Regelwerk v2026-08-31 (XRechnung, und ZUGFeRD im Profil EN 16931 oder XRECHNUNG) hat diese Regel nicht.
Prüft Annehmbar das?
Ja, für ZUGFeRD-Rechnungen im Profil EXTENDED: Annehmbar prüft diese Profile mit genau dieser Schematron und nennt BR-FXEXT-S-09b mit Fundstelle.
Betroffene Felder
BG-23, BT-92, BT-95, BT-96, BT-99, BT-102, BT-103, BT-116, BT-117, BT-118, BT-119, BT-120, BT-121, BT-131, BT-151, BT-152, BT-173, BT-174, BT-175, BT-176, BT-X-8, BT-X-96, BT-X-97, BT-X-272, BT-X-273, BT-X-274, BT-X-591, BT-X-592
Geprüft an
//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='S']
Bedingung
(for $rate in xs:decimal(ram:RateApplicablePercent), $exempReasonText in normalize-space(ram:ExemptionReason), $exempReasonCode in normalize-space(ram:ExemptionReasonCode), $basisAmount in xs:decimal(ram:BasisAmount), $nbLineItems in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[(not(ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL') and ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = 'S' and ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate and normalize-space(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReasonCode) = $exempReasonCode and normalize-space(ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:ExemptionReason) = $exempReasonText])), $nbLineItemsini in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem[(not(ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode) or ram:AssociatedDocumentLineDocument/ram:LineStatusReasonCode = 'DETAIL') and ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode = 'S' and ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax/xs:decimal(ram:RateApplicablePercent) =$rate])), $nbAllowancesOrCharges in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:CategoryTradeTax/ram:CategoryCode='S' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate and normalize-space(ram:CategoryTradeTax/ram:ExemptionReasonCode) = $exempReasonCode and normalize-space(ram:CategoryTradeTax/ram:ExemptionReason) = $exempReasonText])), $nbAllowancesOrChargesini in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[ram:CategoryTradeTax/ram:CategoryCode='S' and ram:CategoryTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate])), $nblogisticCharge in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge[ram:AppliedTradeTax/ram:CategoryCode='S' and ram:AppliedTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate and normalize-space(ram:AppliedTradeTax/ram:ExemptionReasonCode) = $exempReasonCode and normalize-space(ram:AppliedTradeTax/ram:ExemptionReason) = $exempReasonText])), $nblogisticChargeini in xs:decimal(count(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedLogisticsServiceCharge[ram:AppliedTradeTax/ram:CategoryCode='S' and ram:AppliedTradeTax/xs:decimal(ram:RateApplicablePercent)=$rate])), $vATAmountBT117 in xs:decimal(ram:CalculatedAmount), $calculatedBT117 in xs:decimal(round($basisAmount * $rate div 100 * 100) div 100) return (abs($vATAmountBT117 - $calculatedBT117) le 0.01 * ($nbLineItems + $nbAllowancesOrCharges + $nblogisticCharge)) or (abs($vATAmountBT117 - $calculatedBT117) le 0.01 * ($nbLineItemsini + $nbAllowancesOrChargesini + $nblogisticChargeini)))

Quelle: die byte-gleichen offiziellen Dateien in Mustangproject (Referenzimplementierung der FeRD); Download beim Herausgeber: FeRD. Wie eine gültige Rechnung aussieht: Beispiele mit XML-Pfaden.

Rechnung auf BR-FXEXT-S-09b prüfen

Laden Sie Ihre ZUGFeRD-PDF oder die XML hoch: Annehmbar prüft sie im Profil EXTENDED mit dieser Schematron und zeigt jeden Fehler mit Fundstelle und Erklärung. Kostenlos, ohne Anmeldung, nichts wird gespeichert.

Keine Datei zur Hand? Beispiel prüfen: oder · alle Beispiele zum Herunterladen

Mehrere Rechnungen? Mehrere Dateien prüfen: bis zu 10 auf einmal, auch als ZIP, mit Prüfbericht pro Datei.

Verwandte Regeln