Die Mehrwertsteuer (MwSt.) ist eine Verbrauchssteuer, die auf Waren und Dienstleistungen auf jeder Produktions- und Vertriebsstufe erhoben wird. Für Entwickler, die Abrechnungssysteme oder SaaS-Produkte für EU-Kunden bauen, bedeutet MwSt.-Compliance, vier Dinge richtig zu machen: den anwendbaren Steuersatz kennen, den Steuerstatus des Kunden validieren, die korrekte Steuerbehandlung anwenden und konforme Rechnungen generieren.
Was MwSt. wirklich für Ihren Code bedeutet
| Entscheidung | Was Ihr Code bestimmen muss |
|---|---|
| Leistungsart | Handelt es sich um eine Ware, Dienstleistung oder digitale Dienstleistung? |
| Kundenstandort | Welche MwSt.-Regeln welches Landes gelten? |
| Kundentyp | B2B mit gültiger USt-IdNr. oder B2C-Verbraucher? |
| Steuersatz | Normalsatz, ermäßigt oder Nullsatz? |
| Mechanismus | Normale MwSt., Reverse Charge oder OSS? |
B2B vs B2C: Die grundlegende Unterscheidung
Die wichtigste Klassifizierung im EU-MwSt.-Recht ist, ob Sie an ein Unternehmen (B2B) oder einen Verbraucher (B2C) verkaufen. Bei B2B-Verkäufen mit einer gültigen USt-IdNr. gilt in der Regel das Reverse-Charge-Verfahren: Der Käufer rechnet die MwSt. in seinem eigenen Land ab, und Sie stellen eine Nullsatz-Rechnung aus.
Warning
Gewähren Sie niemals Steuerbefreiung allein aufgrund der Eigenerklärung eines Kunden als Unternehmen. Validieren Sie die USt-IdNr. immer über VIES oder eine API.
// MwSt.-Sätze für ein Land abrufen
async function getMwStSaetze(laenderCode) {
const res = await fetch(`https://api.taxid.dev/v1/rates?country=${laenderCode}`, {
headers: { 'Authorization': `Bearer ${process.env.TAXID_API_KEY}` }
});
return res.json(); // { standard_rate: 19, reduced_rates: [7] }
}
// USt-IdNr. validieren
async function validateUstIdNr(ustIdNr) {
const res = await fetch('https://api.taxid.dev/v1/validate', {
method: 'POST',
headers: { 'Authorization': `Bearer ${process.env.TAXID_API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ taxId: ustIdNr })
});
return res.json(); // { valid: true, companyName: 'Muster GmbH' }
}Start validating EU VAT numbers
Free plan — 100 validations/month. No credit card required.