Zum Inhalt springen

BR-AG-01: Umsatzsteueraufschlüsselung der Kategorie M fehlt

Offizielle Meldung

[BR-AG-01] An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".

EN 16931 (CII) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-AG-01] An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".

EN 16931 (UBL) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-AG-01] An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI".

Factur-X / ZUGFeRD EN 16931 · Fehler · Sprache der Meldung: Englisch · Stand: Factur-X 1.08 / ZUGFeRD 2.4
Schweregrad
Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
Gilt für
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Betroffene Felder
BG-25, BG-20, BG-21, BT-151, BT-95, BT-102, BG-23, BT-118

Was bedeutet das?

Enthält die Rechnung eine Position (BG-25), einen Abschlag (BG-20) oder einen Zuschlag (BG-21) auf Dokumentenebene mit der Umsatzsteuerkategorie M (IPSI, Steuer auf Produktion, Dienstleistungen und Einfuhr in Ceuta und Melilla), muss die Umsatzsteueraufschlüsselung (VAT breakdown, BG-23) mindestens einen Eintrag mit dem Kategoriecode (BT-118) M enthalten, für jeden vorkommenden Steuersatz einen (BR-AG-08). Ein solcher Eintrag fehlt.
Unterschiede: In UBL schlägt die Regel auch fehl, wenn es eine Aufschlüsselung M gibt, aber keine Position und keinen Zu-/Abschlag mit M. In CII zählt die offizielle Prüfung Positionen bzw. Zu-/Abschläge und Aufschlüsselungen der Kategorie zusammen und erkennt eine fehlende Aufschlüsselung deshalb nicht in jedem Fall, z. B. nicht bei zwei Positionen mit M.

Typische Ursachen

Für Positionen oder Zu-/Abschläge der Kategorie M wurde keine Aufschlüsselung erzeugt, z. B. weil die Steueraufschlüsselung von Hand gepflegt wird.
Die Aufschlüsselung wurde mit einem anderen Kategoriecode angelegt als die Positionen.
UBL: Eine Aufschlüsselung M steht in der Rechnung, obwohl keine Position und kein Zu-/Abschlag diese Kategorie hat.

So beheben Sie den Fehler

Für jeden Steuersatz, der bei Positionen oder Zu-/Abschlägen der Kategorie M vorkommt, eine Aufschlüsselung mit BT-118 = M und diesem Satz (BT-119) anlegen.
Aufschlüsselungen der Kategorie M ohne zugehörige Position oder zugehörigen Zu-/Abschlag entfernen.
CII: ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax, UBL: cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory.

In E-Rechnungsfreund

Im Rechnungsformular wird die Steueraufstellung (BG-23) beim Erzeugen der XML aus Steuerkategorie und Steuersatz der Positionen und Zu-/Abschläge gebildet; je Kombination aus Kategorie und Satz entsteht ein Eintrag. Einträge im Abschnitt „Steueraufstellung (BG-23)“ (Ansicht „Experte“), zu denen es keine Position und keinen Zu-/Abschlag mit derselben Kategorie und demselben Satz gibt, werden zusätzlich mit Nettobetrag 0 ausgegeben; solche Einträge entfernen.

Beispiel

Fehlerhaft

<!-- Position -->
<ram:SpecifiedLineTradeSettlement>
  <ram:ApplicableTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>M</ram:CategoryCode>
    <ram:RateApplicablePercent>10.00</ram:RateApplicablePercent>
  </ram:ApplicableTradeTax>
  ...
</ram:SpecifiedLineTradeSettlement>
<!-- Steueraufschlüsselung (BG-23): kein Eintrag mit M -->

Richtig

<!-- Position -->
<ram:SpecifiedLineTradeSettlement>
  <ram:ApplicableTradeTax>
    <ram:TypeCode>VAT</ram:TypeCode>
    <ram:CategoryCode>M</ram:CategoryCode>
    <ram:RateApplicablePercent>10.00</ram:RateApplicablePercent>
  </ram:ApplicableTradeTax>
  ...
</ram:SpecifiedLineTradeSettlement>
<!-- Steueraufschlüsselung (BG-23) -->
<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>100.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>M</ram:CategoryCode>
  <ram:RateApplicablePercent>10.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Für Entwickler: Prüfausdruck je Syntax

EN 16931 (CII) (CII)

Kontext: /rsm:CrossIndustryInvoice

((count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) >=2 or not (//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) and ((count(//ram:CategoryTradeTax[ram:CategoryCode='M']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) >=2 or not (//ram:CategoryTradeTax[ram:CategoryCode='M']))

EN 16931 (UBL) (UBL)

Kontext: /ubl:Invoice | /cn:CreditNote

((count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) > 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cbc:ID = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) > 0) or ((count(//cac:AllowanceCharge/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) + count(//cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'])) = 0 and count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) = 0)

Factur-X / ZUGFeRD EN 16931 (CII)

Technische ID in der Quelle: FX-SCH-A-000262

Kontext: /rsm:CrossIndustryInvoice

((count(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) >=2 or not (//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) and ((count(//ram:CategoryTradeTax[ram:CategoryCode='M']) + count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='M'])) >=2 or not (//ram:CategoryTradeTax[ram:CategoryCode='M']))

Verwandte Prüfregeln

  • BR-AG-02: USt-IdNr. oder Steuernummer des Verkäufers fehlt bei einer Position der Kategorie M
  • BR-AG-03: USt-IdNr. oder Steuernummer des Verkäufers fehlt bei einem Abschlag der Kategorie M
  • BR-AG-04: USt-IdNr. oder Steuernummer des Verkäufers fehlt bei einem Zuschlag der Kategorie M
  • BR-AG-05: Steuersatz einer Position der Kategorie M (IPSI) fehlt oder ist negativ
  • BR-AG-06: Steuersatz eines Abschlags der Kategorie M (IPSI) fehlt oder ist negativ
  • BR-AG-07: Steuersatz eines Zuschlags der Kategorie M (IPSI) fehlt oder ist negativ

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.