- Thema
- VB.NET
- SDK-Mitglieder
- AddTradeTax() TaxExemptionReasonCodeStr()
- Business Terms
- BT-151 Code der Umsatzsteuerkategorie des in Rechnung BT-118 Code der Umsatzsteuerkategorie BT-120 Umsatzsteuerbefreiungsgrund BT-121 Code für den Umsatzsteuerbefreiungsgrund BT-152 Umsatzsteuersatz für den in Rechnung gestellten Artikel BT-119 Kategoriespezifischer Umsatzsteuersatz BT-31 Umsatzsteuer-Identifikationsnummer des Verkäufers BT-48 Umsatzsteuer-Identifikationsnummer des Käufers
- Codebeispiele
- VB.NET, XML
- Veröffentlicht
Kurz: Eine Rechnung ohne Umsatzsteuer braucht die Steuerkategorie, die den Grund für die 0 % nennt – nicht „S“ (Normalsatz) mit 0 %, das meldet der Validator als BR-S-05 bzw. BR-S-08. Die Kategorie (BT-151 in der Position, BT-118 in der Umsatzsteueraufschlüsselung) ist meist K (innergemeinschaftliche Lieferung), AE (Reverse Charge, § 13b UStG), G (Ausfuhr in ein Drittland), E (steuerfrei, z. B. § 4 UStG oder Kleinunternehmer), Z (steuerpflichtig mit Nullsatz, z. B. Photovoltaik) oder O (nicht steuerbar). Außer bei Z gehört ein Befreiungsgrund in die Umsatzsteueraufschlüsselung (BT-120 Text oder BT-121 Code, z. B. VATEX-EU-IC).
Gesucht wird das als „Rechnung ohne Mehrwertsteuer E-Rechnung“, „Steuersatz 0 Prozent ZUGFeRD“, „zero rated goods oder exempt“, „Steuerkategorie innergemeinschaftliche Lieferung“, „VAT category code K oder Z“ oder „BR-S-05 Steuersatz größer 0“. Die steuerliche Einordnung des einzelnen Umsatzes klären Sie mit Ihrer Steuerberatung; diese Seite zeigt, wie sie in der E-Rechnung abgebildet wird.
Auf einen Blick: die Kategorien für 0 %
| Kategorie | Wann (typische Fälle in Deutschland) | Steuersatz | Befreiungsgrund (BT-120/121) | Weitere Pflichtangaben |
|---|---|---|---|---|
| K – innergemeinschaftliche Lieferung | Ware an einen Unternehmer in einem anderen EU-Land, § 4 Nr. 1b / § 6a UStG | 0 | Pflicht, Code VATEX-EU-IC | USt-IdNr. von Verkäufer und Käufer (BR-IC-02), Liefer- oder Leistungsdatum (BR-IC-11), Lieferland BT-80 (BR-IC-12) |
| AE – Reverse Charge | § 13b UStG (z. B. Bauleistungen), B2B-Dienstleistung an einen Unternehmer im EU-Ausland | 0 | Pflicht, Code VATEX-EU-AE | USt-IdNr. des Verkäufers und des Käufers (BR-AE-02) |
| G – Ausfuhr | Lieferung in ein Land außerhalb der EU, § 4 Nr. 1a / § 6 UStG | 0 | Pflicht, Code VATEX-EU-G | USt-IdNr. des Verkäufers (BR-G-02) |
| E – steuerfrei | steuerfreie Umsätze nach § 4 UStG (z. B. Heilbehandlung, Vermietung), Kleinunternehmer nach § 19 UStG | 0 | Pflicht, als Text (z. B. „Kleinunternehmer gemäß § 19 UStG“) oder Code | USt-IdNr. oder Steuernummer des Verkäufers (BR-E-02) |
| Z – Nullsatz | steuerpflichtig, aber gesetzlich 0 %, z. B. Photovoltaikanlagen nach § 12 Abs. 3 UStG | 0 | nicht erlaubt (BR-Z-10) | USt-IdNr. oder Steuernummer des Verkäufers (BR-Z-02) |
| O – nicht steuerbar | Umsatz außerhalb des Anwendungsbereichs der Umsatzsteuer | kein Steuersatz (BR-O-05) | Pflicht, Code VATEX-EU-O | keine USt-IdNr. von Verkäufer und Käufer (BR-O-02) |
Eine Rechnung kann mehrere Kategorien enthalten; dann steht je Kategorie und Steuersatz eine eigene Zeile in der Umsatzsteueraufschlüsselung.
Typische Fehler
- „S“ mit 0 %: Die Kategorie bleibt auf Normalsatz, nur der Steuersatz wird 0 gesetzt. Ergebnis: BR-S-05 in jeder Position (und BR-S-08 in der Aufschlüsselung). Richtig ist die Kategorie für den Grund der 0 %.
- „Z“ für jede Rechnung ohne Steuer: Z bedeutet „steuerpflichtig zum Nullsatz“. Für eine innergemeinschaftliche Lieferung, eine Ausfuhr oder Reverse Charge ist das steuerlich falsch, und der Validator prüft dann die dort vorgeschriebenen Angaben nicht. Mit Z verschwindet zwar die Meldung BR-S-05, die Rechnung sagt aber steuerlich etwas anderes aus.
- K und AE verwechselt: Ware an einen Unternehmer im EU-Ausland ist K; eine Dienstleistung an einen Unternehmer im EU-Ausland und die Fälle des § 13b UStG sind AE. Details zu § 13b: Zero rated goods und Commercial Invoice bei § 13b.
- Befreiungsgrund in der Position: In EN 16931 steht der Befreiungsgrund nur in der Umsatzsteueraufschlüsselung. Übergeben Sie ihn in der Position, stellt das SDK die Rechnung auf Factur-X EXTENDED um – siehe Warum wird meine XRechnung als EXTENDED erstellt?
- Nachlass mit anderer Kategorie als die Positionen: Ein Rabatt auf Rechnungsebene braucht dieselbe Kategorie wie die Positionen, sonst kommen BR-S-01 oder BR-AE-08 – siehe BR-S-01, BR-S-06, BR-AE-08 beim Nachlass.
Im Aloaha ZUGFeRD SDK (Beispiel innergemeinschaftliche Lieferung)
Dim alo As New Aloaha_ZUGFeRD.XML(Aloaha_ZUGFeRD.iXML.ZUGFeRDProfile.comfort, False, "IHR-LIZENZSCHLUESSEL")
' ... Rechnungskopf, Verkäufer mit USt-IdNr., Käufer mit USt-IdNr. (BT-48), Lieferdatum und Lieferanschrift mit Land ...
' Positionen: Kategorie K und 0 %, Befreiungsgrund in der Position leer lassen
' (in AddProduct_Comfort die Parameter TAXCategoryCode = "K", TAXPercent = "0", TaxExemptionReason = "")
' Umsatzsteueraufschlüsselung: einmal je Kategorie, mit Befreiungsgrund und Code
Dim code As String = alo.TaxExemptionReasonCodeStr(Aloaha_ZUGFeRD.iXML.TaxExemptionReasonCodes.VATEX_EU_IC) ' "VATEX-EU-IC"
alo.AddTradeTax("0.00", "EUR", "345.50", "EUR", "VAT", "K", "0", _
"Steuerfreie innergemeinschaftliche Lieferung", "", "", "", code)
Für die anderen Fälle tauschen Sie Kategorie, Text und Code: AE mit „Steuerschuldnerschaft des Leistungsempfängers“ und VATEX-EU-AE, G mit „Steuerfreie Ausfuhrlieferung“ und VATEX-EU-G, E mit dem Grund als Text (z. B. „Kein Ausweis von Umsatzsteuer, da Kleinunternehmer gemäß § 19 UStG“). Bei Z bleiben Text und Code leer.
Ergebnis in der Umsatzsteueraufschlüsselung:
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:ExemptionReason>Steuerfreie innergemeinschaftliche Lieferung</ram:ExemptionReason>
<ram:BasisAmount>345.50</ram:BasisAmount>
<ram:CategoryCode>K</ram:CategoryCode>
<ram:ExemptionReasonCode>VATEX-EU-IC</ram:ExemptionReasonCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Mehr zur Umsatzsteuer je Position und den Aufzählungswerten des SDK: Umsatzsteuer je Rechnungsposition setzen und lesen (BG-30).
Häufige Fragen
Warum meldet der Validator BR-S-05, obwohl ich 0 % eingestellt habe?
Weil die Kategorie noch „S“ (Normalsatz) ist. BR-S-05 verlangt bei S einen Steuersatz größer 0. Für eine Rechnung ohne Umsatzsteuer stellen Sie die Kategorie auf den Grund der Steuerfreiheit um, z. B. K, AE, G, E oder Z.
Ist „Z“ (Zero rated goods) die richtige Kategorie für 0 %?
Nur wenn der Umsatz steuerpflichtig ist und das Gesetz den Satz 0 % vorgibt, in Deutschland etwa bei Photovoltaikanlagen nach § 12 Abs. 3 UStG. Für innergemeinschaftliche Lieferungen gilt K, für Reverse Charge AE, für Ausfuhren G, für steuerfreie Umsätze E.
Welche Kategorie gilt für eine Lieferung an einen Unternehmer in einem anderen EU-Land?
K, innergemeinschaftliche Lieferung, mit dem Code VATEX-EU-IC in der Umsatzsteueraufschlüsselung. Pflicht sind die USt-IdNr. von Verkäufer und Käufer, das Lieferdatum und das Land der Lieferanschrift.
Welche Kategorie nehme ich als Kleinunternehmer?
E (steuerfrei) mit dem Befreiungsgrund als Text, z. B. „Kein Ausweis von Umsatzsteuer, da Kleinunternehmer gemäß § 19 UStG“. Klären Sie die Einordnung im Zweifel mit Ihrer Steuerberatung.
Wo gebe ich den Befreiungsgrund an?
In der Umsatzsteueraufschlüsselung (AddTradeTax), als Text (BT-120) und/oder Code (BT-121). In der Position lassen Sie ihn leer, sonst stellt das SDK auf Factur-X EXTENDED um.
Was ist der Unterschied zwischen E und O?
E ist ein steuerbarer, aber steuerfreier Umsatz; der Verkäufer hat eine USt-IdNr. oder Steuernummer. O ist nicht steuerbar; dann dürfen weder Verkäufer noch Käufer eine USt-IdNr. in der Rechnung haben, und in der Position steht kein Steuersatz.
Business Terms in diesem Artikel: BT-151 BT-118 BT-120 BT-121 BT-152 BT-119 BT-31 BT-48 BT-80