Germanized Pro ermöglicht es dir Umsatzsteuer-Identifikationsnummern über die Schnittstelle der EU zu validieren. Damit kannst du für Geschäftskunden aus dem EU-Ausland vom Reverse Charge Verfahren Gebrauch machen und die USt. vor dem Kauf abziehen lassen. Ab Version 3.3.4 unterstützt Germanized Pro auch die Prüfung von USt.-IDs aus der Schweiz. Dafür wird die Schnittstelle der Schweiz verwendet.
Die dafür relevanten Einstellungen findest du in den Germanized-Einstellungen unter Steuern. Aktiviere dort die Option USt.-ID Prüfung aktivieren. Nach Aktivierung der Option wird im Checkout das Feld USt.-ID platziert. Dieses Feld wird (standardmäßig) immer genau dann angezeigt, wenn es sich um eine Lieferung in das EU-Ausland (oder in die Schweiz) handelt. Ist dein Shop-Basisland z.B. Deutschland, wird das Feld angezeigt, wenn der Kunde eine Adresse in Österreich oder in einem anderen EU-Land (oder der Schweiz) gewählt hast. Du kannst optional in den Einstellungen auch die Prüfung für das Basisland aktivieren – dann wird das Feld auch für Adressen deines Basislandes angezeigt.
Qualifizierte Prüfung
Bei einer qualifizierten Prüfung wird anhand der zur USt.-ID von der EU-Schnittstelle zurückgelieferten Daten (z.B. Firmenname, Ort, Postleitzahl) versucht Übereinstimmungen mit den vom Kunden angegebenen Daten in der Kasse zu finden. Stimmt z.B. die Postleitzahl nicht überein, wird eine Fehlermeldung ausgegeben.
Welche Felder konkret geprüft werden sollen, kannst du in den Einstellungen für die USt.-ID-Prüfung auswählen. Damit kannst du besser sicherstellen, dass die angegebene USt.-ID auch wirklich zu der angegebenen Firma passt.
Bitte beachte, dass nicht jeder Mitgliedsstaat zusätzliche Daten für die Prüfung bereitstellt. Zudem erfolgt die Prüfung per “Vergleich”, d.h. es wird nach Übereinstimmungen in den Daten gesucht. Eine noch qualifiziertere Prüfung ist leider aufgrund der mangelnden Struktur der zurückgegebenen Daten (z.B. keine separaten Felder für Ort oder Postleitzahl) nicht möglich.
Damit diese Prüfung möglich ist, musst du deine eigene USt.-ID in den Germanized-Einstellungen unter Steuern hinterlegt haben und zudem Felder für die qualifizierte Prüfung ausgefüllt haben. Die qualifizierte Prüfung steht nicht für Schweizer USt.-IDs zur Verfügung.
Abweichende Lieferanschrift
Ausschlaggebend für die steuerfreie innergemeinschaftliche Lieferung ist das Lieferland. Insofern also eine abweichende Lieferanschrift in deinem WooCommerce Shop wählbar ist, ist genau diese Anschrift entscheidend für eine etwaige steuerfreie Lieferung (falls vom Kunden ausgewählt – ansonsten gilt weiterhin die Rechnungsanschrift, da diese mit der Lieferanschrift übereinstimmt).
Im Falle der abweichenden Lieferanschrift ist also die Rechnungsanschrift für die umsatzsteuerrechtliche Betrachtung hinfällig. Germanized überprüft welche Anschrift entscheidend ist und blendet, je nach Bedarf, das Feld für die USt.-ID in der Liefer- bzw. in der Rechnungsanschrift ein.
WooCommerce Einstellungen
Wenn du den Umsatzsteuer-ID-Check aktiviert hast, solltest du sicherstellen, dass du auch die WooCommerce Mehrwertsteuer-Einstellungen korrekt konfiguriert hast. Wichtig ist, dass du die Option Steuer berechnen basierend auf auf Lieferadresse des Kunden stellst.
Aufenthalt beim Verkauf virtueller Produkte validieren
Hinweis: Damit die Geolokalisierung anhand der IP-Adresse funktioniert, musst du die Maxmind Integration in WooCommerce anbinden.
Wenn du virtuelle Produkte verkaufst, kannst du mithilfe dieser Option, den Aufenthaltsort des Kunden zum Zeitpunkt des Kaufs (anhand der IP-Adresse) speichern. Zudem wird, falls der über die IP-Adresse bestimmte Aufenthaltsort, vom in der Kasse angegebenem Land abweicht, eine Checkbox zur Bestätigung des abweichenden Ortes angezeigt, die der Kunde bestätigen muss. Die Checkbox kannst du, wie gewohnt, in den Germanized-Einstellungen unter Checkboxen anpassen.
Informationen für die Rechnungen
Insofern es sich um eine steuerfreie gemeinschaftliche Lieferung handelt, sollte sichergestellt sein, dass sich auch ein entsprechender Hinweis auf der Rechnung befindet. Dafür kannst du den Block Reverse Charge in deiner PDF-Vorlage der Rechnung verwenden. Der Text wird nur dann angezeigt, wenn es sich um einen gültigen Reverse Charge handelt.
Eine etwaige, abweichende Lieferadresse kannst du über den Block Lieferadresse ebenfalls auf der Rechnung ausgeben lassen. Du kannst auch via Shortcode prüfen, ob eine USt.-ID für die Lieferadresse verfügbar ist und nur dann die Lieferadresse ausgeben lassen:
[if_document data="shipping_vat_id" compare="nempty"]Lieferung an: [document data="formatted_shipping_address"][/if_document
]
Dieser Shortcode fügt, insofern eine Umsatzsteuer-ID in der Lieferadresse existiert, die Lieferadresse ein. Somit ist für das Finanzamt ersichtlich warum bei dieser Rechnung keine Umsatzsteuer ausgewiesen wurde.
Problembehandlung
Bei der Prüfung der USt.-ID kann es zu Problemen kommen. Das kann z.B. daran liegen, dass die VIES-Schnittstelle aktuell nicht erreichbar ist oder die IP-Adresse deines Servers von der Schnittstelle blockiert wird. Solltest du Probleme mit dem USt.-ID-Check haben empfehlen wir dir folgendes Vorgehen:
- Stelle sicher, dass du den USt.-ID-Cache in den Einstellungen deaktiviert hast, d.h. auf 0 Tage gesetzt hast.
- Aktiviere unter WooCommerce > Status > Germanized den erweiterten Debug-Modus
- Teste nun den Ablauf erneut in der Kasse und lasse die USt.-ID prüfen.
- Rufe die Logs unter WooCommerce > Status > Logs ab. Dort findest du im Dropdown die Datei wc-gzdp-vat-validation
Die Log-Datei gibt genauen Aufschluss darüber, welche Fehler bei der Prüfung auftreten. Wenn die Log-Datei ergibt, dass die IP-Adresse des Servers von der Schnittstelle blockiert wird, solltest du dich direkt an die Ansprechpartner der VIES-Schnittstelle wenden. Oftmals hängt das auch mit dem Hosting zusammen (insbesondere wenn viele Instanzen auf einem Server laufen, Shared Hosting).
Prüfung für Schweizer USt.-IDs deaktivieren
Wenn du die Abfrage und Prüfung für USt.-IDs aus der Schweiz deaktivieren möchtest, kannst du das einfach über folgendes Snippet in der functions.php deines (Child-) Themes konfigurieren.
Checkout Field Manager Plugins
Viele WooCommerce Nutzer verwenden Plugins um über eine grafische Oberfläche die Felder in der Kasse bearbeiten zu können. Diese Plugins sorgen häufig dafür, dass alle von anderen Plugins (über die von Woo bereitgestellten Filter) registrierten Felder entfernt werden. Das kann also ein Grund sein, dass das USt.-ID-Feld in der Kasse nicht angezeigt wird. Damit das Feld auch in Zusammenhang mit diesen Plugins funktioniert, müsst ihr die Felder manuell über die grafische Oberfläche des Plugins registrieren. Dafür gibt es eigentlich nur folgende Dinge zu beachten:
- Das Feld muss die HTML id
billing_vat_id
für die Rechnungsadresse undshipping_vat_id
für die Lieferadresse besitzen. - Das gleiche gilt für das HTML name Attribut (oftmals gleicht dieses Feld automatisch der id).
Ihr solltet nach Registrierung die Logik im Checkout durchtesten, d.h. das Feld muss von Germanized über die entsprechende id auffindbar sein, damit das Feld eingeblendet, ausgeblendet bzw. validiert werden kann.
Meldung zur Überschreitung der Anzahl geprüfter USt.-IDs
Um Missbrauch vorzubeugen und sicherzustellen, dass die IP-Adresse deines Servers nicht von der offiziellen EU VAT Schnittstelle gesperrt wird, hat Germanized eine Logik integriert, die dafür sorgt, dass pro Tag maximal 10 (verschiedene) USt.-IDs je Nutzer/IP-Adresse geprüft werden können. Damit diese Prüfung nicht zu Problemen führt, solltest du sicherstellen, dass du in den Germanized-Einstellungen unter Steuern den Cache auf einen Wert > 0, d.h. mind. 1 Tag gestellt hast. Das sorgt dafür, dass bereits geprüfte USt.-IDs innerhalb eines bestimmten Zeitraumes nicht erneut geprüft werden.
Der Schwellenwert lässt sich via functions.php im Child-Theme einfach erhöhen/anpassen. Beispiel:
add_filter( 'woocommerce_gzdp_vat_validation_max_tries_per_day', function() { return 20; }, 10 );
Wenn im Filter der Wert -1
zurückgegeben wird, wird keine Prüfung vorgenommen.