Automatische Überprüfung der UID und Kundengruppenzuordnung in Magento 1.7

Hinter dieser sperrigen Überschrift verstecken sich zwei neue Funktionen für den B2B-Handel (Business-to-Business) in Magento 1.7:

  • Die Umsatzsteuer-Identifikationsnummer (UID bzw. UST-IdNr.) kann automatisch überprüft werden.
  • Je nach Ausgang der UID-Prüfung kann eine automatische Kundengruppenzuordnung des Kunden erfolgen.

Für die Validierung kommt die offizielle Schnittstelle der Europäischen Union (VIES VAT number validation) zum Einsatz.

Hinweis: Dieser Artikel entstand während der Entwicklung von Magento 1.7 (Version alpha1). Es ist daher möglich, dass sich in der stabilen Version Änderungen ergeben.

Konfiguration

Um die automatische Überprüfung zu aktivieren, meldet man sich im Magento-Backend an und navigiert zum Menüpunkt System > Configuration > Customer > Customer Configuration > Create New Account Options (siehe Screenshot).

Wenn man die unscheinbare Option „Enable Automatic Assignment to Customer Group“ auf „Yes“ setzt, erscheinen die Konfigurationsmöglichkeiten:

Wir können nun die Optionen Schritt für Schritt durchgehen:

  • Enable Automatic Assignment to Customer Group
    Aktiviert die automatische Überprüfung der Umsatzsteuer-Identifikationsnummer und die automatische Zuordnung zu Kundengruppen.
  • Default Group
    Die Kundengruppe, der neue Kunden standardmäßig zugeordnet werden.
  • Group for Valid VAT ID – Domestic
    Die Kundengruppe, der inländische Kunden mit gültiger UID zugeordnet werden.
  • Group for Valid VAT ID – Intra-Union
    Die Kundengruppe, der Kunden innerhalb der EU mit gültiger UID zugeordnet werden.
  • Group for Invalid VAT ID
    Die Kundengruppe, der Kunden ohne gültige UID zugeordnet werden.
  • Validation Error Group
    Die Kundengruppe, der Kunden zugeordnet werden, wenn keine Validierung vorgenommen werden konnte (z.B. weil das Validierungsservice nicht erreichbar ist.)
  • Validate on Each Transaction
    Legt fest, ob die Gültigkeit der UID bei jeder Bestellung überprüft werden soll.
  • Disable Automatic Group Changes Based on VAT ID Default Value
    Soll die Option „Disable automatic group change“  bei der Anlage neuer Kunden im Backend standardmäßig angehakt sein? (Siehe weiter unten für eine Erklärung dieser Funktion.)

Funktionsweise & Details

Sehen wir uns an, wie das neue Feature funktioniert und welche Details mir beim Testen aufgefallen sind.

Wie sieht eine Beispielkonfiguration aus?

Ich habe für meine Tests folgende Kundengruppen unter „Customers > Customer Groups“ erstellt:

  • B2C
    Die normalen Endkunden.
  • Händler Österreich verifiziert
    Kunden aus Österreich, die eine gültige UID angegeben haben (B2B).
  • Händler EU verifiziert
    Kunden aus der EU, die eine gültige UID angegeben haben (B2B).
  • Händler UID ungültig
    Kunden, die eine ungültige UID angegeben haben.
  • Händler UID nicht verifiziert
    Kunden, bei denen die UID nicht überprüft werden konnte (z.B. weil die Überprüfungsstelle nicht erreichbar war).
  • NOT LOGGED IN
    Gruppe für nicht registrierte Kunden (eine Standardgruppe in Magento).

Die Konfiguration für die Kundengruppenzuordnung sieht dann folgendermaßen aus:

Wo werden die Ländereinstellungen für den Shopbetreiber und den Kunden vorgenommen?

Der Shopbetreiber stellt das Land, in dem sich der Shop befindet, im Backend unter dem Menüpunkt „System > Configuration > Configuration > General > General > Store Information > Country“ ein. In unserem Fall wird hier „Österreich“ ausgewählt.

Achtung: wenn die automatische Zuordnung der Kundengruppen bereits aktiviert war, muss nach einer Änderung des Landes die Option erneut aktiviert werden. Bei mir wurde sie nach der Umstellung des Shop-Landes deaktiviert.

Für den jeweiligen Kunden gilt das in der Standard-Rechnungsadresse angegebene Land.

Wo muss die UID eingegeben werden?

Für die Überprüfung wird einzig die UID der Standard-Rechnungsadresse verwendet.

Es wird zwar bereits beim ersten Registrierungsschritt ein UID-Feld eingeblendet, wenn man das im Magento-Backend so einstellt. Diese Eingabe wird aber ignoriert – unabhängig davon, ob das Feld als optionale oder als Pflichtangabe definiert wird.

Nach der Registrierung wird der Hinweis angezeigt, dass für die korrekte Preisdarstellung eine UID bei der Rechnungsadresse hinterlegt werden muss.

Wenn man die neue Adresse anlegt, erscheint im Formular ein UID-Feld. Diese Eingabe wird für die Überprüfung verwendet und auch nur dann, wenn es sich um die Standard-Rechnungsadresse handelt (z.B. bei der Anlage der ersten Adresse überhaupt oder wenn man später beim Bearbeiten / Erstellen von Adressen das entsprechende Häkchen setzt).

Welche unterschiedlichen Fälle gibt es und wie werden die Kunden informiert?

Wird eine UID angegeben, dann kann zwischen 4 Fällen unterschieden werden. Das Beispiel verwendet die oben angegebenen Beispiel-Kundengruppen:

  1. Inländischer B2B-Kunde (Österreich)
    Ein österreichischer Händler gibt eine korrekte UID an.

    Die UID ist gültig, Steuern werden verrechnet. Der Kunde wird in die Gruppe „Händler Österreich verifiziert“ verschoben.
  2. Ausländischer B2B-Kunde (EU)
    Ein ausländischer Händler innerhalb der EU gibt eine korrekte UID an.
    Die UID ist gültig, Steuern werden nicht verrechnet. Der Kunde wird in die Gruppe „Händler EU verifiziert“ verschoben.
  3. UID-Validierungs-Service nicht erreichbar
    Die Überprüfung der UID kann nicht durchgeführt werden.
    Die UID konnte nicht verifiziert werden, Steuern werden verrechnet. Der Kunde wird in die Gruppe „Händler UID nicht verifiziert“ verschoben. Eine eigene Kundengruppe für diesen Fall macht Sinn, damit man leicht sieht, um welche Kunden man sich getrennt kümmern muss (z.B. um in Kontakt zu treten, die Überprüfung manuell vorzunehmen, …).
  4. UID ist ungültig
    Es wurde eine falsche UID angegeben.

    Die UID ist ungültig, Steuern werden verrechnet. Der Kunde wird in die Gruppe „Händler UID ungültig“ verschoben.

Können einzelne Kunden von der automatischen Überprüfung ausgenommen werden?

Ja. Der Kunde wird im Backend über dem Menüpunkt „Customers > Manage Customers“ bearbeitet. Im Abschnitt „Account Information“ kann bei der Kundengruppenauswahl das Häkchen „Disable automatic group change“ gesetzt werden.

Kann die UID des Kunden direkt über das Backend manuell überprüft werden?

Soweit ich gesehen habe: im Moment nicht. Allerdings gibt es eine Überprüfungsmöglichkeit für die eigene UID unter „System > Configuration > General > General > Store Information“, die zweckentfremdet werden könnte.

Kann für das eigene Unternehmen eine UID angegeben werden?

Ja, es kann für den Shop eine UID unter „System > Configuration > General > General > Store Information“ definiert werden. Dort ist auch eine Überprüfung der UID möglich.

Achtung: wenn der Validierungsservice nicht erreichbar ist, wird die Meldung „VAT Number is invalid“ angzeigt. Falls man sicher ist, dass die Nummer richtig eingegeben wurde, könnte die Meldung also auch dadurch zustande kommen.

Fazit

Das neue Feature kann Shop-Betreibern mit vielen B2B-Kunden einiges an Arbeit abnehmen. Ein paar kleine Funktionen (manuelle Überprüfung der UID direkt beim Kundenmanagement möglich, leichtere Editierbarkeit der Erfolgs-/Fehlermeldungen, …) wären wünschenswert, doch vielleicht kommen diese Features noch dazu.

52 Antworten

  1. Alfons sagt:

    Hallo Matthias,
    die Gruppen und Tierpreise funktionieren in meinem Shop, diese werden allerdings nicht in den Warenkorb übertragen. Kannst Du mir verraten wo die Einstellung dafür geändert werden müssen?
    Danke

  2. Jan sagt:

    Hallo Roman,
    vielen Dank für die Extension – allerdings habe ich ebenfalls das Problem, dass die Extension unter „Erweitert“ gelistet (und aktiviert) ist, das VATFix-Feld aber in der Kundenkonfiguration nicht auftaucht. Die Prüfung mit Länderkürzel schlägt auch weiterhin fehl.
    Verwende es in der CE 1.8

  3. Roman sagt:

    Hallo nochmal…

    weiter wenn das Logging in den Entwickleroptionen aktiviert ist und ein Ländercode von einer UID angeschnitten wird, wird before und after in das file system.log geschrieben.

    Liebe Grüße
    Roman

  4. Roman sagt:

    Hallo Viktor,

    ist die Erweiterung denn auch unter Konfiguration -> Erweitert gelistet ?

    Ich hab jetzt gleich ein Update der Erweiterung gemacht…
    Um zu sehen ob das Modul überhaupt geladen wird, kannst du überprüfen ob eine neue Konfiguration im Backend verfügbar ist, zu finden unter Customer -> Create Account -> VATFix enabled. (Dropdown)

    Liebe Grüße
    Roman

  5. Viktor sagt:

    Hallo Roman,

    vielen Dank für Deine Mühe und das Teilen. Ich habe die Extension jetzt im Einsatz jedoch greift es nicht. Das Länderkürzel muss nach wie vor weggelassen werden. Nur dann wird die UID Nummer akzeptiert. Ich habe die Dateien per FTP hochgeladen, alle Caches gelöscht aber es scheint nicht zu gehen.

    Hast du vielleicht noch einen Tipp für mich wo ich nach dem Fehler suchen muss.

    Gruß Viktor

  6. Roman sagt:

    Hallo Viktor,

    ich habe die Extension aus MagentoConnect entfernt, und zu github verlegt.
    hier

    Liebe Grüße
    Roman

  7. Viktor sagt:

    Hallo,

    vielen Dank auch von mir für das Tutorial. Was mich natürlich stört, dass man das Länderkürzel weglassen muss. Die Österreicher müssen das AT weglassen aber das U stehenlassen…. Hinweise für den Kunden zu setzen finde ich auch nicht so elegant.

    Roman hat doch ein Plugin geschrieben, leider existiert dieses nicht mehr oder? Ich kann es nirgends finden.
    Gibt es das Plugin noch?

    Eventuell könnte mir jemand einen Hinweis geben, wie man selbst den Code so ändern kann, dass die Ländercodes dennoch eingetragen werden können. Das wäre doch eigentlich die beste Lösung?

    Hat jemand einen Denkanstoß für mich?

    Vielen Dank im Voraus.

  8. Björn sagt:

    Hallo,

    ich arbeite gerade an einem deutschen Shop, der auch ins europäische Ausland versendet und bei Eingabe der SteuerID den gewerblichen Händlern aus dem Ausland die Umsatzsteuer nicht in Rechnung stellt. Die Konfigurierung hat gut geklappt, aber die Prüfung der SteuerID funktioniert leider nicht. Auch unter „Konfiguration“ -> General wird mir unten bei der Prüfung der SteuerID immer gesagt: „USt-IdNr. ist ungültig“ Ich weiß aber, dass sie gültig ist! Alle Variationen der ID laufen ins Leere…also mal mit DE, mal ohne. Das Land ist oben drüber richtig eingestellt! Wenn ich einen Kunden manuell einer Gruppe zuweise, funktioniert der Abzug der Steuern einwandfrei. Es geht wirklich nur um die Prüfung und die daraus folgende Zuweisung der Gruppe.

  9. party25hours sagt:

    Hallo Matthias,
    erstmal vielen Dank für dieses super Tutorial! Deine Tutorials haben mir schon des öfteren weitergeholfen!
    Allerdings habe ich ein Problem:
    Eingestellt ist alles wie von dir vorgeschrieben. Das Ganze würde für den Verkauf innerhalb Deutschlands auch einwandfrei funktionieren.
    Gebe ich jedoch eine gültige USt.-ID für Österreich ein (Ohne Länderkennung) dann wird kommt die Meldung

    „Die eingegebene USt-IdNr. (XXXXXXX) ist keine gültige USt-IdNr. Die anfallenden Steuern werden Ihnen in Rechnung gestellt.“

    Dabei ist es egal ob ich die USt.-IDNr. im Warenkorb oder in der „Adressverwaltung“ des Kundenbereiches eingebe.

    Wäre echt cool, wenn du eine Lösung für dieses Problem hättest! 🙂

    Liebe Grüße

    • Hallo,
      bei der österreichischen UST-IdNr. muss man AT wegnehmen und das U dran lasse. Die UID sieht dann zum Beispiel so aus: U628xxxxx
      Gerade getestet, mit unserer UID funktioniert das. 🙂

      Matthias

    • Roman sagt:

      Hallo,

      das Problem hatte ich auch und dem Kunden die Lösung mit „bitte ohne AT eingeben“ zu vermitteln fand ich nicht so gut, daher habe ich dafür hab ich eine Erweiterung geschrieben …
      Du findest Sie hier.

      Ich hoffe ich konnte dir damit helfen.

  10. Roman Hutterer sagt:

    Danke werde ich gleich überarbeiten…

  11. Roman Hutterer sagt:

    @Wolfgang
    das Problem mit dem Ländercode in der UID hab ich auch immer gehabt und mich deshalb entschlossen eine Erweiterung für genau das Problem zu schreiben. Man findet Sie hier…

    • Danke für den Hinweis, Roman.

    • Zwei Vorschläge hätte ich für die Extension:
      1.) Bitte Community-Extensions immer im community-Codepool ablegen.
      2.) Du entfernst jetzt immer die ersten zwei Zeichen. Wenn jemand (z.B. weil er es schon gewohnt ist) den Country-Code weglässt, funktioniert die Überprüfung nicht mehr. Du könntest die ersten zwei Stellen nur dann entfernen, wenn Sie einem der Country-Codes entsprechen. (Nach der Anzahl der Zeichen kann man auch nicht gehen, da die UID je nach Land zwischen 8 und 12 Stellen hat.)

  12. Henry sagt:

    Super Tutorial. Wie immer! 🙂

    Eine kleine Sache haben wir jedoch. Und zwar folgendes:
    Die VAT Überprüfung erfolgt ohne Probleme und die Einstufung in die entsprechende Kundengruppe auch.
    Wird der Kunde via VAT-Check als EU-B2B (ohne USt.) eingestuft zahlt er keine MwSt. Geht der Versand jedoch nach Deutschland (um Porto zu sparen), ist der Versand entsprechend auch ohne MwSt. Das geht natürlich nicht!
    Wenn die Rechnungsadresse innerhalb der EU ist, der Versand aber nach DE, will das Finanzamt und der Zoll einen Nachweis das die Ware DE verlassen hat. Das macht die ganze Sache unnötig kompliziert!

    Wie kann man es also regeln das, wenn Rechnung innerhalb EU (ohne MwSt.), der Versand aber nach DE geht, die MwSt. dann MIT berechnet wird.

    Gruß aus Berlin
    Henry

    • Ich denke (ohne das jetzt noch einmal getestet zu haben), dass Magento das nicht so berechnet, wie Sie geschrieben haben. Da müsste man vermutlich eine Extension schreiben.
      Die Berechnung der Versandsteuer ist in Magento nicht so ganz nach unserem Recht ausgelegt, da ist die Sichtweise wohl zu Amerika-spezifisch.

  13. Hallo Matthias,

    super tolles Tutorial, gerade für AT Shops ist die UID Validierung ein sehr wichtige Sache.
    2 Dinge laufen bei mir (1.7.0.2) allerdings noch nicht ideal:

    1. Validierung direkt im Checkout (Gast oder Neuer Account)

    Das UID Feld wird angezeigt aber die UID offensichtlich nicht überprüft, es erfolgt keine Einstufung. Der Kunde muss also vor dem Checkout einen Account anlegen. Nachdem deine Screenshots auch keine Validierung im Checkout zeigen stellt sich mir die Frage ob das ein Fehler unseres Shops ist oder überhaupt nicht als Feature vorhanden ist.

    2. Eingabe mit Ländercode

    Gibt es denn keine Lösung die UID Nr. mit Länderkennung (als z.B. DEXXXXXXXX) für die Validierung einzugeben? Sollte doch Standard sein, der Ländercode ist nun einmal Teil der UID.

    Liebe Grüße,
    Wolfgang

    • Hallo Thomas (Ewigkeiten später, aber doch :-)),

      Ad 1.) Eigentlich müsste man erwarten, dass Magento beim Gast-Checkout richtig arbeitet, wenn man die Optionen „USt-IDNr. im Frontend anzeigen“ und „Bei jeder Transkation prüfen“ auf „Ja“ stellt. Soweit ich gesehen habe, wird aber leider die Steuer wirklich nicht abgezogen.

      Ad 2.) Richtig, sollte Standard sein, ist es aber mit 1.7.0.2 nicht. 🙂
      Roman hat geschrieben, dass er eine Extension dafür erstellt hat. Die könntest du ausprobieren, falls du noch auf der Suche nach einer Lösung bist.

  14. Martin sagt:

    Wir haben es so lange probiert, bis wir schließlich den EU VAT Grouper gekauft haben. Damit geht es problemlos und wir hatten sogar schnellsten Support wegen eines Extensionkonflikts.

    Grüße,
    Martin

  15. Hallo,

    wie ihr bemerkt habt, hatte ich bisher keine Zeit, mich damit zu beschäftigen. Gibt es jemanden von euch, der das Problem schon gelöst hat und das hier beschreiben kann?

    Matthias

  16. Steffen sagt:

    Hallo!

    Ich habe leider das gleiche Probblem wie Smorp.

    Auch bei mir wird korrekterweise im Produktkatalog keine Steuer ausgewiesen.

    Sobald man den Warenkorb aufruft oder den Checkout Prozess durchläuft, wird die Steuer wieder ausgewiesen.

    Gruß

    Steffen

    • Da immer noch viele Leser auf diesen Beitrag stoßen: ich habe das mit Magento AT getestet und die Steuer wird in Warenkorb und Checkout korrekt abgezogen. Meine einzige Änderung gegenüber der Standardkonfiguration: ich gebe die Produktpreise netto ein.

  17. Oliver sagt:

    Hallo zusammen,

    wir beschäftigen uns auch gerade mit dem Thema.
    Mal angenommen wir verwenden verschiedene Kundengruppen für unterschiedliche Preise, z.B.

    Retailer – 10% via Warenkorbregel
    Retailer 2 – spezielle Produktpreise direkt am Produkt

    Wenn nun ein Kunde der Gruppe „Retailer“ oder „Retailer 2“ auch noch eine gültige VAT ID hat und keine MwSt zu zahlen hat wird es schwierig, denn sobald der Kunde erfolgreich validiert worden ist hat er ja nicht mehr die Kundengruppe „Retailer“ sondern berispielsweise die Gruppe „b2b_no_vat“.

    Hat jemand so ein ein Problem schon mal gehabt, bzw hat jemand eine Idee wie man das lösen könnte.

    Danke & Viele Grüße

    Oliver

    • Michael sagt:

      Hallo Oliver,
      habt Ihr dieses Problem mittlerweile gelöst ?
      Wenn ja würde uns interessieren wie, wir haben genau die gleiche Schwierigkeit.
      Wisst Ihr bzw. weiß jemand, ob das mit der Extension „EU VAT Grober“ so funktioniert ?

      Lieben Gruß
      Michael

      • Hallo Oliver & Michael,
        der beste Kompromiss ergibt sich wohl daraus, wieviele B2B-Gruppen es gibt, unter welchem Unständen welche Gruppen zum Einsatz kommen, in welchen Gruppen die meisten Kunden landen etc.
        Ohne Code-Anpassung wird da nur Handarbeit bleiben: entweder man deaktiviert die automatische Zuordnung zu Kundengruppen komplett oder man deaktiviert sie nur für die Kunden, die bei gültiger USt-IdNr.-Eingabe in die falsche Kundengruppe kommen würden.

  18. Martin sagt:

    Hallo Matthias,

    wie smorp schon beschrieben hat, haben auch wir das Problem, dass im (nur!) Warenkorb und Checkout dennoch Steuern berechnet werden, obwohl die Kunden in die richtige Kundengruppe verschoben wurden, die Steuereinstellungen generell richtig sind. Ist dieser Fall bereits öfters aufgetreten und gibt es eventuell eine Lösung?

    Beste Grüße,
    Martin

    • Da immer noch viele Leser auf diesen Beitrag stoßen: ich habe das mit Magento AT getestet und die Steuer wird in Warenkorb und Checkout korrekt abgezogen. Meine einzige Änderung gegenüber der Standardkonfiguration: ich gebe die Produktpreise netto ein.

  19. Jarno sagt:

    Hello Matthias, (hope you speak a little English)

    Thank you for your info about manually adding customers in the back-end. I have a question though:

    i want to add a customer from australia, so I have set him to tax-group “ customer non-eu“ (customers, manage customers, add new customer, account details. All works well.

    BUT:

    when i additionally add his address, save and look back into account details, this tax-group has jumped back to the standard-group!?

    Any idea how to act?

    Many thanks, been struggling with this for days now… Danke!

    Best regards, Jarno
    (please mail me if more info needed, or printscreens)

    • This could happen if you didn’t check the option „Disable Automatic Group Change Based on VAT ID“ for this customer and your configuration for automatic assignment to customer groups tells Magento to put that user into another group.

  20. Chris sagt:

    Kleiner Bugfix für Griechenland:
    Magento nutzt für den Check im Customer Bereich den CountryCode. Allerdings beginnt die Ust.ID für Griechenland mit EL und nicht mit GR – die Validierung ist bei einem Kunden aus Griechenland immer fehlgeschlagen.

    Workaround (Magento 1.7.0.2):
    In Mage_Customer_Helper_Data, function checkVatNumber bei Z.471:

    if ($countryCode == 'GR') {
    $countryCode = 'EL';
    }

  21. Hallo Chris,

    beachte, dass du (egal ob Überprüfung im Frontend oder Backend) bei den Adressdaten das richtige Land angeben und bei der UID das Länderkürzel (z.B. „AT“) weglassen musst.

    Falls es so auch nicht klappt, stelle sicher, dass Magento wirklich eine Verbindung zum Webservice herstellen kann und überprüfe die Antwort, die das Service liefert.

    Das geht recht einfach über das Magento-Backend unter System > Configuration > General > General > Store Information. Klickst du dort auf „Validate VAT Number“, wird im Code Mage_Adminhtml_Customer_System_Config_ValidatevatController::validateAction() ausgeführt. Von dort aus kannst du dich weiter vorarbeiten.

    Trage auch hier im Backend zuerst als Country „Österreich“ ein, speichere die Seite ab und tragen dann die UID ohne das führende „AT“ ein.

    • Christoph Potzinger sagt:

      Hallo Matthias,

      danke für Deine ausführliche Beschreibung. Wir hatten das alles so eingerichtet, wie von Dir beschrieben. Bei der Abfrage bekamen wir jedoch ständig ein Time-Out. Die Prüfung wurde nicht durchgeführt. Außerdem wurde der Bestellvorgang in 5 Schritten unglaublich langsam (es dauerte ca 30 min von der Anmeldung bis zum Kaufabschluss).
      Wir mussten die UID-Komponente komplett aus dem System entfernen, um den Bestellvorgang wieder auf die alte, gewohnte Geschwindigkeit zu bringen. Da scheint es etwas Gravierendes and der UID-Komponente zu haben. Wir haben den Grund noch nicht gefunden. Interessanterweise hat die UID-Abfrage vor 3 Wochen noch perfekt geklappt. Irgendetwas scheint sich da verändert zu haben. Ganz komisch.

      LG
      Chris

  22. Christoph Potzinger sagt:

    Hallo Matthias,

    in meinem Shop gibt es ein interessantes Phänomen: die gültige UID Nummer wird als „keine gültige USt-IdNr.“ klassifiziert. Sie ist aber ganz sicher gültig.

    Hier eine detailliertere Beschreibung:

    Bei der Registrierung habe ich meine (gültige) UID-Nummer eingegeben. Diese Eingabe wird offensichtlich nicht überprüft, da ich bzw dieser Beispielkunde (mit der richtigen UID-Nummer) im Backend der Kundengruppe „Händler UID nicht verifiziert“ zugeordnet werde.

    Gehe ich im Frontend in das Benutzerkonto des Kunden so erhalte ich die Nachricht, dass die Überprüfung nicht durchgeführt werden konnte.

    Gehe ich dann auf Rechnungsadresse ändern und speichere dann die Rechnungsadresse nochmals ab, bekomme ich die Meldung, dass meine UID-Nummer falsch ist (keine gültige USt-IdNr).

    Im Backend unter Kunden > Kundeninformation > Kundenansicht wird der Kunde daraufhin in die Kundengruppe Händler UID ungültig eingestuft. Das soll auch so sein (vorausgesetzt, natürlich, die UID wäre tatsächlich falsch; was ja hier nicht der Fall ist). D.h. Überprüfung der Gültigkeit der UID-Nr funktioniert NICHT, Einordnung in die Kundengruppe funktioniert.

    Komme einfach nicht dahinter, was hier falsch läuft. Hättest Du eine Idee.

    Liebe Grüße
    Chris

  23. Boris sagt:

    Halloo nochmal 🙂

    Ich wollte nur kurz ein kleines Update zum Thema geben:
    Der besagte Shop ist jetzt auf die Live-Umgebung umgezogen (wir hatten erst einen Workaround eingebaut, sodass Kunden manuell für B2B freigeschaltet werden mussten) und die automatische Abfrage funktioniert ohne Probleme.

    Vielleicht hat´s ja daran gelegen, dass der Shop vorher auf einer Subdomain lag, was ich mir allerdings nicht wirklich vorstellen kann.

    Wie dem auch sei – es funktioniert jetzt alles so, wie es soll.

    Beste Grüße,

    Boris

  24. Boris sagt:

    Moin Matthias!

    Damit könntest Du tatsächlich Recht haben – das Template ist ein gekauftes. Dank Dir für den Hinweis, dann weiss ich ja jetzt, wo ich nochmal schauen kann!

    Beste Grüße 🙂

  25. Christian sagt:

    Hallo,

    sehr gute Beschreibung. Hab mich da heute auch schon intensiver mit beschäfftigt udn das hier hat dabei gut geholfen.

    Ich hab mir das in der 1.72 angeschaut und dort ist zum Glück schon der Switch zwischen Liefer und RG Adressen drin ( es gilt ja immer der Ort der Leisungserbringung)

    Das einzige was da noch fehlt ist eine Zuweisung für NoN EU Käufer. Hat das jemand von euch auch schon mal probiert? ( es gibt hier ja einen anderen Steuerbefreiugsgrund, den man auf Rechnungen etc ausweisen muss)

    Gruß

    c.

    • Hallo,

      da das Feature in Magento 1.7 auf die EU-UID-Validierung abzielt, wird man da vermutlich selbst erweitern müssen, wenn ich dich richtig verstehe.

      Matthias

  26. Boris sagt:

    Hallo Matthias,
    dank Dir für die schnelle Antwort! 🙂
    Die Option hatte ich schon ausgewählt, und ich bekomme im FE auch unter „Benutzerkonto Informationen“ die Ust-Ident.-Nr. angezeigt, die ich bei der Benutzerkonto-Anmeldung vergeben hatte.

    Das ist ja schön und grün, aber, wie Du ja auch schon geschrieben hast, interessiert das Magento herzlich wenig – der Kunde bleibt Privatkunde, weil er nicht die Möglichkeit hat, seine Ust-Ident-Nr. noch einmal im Formular für die Standard-Rechnungsadresse einzugeben. (Oder hab ich da jetzt was grundlegend falsch verstanden?)

    Ich habe auch schon geschaut, ob das Feld evtl. durch ein „display:none“ o.Ä. im CSS ausgeblendet wird, dem ist aber nicht so.

    Scheinbar kommt das Formular, trotz des angewählten Häkchens gar nicht auf die Idee, noch ein Extra-Feld für die Steuer auszugeben…

    Fällt Dir dazu vielleicht noch etwas ein?

    Grüße!

    • Diesmal hat es mit der Antwort etwas länger gedauert, dein Kommentar ist in meinen Post-Urlaub-Mails leider untergegangen. 😉 Normalerweise muss das Formularelement für die Ust-Id auftauchen. Wenn der Shop richtig installiert ist und die Caches deaktiviert/aktualisiert sind, gibt es z.B. die Möglichkeit, dass (falls eine bestehende Magento-Installation aktualisiert wurde) die Templates nicht richtig aktualisiert wurden oder dass du ein gekauftes Template verwendest, das nicht entsprechend angepasst wurde.

  27. Boris sagt:

    Hallo Matthias,
    vielen Dank für Deine Super-Tutorials und die Mühe, die Du Dir machst! Ich arbeite mich gerade in Magento ein, und Deine Anleitungen haben mir schon sehr viel weitergeholfen, das System besser zu verstehen!

    Eine Frage zu diesem Tutorial habe ich aber leider dennoch:

    Ich habe alles so eingerichtet, wie Du es beschrieben hast, aber leider funktioniert die automatische Zuordnung der Kundengruppen noch nicht so wirklich.

    Wenn sich ein Benutzer als Händler registrieren möchte, so kommt ja nach dem ersten Login die Aufforderung, eine Rechnungsadresse einzutragen. Hier soll die UST-ID hinterlegt werden, damit der Kunde automatisch der Gruppe B2B zugeordnet wird, und nicht mehr B2C.

    In meinem Formular hier erscheint zwar die Möglichkeit, alle wichtigen Rechnungsdaten anzugeben, lediglich das UST-ID-Feld wird nicht angezeigt.

    Hast Du eine Idee, woran das liegen kann, bzw. wie man diesen Fehler (?) evtl. beheben kann?

    Beste Grüße und vielen Dank schon einmal im Voraus!

    Boris

    • Hallo Boris,
      danke für das Lob. In der finalen Version von Magento 1.7 gibt es beim Punkt „Create New Account Options“ oberhalb der Option „Default Email Domain“ eine neue Einstellungsmöglichkeit „Show VAT Number on Frontend“. Setzt du diese auf „Yes“, dann sollte das Feld für die UST-ID angezeigt werden.

      Beste Grüße,
      Matthias

  28. Ruppyo Jantzen sagt:

    Hallo Matthias,

    Danke für den Artikel, leider gibt es bei mir (v 1.7) ein Problem mit „Disable Automatic Group Changes Based on VAT ID Default Value“. Die Option wird nicht automatisch gesetzt, sofern true/ja ausgewählt wurde.
    Zudem gibt es noch das Problem, dass die Ust ID dennoch generell überprüft wird. Hier wird dann zwar die Kundengruppe nicht gewechselt, jedoch erscheinen die Meldungen beim LogIn eines registrierten Users.

    Ggf. kannst Du das ja im Magento-Forum posten und hier einen kleinen Workaround bereitstellen.

    Hinzu kommt noch das Problem, dass der Kunde nicht direkt bei der Registrierung die Ust-ID eingeben kann. Ggf. gibt es dafür auch einen Tip, der hier bereitgestellt werden könnte.

  29. Smorp sagt:

    Hallo Matthias,

    danke für den tollen Artikel. Was Du beschreibst, funktioniert auch in der finalen 1.7.0.0 CE. Gruppenwechsel funktioniert, Preisanzeige passend zur Kundengruppe funktioniert auch.

    Was ich bisher nicht zum Laufen bekomme ist eine Konfiguration in der dann die Steuern für den innergemeinschaftlichen Erwerb im Warenkorb und Checkout korrekt berechnet werden. Egal wie ich es einstelle, beim innergemeinschaftlichen Erwerb wird immer Steuer berechnet. Export funktioniert, B2C Inland und B2B Inland ebenfalls.

    Hast Du eine Steuerkonfiguration in der das läuft? Ich will keinen separaten B2B Store machen, bis 1.6.x CE hat das z.B. mit der Geissweb VAT Extension gut funktoniert.

    Es sind alle Kunden- und Produktsteuerklassen, Steuersätze und Steuerregeln entsprechend angelegt. Es wird auch die richtige Steuerregel ausgewählt, dennoch wird die Steuer berechnet. Es gibt einen Flag ‚process‘ der auf 0 steht. Ich vermute das ist der Schlüssel, habe mir das aber noch nicht genau angesehen.

    • Hallo!

      Wir haben Version 1.7 mit dieser Funktion noch nicht produktiv im Einsatz. Um der Sache auf den Grund zu gehen, müsste man wissen, welche Produkt- und Kundensteuerklassen, Steuerzonen und Steuerregeln du definiert hast und wieder Punkt System > Konfiguration > Verkäufe > Steuern konfiguriert ist.

      • Smorp sagt:

        Hallo Matthias,

        hier unsere Steuer- und Gruppenkonfiguration, mit der das bis 1.6.2 funktionierte.

        Problem ist wie gesagt ist die B2B EU Kundengruppe (2, s.u.) ohne Steuerberechnung. Hier werden bei eingeloggten Kunden dieser Gruppe die Preise in Artikeldetails und Listen korrekt dargestellt. Warenkorb und Checkout berechnen die Steuer aber fälschlicherweise.

        Da Export funktioniert, haben wir auch versucht die Steuerregel innergemeinschaftliche Lieferung ganz wegzulassen. Aber auch das führt leider nicht zum Erfolg sondern zum selben Ergebnis wie oben. Ich werde das Steuermodul wahrscheinlich doch auseinandernehmen müssen.

        Aber vielleicht fällt dir ja ein grundsätzlicher Fehler auf.

        Voraussetzung / Basiskonfiguration Shop
        ————————————————————————————————
        Eigenes Land: DE, BY, 88131
        UID: eingetragen und valide

        A) Artikelsteuerklassen
        ————————————————————————————————
        1) Voller Satz
        2) Halber Satz
        3) Befreit
        4) Versand

        B) Kundensteuerklassen
        ————————————————————————————————
        1) Kunden mit Umsatzsteuer
        2) Kunden ohne Umsatzsteuer

        C) Steuersätze, für jedes EU Land angelegt, beispielhaft für DE, AT
        ————————————————————————————————
        DE – Voller Satz – Deutschland – Alle Bundesländer – PLZ Bereiche Nein – PLZ * – Satz 19%
        DE – Halber Satz – Deutschland – Alle Bundesländer – PLZ Bereiche Nein – PLZ * – Satz 7%
        DE – Befreit – Deutschland – Alle Bundesländer – PLZ Bereiche Nein – PLZ * – Satz 0%
        AT – Voller Satz – Österreich – Alle Bundesländer – PLZ Bereiche Nein – PLZ * – Satz 19%
        AT – Halber Satz – Österreich – Alle Bundesländer – PLZ Bereiche Nein – PLZ * – Satz 7%
        AT – Befreit – Österreich – Alle Bundesländer – PLZ Bereiche Nein – PLZ * – Satz 0%

        D) Steuerregeln
        ————————————————————————————————
        1) PRODUKTE VOLLER STEUERSATZ
        Kundensteuerklasse: Kunden mit Mehrwertsteuer
        Artikelsteuerklasse: Voller Satz
        Steuersatz: Versand, DE – Voller Satz, AT – Voller Satz etc. für alle EU Länder
        Priorität: 1
        Reihenfolge: 0

        2) PRODUKTE HALBER STEUERSATZ
        Kundensteuerklasse: Kunden mit Mehrwertsteuer
        Artikelsteuerklasse: Halber Satz
        Steuersatz: DE – Halber Satz, AT – Halber Satz, etc. für alle EU Länder
        Priorität: 2
        Reihenfolge: 0

        3) INNERGEMEINSCHAFTLICHE LIEFERUNG
        Kundensteuerklasse: Kunden ohne Mehrwertsteuer
        Artikelsteuerklasse: Voller Satz, Halber Satz, Versand
        Steuersatz: DE – Befreit, AT – Befreit etc. für alle EU Länder
        Priorität: 3
        Reihenfolge: 0

        E) Kundengruppen
        ————————————————————————————————
        0 NOT LOGGED IN Kunden mit Mehrwertsteuer
        1 B2C/B2B (Full VAT) Kunden mit Mehrwertsteuer
        2 B2B-EU (VAT free) Kunden ohne Mehrwertsteuer
        3 B2C/B2B (NON-EU) Kunden ohne Mehrwertsteuer
        4 B2B (Own Country) Kunden mit Mehrwertsteuer
        5 B2B-EU-Error (Full VAT) Kunden mit Mehrwertsteuer
        6 B2B-EU-Invalid VAT(Full VAT) Kunden mit Mehrwertsteuer

        • Da immer noch viele Leser auf diesen Beitrag stoßen: ich habe das mit Magento AT getestet und die Steuer wird in Warenkorb und Checkout korrekt abgezogen. Meine einzige Änderung gegenüber der Standardkonfiguration: ich gebe die Produktpreise netto ein.

  1. 20.10.2012

    […] […]