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.
Rechnung korrigieren lassen
Wir korrigieren diese Rechnung und sagen Ihnen, welche Einstellung Sie in Ihrer Software ändern, damit der Fehler nicht wiederkommt. 19 € netto, nur bei Erfolg.
- 19 € netto
- je Rechnung, nur für Unternehmen
- Nur bei Erfolg
- Sie zahlen erst, wenn die korrigierte Rechnung die offizielle Prüfung besteht, per Stripe-Zahlungslink
- Nächster Werktag
- bis dahin haben Sie unsere Antwort
Ihre Rechnung kommt per E-Mail zu uns und wird nur für diesen Auftrag verwendet. Wir löschen die E-Mails mit Ihrer Rechnung, sobald der Auftrag erledigt ist. Die Vereinbarung zur Auftragsverarbeitung (AVV) laden Sie hier herunter; die AGB regeln den Auftrag.
So oft Sie wollen, ohne Anmeldung.
Bestanden, aber vom Empfänger trotzdem abgelehnt? Schicken Sie uns die Ablehnung des Empfängers: Wir finden den Grund und korrigieren die Rechnung. 19 € netto, nur bei Erfolg.
Ihre Rechnung kommt per E-Mail zu uns und wird nur für diesen Auftrag verwendet. Wir löschen die E-Mails mit Ihrer Rechnung, sobald der Auftrag erledigt ist. Die Vereinbarung zur Auftragsverarbeitung (AVV) laden Sie hier herunter; die AGB regeln den Auftrag.
- Offizielles KoSIT-Regelwerk v2026-08-31
- Offizielle Testsuite: 86 / 86 bestanden
- Server in Frankfurt (AWS eu-central-1)
- Prüfungen im Arbeitsspeicher, nie gespeichert (Korrekturaufträge kommen per E-Mail)
- DSGVO: keine Cookies, kein Tracking durch Dritte
Verwandte Regeln
- BR-FXEXT-S-01 An Invoice that contains an Invoice line (BG-25) where the "Subtype of invoice line item" (BT-X-8) has the val
- BR-FXEXT-S-08ini In a VAT breakdown (BG-23), for each different value of VAT rate (BT-119), where VAT category code (BT-118) is
- BR-FXEXT-S-08rev In a VAT breakdown (BG-23), for each different value of VAT rate (BT-119), where VAT category code (BT-118) is