Umsatzsteuer-(USTID)-Validierung PRO für B2B (Shopware 6)

Nutzbar in: Self-Managed

Validiere die Umsatzsteuer-ID Deiner Kunden einfach mit unserem Plugin mit vielen Optionen, um Deinen Pflichten nach dem EU-Steuerrecht ausreichend nachzukommen.

Umsatzsteuer-(USTID)-Validierung PRO für B2B Plugin für Shopware 6 im Shopware Community Store

Funktionalitäten

  • Prüft die USTID von EU-Unternehmen.
  • Direkte Schnittstellenanbindung an DE- /EU-API
  • Jede Anfrage an eine Schnittstelle wird geloggt und in der Datenbank gespeichert.
  • Der Log kann als csv-Datei im Adminbereich unter Kunden -> USTID-Validierungslog heruntergeladen werden.
  • Validierung erfolgt automatisch 1x pro Tag oder bei Änderung der Adresse.
  • Validierung bei Registrierung möglich.
  • Beim Hinterlegen der USTID im Kundenaccount wird diese validiert.
  • Beim Bestellabschluss werden Lösungsvorschläge in einer Übersicht angezeigt, wenn die USTID nicht korrekt war.
  • Für steuerfreie Länder wird die Bestellung ohne MwSt angezeigt.
  • Im Off-Canvas-Warenkorb wird ein Hinweis ausgegeben welche Daten nicht korrekt sind, wenn die Option "Bestellung blockieren, wenn USTID-Prüfung nicht gültig ist" aktiviert ist.
  • Über ein Zusatzfeld beim Kunden kann der Validierungstyp für diesen Kunden individuell angepasst werden.
  • Zu Beachten gilt: Deutsche USTIDs werden nicht validiert.

Einstellungsmöglichkeiten / Konfiguration

Ihre Umsatzsteuer-ID
Gib hier Deine Umsatzsteuer-ID ein, damit unser Plugin die Umsatzsteuer-IDs Deiner Kunden prüfen kann.

Adresse für Validierung
Du kannst festlegen welche Adresse als Grundlage für die Validierung dienen soll. Zur Auswahl stehen die Rechnungs- oder Lieferadresse. Wir empfehlen stets die Lieferadresse zu verwenden.

Validierung bei Registrierung
Die Validierung der UST-ID erfolgt bei der Registrierung. Unter den Validierungstypen "Keine", "Offline", "Einfach" und "Erweitert" kann gewählt werden. Bei "Offline" wird nur der Offline-Plausibilitätscheck (mehr als drei Zeichen und weniger als 15 Zeichen) durchgeführt. Bei "Einfach" wird geprüft, ob die Umsatzsteuer-ID gültig ist. Bei "Erweitert" wird geprüft, ob USTID und Adresse zueinander passen sowie passende Vorschläge zur Korrektur werden angezeigt.

Validierung bei Profil-Update
Die Validierung der UST-ID erfolgt bei der Änderung der USTID im Profil Deines Kunden. Die Validierungstypen "Keine", "Offline" und "Einfach" stehen zur Auswahl. Bei "Offline" wird nur der Offline-Plausibilitätscheck (mehr als drei Zeichen und weniger als 15 Zeichen) durchgeführt. Bei "Einfach" wird geprüft, ob die Umsatzsteuer-ID gültig ist.

Validierung bei Steuerfreiheit + Bestellabschluss
Du kannst festlegen, welcher Validierungstyp für Deine Kunden gewählt wird, die aufgrund ihres Landes steuerfrei bestellen können. Zur Auswahl stehen die Validierungstypen "Offline", "Einfach" und "Erweitert". Bei "Offline" wird nur der Offline-Plausibilitätscheck (mehr als drei Zeichen und weniger als 15 Zeichen) durchgeführt. Bei "Einfach" wird geprüft, ob die Umsatzsteuer-ID gültig ist. Bei "Erweitert" wird geprüft, ob USTID und Adresse zueinander passen sowie passende Vorschläge zur Korrektur werden angezeigt.

Validierung als "valide" durchgehen lassen, wenn von allen APIs ein Fehler zurückgegeben wird:
aktiv / inaktiv

Zusätzliche Validierung für steuerfreie Lieferung:
Es gibt die Validierungstypen "Keine", "gleiche Adresse" und "Gleiches Land bei Rechnungs- und Lieferadresse". Das Plugin überprüft bei "Gleiche Adresse", ob die ausgewählte Adresse mit der Adresse der USTID übereinstimmt. So kannst Du verhindern, dass ausländische Kunden die USTID einer Firma angeben können und dann die Ware steuerfrei an ihre private Adresse geliefert bekommen. Bei "Gleiches Land bei Rechnungs- und Lieferadresse" wird überprüft ob das Lieferland von Liefer- und Rechnungsadresse identisch ist.

Hinweis auf /checkout/confirm anzeigen, wenn bei Land mit "Steuerfreiheit (B2B)" keine USTID hinterlegt ist
aktiv / inaktiv

Adressvorschläge ins lateinische Alphabet übersetzen?
aktiv / inaktiv

Bestellung blockieren, wenn USTID-Prüfung nicht gültig ist?
Mit dieser Funktion kannst Du verhindern, dass Bestellungen abgeschlossen werden können, wenn die USTID-Prüfung nicht gültig ist. Erst wenn die USTID-Prüfung valide ist, kann die Bestellung abgeschlossen werden.

API-Timeout in Sekunden

Führende Nullen in Straße kürzen?
Mit dieser aktivierten Option werden automatisch die führenden Nullen bei der Hausnummer weggekürzt, z.B. 00066 wird zu 66.

Installationsanleitung

  1. Installiere und aktiviere das Plugin.
  2. Nun kannst Du das Plugin konfigurieren. Folgende Einstellungen sind nötig, damit das Plugin richtig funktioniert.
    • Die USTID muss eingetragen werden.
    • Die Validierung bei Adressänderung muss aktiv sein.
    • Die Validierung bevor Bestellung gespeichert wird muss aktiv sein.
  3. Unter "Einstellungen" → "Shop" → "Login/Registrierung" muss die Option "Auswahl zwischen Firmen- und Kundenkonto anzeigen" aktiviert werden.
  4. Für Länder, die steuerfrei sind (bspw. Frankreich), müssen unter Einstellungen → Shop → Länder → jeweiliges Land → "Steuerfrei (B2B)" aktiviert werden.
  5. Fertig

Konfigurationshinweise:

  • Gib in den Einstellungen Ihre USTID ohne Leerzeichen ein, damit die Validierung funktioniert!
  • Aktiviere die Validierung bei Adressänderung und bei Bestellabschluss. Sofern es Probleme bei der allgemeinen Adressvalidierung gibt, deaktiviere die Validierung bei Adressänderung. Wir raten davon ab die Validierung bei Bestellabschluss zu deaktivieren!
  • Konfiguriere die Länder, für die Du eine steuerfreie Lieferung ermöglichen möchten!
  • Bitte prüfe, ob alle Drittländer an die versendet wird (z.B. USA) auf "Steuerfrei (B2C)" gesetzt sind.

Voraussetzungen

  • php-soap

Fragen & Antworten zu Umsatzsteuer-(USTID)-Validierung PRO für B2B (SW6)

An welchen Stellen im Shop wird die USTID validiert?

  1. Rechnungsadresse bei der Registrierung
  2. Adressänderung
  3. Bestellabschluss

Wie erfolgt die Prüfung der USTID?

Bei der Registrierung, beim Ändern einer Adresse oder beim Bestellabschluss prüft das Plugin, ob eine USTID angegeben ist. Sobald eine USTID angegeben ist, sendet das Plugin als erstes eine Anfrage an die deutsche Schnittstelle. Ist die USTID gültig, wird die Adresse gespeichert. Ist die USTID ungültig wird per EU-API geprüft. Die EU-API hat den Vorteil, dass sie bei vielen Ländern die erwarteten Daten ausgibt, sodass das Plugin dem Kunden direkt vorschlägt, was fehlerhaft ist. Ist alles korrekt, wird die Adresse gespeichert.

Bei welchen Ländern wird die Validierung der USTID ausgeführt?

Voraussetzungen: 1) EU-Land 2) Land als steuerfrei für Unternehmen markiert

API-Antworten

Folgende Antworten kann die EU-API liefern. Diese Antworten findest Du in Shopware in den Logs.

1 = valide
2 = invalide
3 = Not processed (USTID wurde nicht überprüft)

100 = Valid request with Valid VAT Number
200 = Valid request with an Invalid VAT Number
201 = Error : INVALID_INPUT
202 = Error : INVALID_REQUESTER_INFO
300 = Error : SERVICE_UNAVAILABLE
301 = Error : MS_UNAVAILABLE
302 = Error : TIMEOUT
400 = Error : VAT_BLOCKED
401 = Error : IP_BLOCKED
500 = Error : GLOBAL_MAX_CONCURRENT_REQ
501 = Error : GLOBAL_MAX_CONCURRENT_REQ_TIME
600 = Error : MS_MAX_CONCURRENT_REQ
601 = Error : MS_MAX_CONCURRENT_REQ_TIME

Changelog

Version 5.0.11
BUGFIX | RO-Regex aktualisiert.

Version 5.0.10
BUGFIX | Behebt einen Fehler beim Umwandeln in das lateinische Alphabet für Vorschläge.
BUGFIX | EU-API-Gleichheits-Check muss neue Zeilen ignorieren.

Version 4.0.6
BUGFIX | EU-API-Gleichheits-Check muss neue Zeilen ignorieren.

Version 5.0.9
IMPROVEMENT | Fehlermeldung in Cart-Validator angepasst.

Version 5.0.8
BUGFIX | EE-Regex aktualisiert.

Version 5.0.7
FEATURE | Ausnahmen-Feature hinzugefügt.
IMPROVEMENT | EU-API: Option, um führende Nullen in Straße zu kürzen, hinzugefügt.
BUGFIX | ExtendedBffValidator mit ungültiger API-Antwort angepasst.

Version 5.0.6
BUGFIX | Plugin-Einstellungen von Verkaufskanal werden nun an allen Stellen verwendet.

Version 5.0.5
BUGFIX | SE-Validierungsmuster für EU-API aktualisiert.

Version 4.0.5
BUGFIX | SE-Validierungsmuster für EU-API aktualisiert.

Version 5.0.4
IMPROVEMENT | API-Timeout zu Plugin-Konfiguration hinzugefügt.

Version 4.0.4
IMPROVEMENT | API-Timeout zu Plugin-Konfiguration hinzugefügt.

Version 5.0.3
IMPROVEMENT | HU-Regex aktualisiert.

Version 4.0.3
IMPROVEMENT | HU-Regex aktualisiert.

Version 5.0.2
TASK | nl_NL Übersetzung für Storefront hinzugefügt.

Version 4.0.2
TASK | nl_NL Übersetzung für Storefront hinzugefügt.

Version 5.0.1
BUGFIX | Verhindert einen Fehler bei nicht eingeloggten Kunden.

Version 4.0.1
BUGFIX | Verhindert einen Fehler bei nicht eingeloggten Kunden.

Version 5.0.0
BUGFIX | Blockierung von Bestellungen, konnte durch Ändern von HTML-Attribut umgangen werden.
IMPROVEMENT | Verbesserte Handhabung für Nicht-ASCII-Zeichen.
BUGFIX | Shopware 6.5 Admin JS Kompatibilität.

Version 4.0.0
BUGFIX | Blockierung von Bestellungen, konnte durch Ändern von HTML-Attribut umgangen werden.
IMPROVEMENT | Verbesserte Handhabung für Nicht-ASCII-Zeichen.

Version 2.0.23
TASK | Kompatibilität mit Shopware 6.5
FEATURE | Abfragedaten zu Validierungslog-Entität hinzugefügt.
Anforderungen: Das Plugin erfordert nun mindestens Shopware Version 6.5.0.0.
Hinweis: VOR DEM UPDATE AUF SHOPWARE 6.5.0.0 die App deaktivieren, dann aktualisieren, dann aktivieren.

Version 2.0.22
FEATURE | Zusatzfeld hinzugefügt, um für bestimmte Kunden andere Validierungstypen zu verwenden.

Version 2.0.21
BUGFIX | PL-USTIDs wurden teilweise nicht validiert.

Version 2.0.20
BUGFIX | Verhindert Fehlermeldung bei leerer USTID.

Version 2.0.19
BUGFIX | Verbessertes Handling von API-Fehlern.

Version 2.0.18
IMPROVEMENT | Twig-Blöcke zu Bestellübersichtsseite hinzugefügt.

Version 2.0.17
FEATURE | Zeige USTID in Bestell-Detailseite (Adminbereich)

Version 2.0.16
BUGFIX | Fehler bei Privatkunden-Registrierung behoben.

Version 2.0.15
TASK | Kompatibilität mit Shopware >= 6.4.12.0

Version 2.0.14
BUGFIX | Verhindert, dass falsche USTIDs mit den Zeichen , . - (Leerzeichen) als valide validiert werden.

Version 2.0.13
IMPROVEMENT | Validierung für XI (Nordirland) hinzugefügt.
Hinweis:
- Wir empfehlen Nordirland als eigenes Land anzulegen und nur dort Steuerfrei für Unternehmen anzuhaken.
- Als Länder-ISO für Nordirland muss GB oder XI hinterlegt werden.

Version 2.0.12
TASK | Fehlende Übersetzungen in englischen Snippets hinzugefügt.

Version 2.0.11
BUGFIX | Steuerfreiheit wurde nicht korrekt ermittelt, bei Einstellungen der Validierungsadresse auf Rechnungsadresse. (Wenn Rechnungsadresse ohne Steuerfreiheit und Lieferadresse mit Steuerfreiheit für B2B eingestellt war.)

Version 2.0.10
IMPROVEMENT | Option hinzugefügt, um Bestellungen bei ungültigen USTID-Check zu verhindern.

Version 2.0.9
IMPROVEMENT | Option hinzugefügt, um Adressvorschläge ins lateinische Alphabet zu übersetzen.

Version 2.0.8
BUGFIX | Verbessertes Handling für leere USTID.
IMPROVEMENT | Option auf /checkout/confirm-Seite hinzugefügt, um einen Hinweis anzuzeigen/zu verstecken, wenn ein steuerfreies Land gewählt ist, aber keine USTID eingegeben wurde.
TASK | Text von Snippet ``checkout.lenzVatIdValidation.header`` geändert.

Version 2.0.7
IMPROVEMENT | Verbesserte Kompatibilität mit Third-Party-Plugins.
BUGFIX | Adressdatenerkennung für SI-Adressdaten aktualisiert.
IMPROVEMENT | Event beim Logging hinzugefügt.

Version 2.0.6
IMPROVEMENT | Einstellung hinzugefügt, um Adresse für Validierung zu wählen (Rechnung oder Lieferung).
IMPROVEMENT | Benutze immer Rechnungsadresse, um die USTID bei der Registrierung zu prüfen.
TASK | Kompatibilität mit Shopware 6.5.x.x.
BUGFIX | Steuer wurde in manchen Fällen nicht korrekt berechnet, wenn eine private Adresse verwendet wurde.

Version 2.0.5
BUGFIX | Validierungshinweis auf /checkout/confirm wurde angezeigt, auch wenn keine Validierung möglich war (z.B. Schweiz).
TASK | Code in TaxDetector aufgeräumt.

Version 2.0.4
BUGFIX | Behebt einen Bug (von Shopware), der die Registrierung verhindert hat, wenn ein Validierungsfehler bei einer Registrierungsadresse auftrat.

Version 2.0.3
IMPROVEMENT | PL Regex aktualisiert

Version 2.0.2
IMPROVEMENT | Verhindert Validierung von Schweizer UIDs (CHE-XXX.XXX.XXX).

Version 2.0.1
BUGFIX | Validierung für Privatkunden / Privatkunden-Adressen deaktiviert.

Version 2.0.0
TASK | Neuentwicklung des Plugins für Shopware 6.4.0.0, da Shopware die USTID nun nicht mehr bei den Adressen speichert, sondern beim Kundenkonto.
ACHTUNG: Nach dem Update ist eine Neukonfiguration des Plugins notwendig. Bitte öffnen Sie die Konfiguration des Plugins und stellen Sie die Einstellungen wie gewünscht ein. Unsere Empfehlung:
Validierung bei Registrierung: Erweitert
Validierung bei Profil-Update: Einfach
Validierung bei Steuerfreiheit + Bestellabschluss: Erweitert
Validierung als "valide" durchgehen lassen, wenn von allen APIs ein Fehler zurückgegeben wird: aktiv
Zusätzliche Validierung für steuerfreie Lieferung: Gleiches Land bei Rechnungs- und Lieferadresse
ACHTUNG: Nach dem Update müssen die Länder, die steuerfrei sind, unter Einstellungen -> Shop -> Länder für jedes Land eingestellt werden. Dies war davor im Plugin möglich und ist jetzt in den Shopware Standard gewechselt.
Neue Features:

- Validierung wird nun 1x pro Tag automatisch ausgeführt, wenn Kunde im Shop ist.

- Validierungen werden nun so gespeichert und verarbeitet, dass nur noch bei Änderungen der Adresse oder max. 1x pro Tag bei gleichlautenden Adressdaten validiert wird. Ausnahme: Kunde wechselt die Lieferadresse. Dann wird die neue Lieferadresse sofort geprüft.

- Kunde bekommt auf Bestellbestätigungsseite (/checkout/confirm) eine Übersicht angezeigt, ob die Validierung der USTID funktioniert hat und sieht dort direkt, welche Validierungsfehler es gibt.

- Validierung bei Registrierung kann eingestellt werden.

- Validierung bei Hinterlegung der USTID im Kundenaccount kann auf Gültigkeit geprüft werden.

- Validierung vor Absenden der Bestellung, mit Hinweis auf innergemeinschaftliche Lieferung

- Steuerfrei für Firmen muss nun unter Einstellungen -> Shop -> Länder für jedes Land eingestellt werden, davor war dies auch im Plugin möglich.

- Infos zur Validierung: https://www.frankfurt-main.ihk.de/recht/steuerrecht/umsatzsteuer_international/innergemeinschaftliche_lieferungen/

Version 1.0.18
TASK | plugin.png aktualisiert.
IMPROVEMENT | Kompatibilität mit Shopware 6.5.3.x.

Version 1.0.17
BUGFIX | Registrierung mit fehlerhafter Validierung führte zu einem kaputten Formular nach dem Absenden.
BUGFIX | Es wurde ein Fehler geworfen, wenn eine API eine leere Antwort zurückgab.

Version 1.0.16
IMPROVEMENT | Option hinzugefügt, um die Validierung zu umgehen, wenn alle APIs nicht erreichbar sind.
TASK | Code aufgeräumt.

Version 1.0.15
IMPROVEMENT | Neue API-Antwort zu den Antworten hinzugefügt, die als API nicht erreichbar gekennzeichnet werden.

Version 1.0.14
BUGFIX | Registrierung mit fehlerhafter Validierung führte zu einem kaputten Formular nach dem Absenden.

Version 1.0.13
TASK | GB wegen Brexit entfernt.
TASK | Option "Erweitert + Brief" entfernt, da nicht mehr möglich.
Bitte die Option "Online-Validierungstyp" nach dem Update prüfen und neu einstellen.

Version 1.0.12
IMPROVEMENT | Offline-Validierung prüft, ob Land zu USTID passt.
TASK | USTID-Validierung bei Ajaxx-Adress-Editor deaktiviert, da Shopware hier keine Fehlermeldungen ausgeben kann.
IMPROVEMENT | Eingegebene Werte für Straße, PLZ und Stadt werden nun bei fehlerhafter Validierung gefüllt.
TASK | Fehlerbehebung für einen Shopware-Fehler ist nicht mehr notwendig und daher entfernt.
Bitte immer "Validierung bevor Bestellung gespeichert wird" aktivieren.

Version 1.0.11
TASK | Behebt einen Fehler, der von Shopware kommt und dafür sorgt, dass nach einer falschen Validierung die Registrierung nicht abgeschickt werden kann.

Version 1.0.10
IMPROVEMENT | EU-API-Validierung für französische Adressen ignoriert nun Teile der Adresse, die nicht relevant sind.

Version 1.0.9
BUGFIX | Behebt einen Fehler, der aus v1.0.8 kommt.

Version 1.0.8
TASK | Behebt einen Fehler, der von Shopware kommt und dafür sorgt, dass nach einer falschen Validierung die Registrierung nicht abgeschickt werden kann.

Version 1.0.7
BUGFIX | Behebt einen Fehler, wenn kein Wert bei Plugin-Konfiguration  "taxFreeCountriesWithVatId" gesetzt ist.
IMPROVEMENT | Optionen hinzugefügt, um wählen zu können, wo die Validierung aktiv ist (Adressänderung, bevor Bestellung gespeichert wird).
TASK | Code cleanup.

Version 1.0.6
IMPROVEMENT | Option hinzugefügt, um steuerfrei in ausgewählte Länder zu versenden, wenn eine USTID eingegeben wurde.
Nach der Installation des Updates können in den Plugin-Einstellungen Länder definiert werden, die eine steuerfreie Lieferung erlauben. Wenn ein Kunde eine Bestellung mit USTID in der Lieferadresse und Lieferadresse in ein hinterlegtes Land tätigt, wird die Bestellung steuerfrei.

Version 1.0.5
BUGFIX | Erlaubt HTML in bestimmten Datenbankfeldern.

Version 1.0.4
TASK | Anpassungen für Shopware 6.3.0.0.
BUGFIX | Fehler im Account auf der "Personal"-Seite behoben.
BUGFIX | Behebt einen Fehler der durch einen falsch benannten block von Shopware entstand (component_address_personal_account_type).
IMPROVEMENT | Formluare behalten nun die Firmendaten, auch wenn die Validierung fehlschlägt.

Version 1.0.3
BUGFIX | Behebt einen Tippfehler im Twig-Template.

Version 1.0.2
BUGFIX | Debug code entfernt.

Version 1.0.1
IMPROVEMENT | Behebt einen Fehler in Shopware, der das "Ich bin"-Feld auf der Registrierungsseite nicht korrekt ausgefüllt hat, wenn ein Validierungsfehler besteht.

Version 1.0.0
BUGFIX | Problem auf der Registrierungsseite behoben, das auftrat, wenn eine alternative Lieferadresse mit USTID gewählt wurde.

Version 0.0.2
BUGFIX | Debug-Ausgabe nach Checkout entfernt.
IMPROVEMENT | Offline-Validierung refaktoriert.

Version 0.0.1
Erste Version des Plugins für Shopware 6.