Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Kundenneuanlage mit UStID schlägt fehl

    ostermann

    • Fördermitglied
    • Beiträge: 124
    • Geschlecht:
    Kundenneuanlage mit UStID schlägt fehl
    am: 25. Juli 2011, 15:33:39
    Bei mir können sich seit einiger Zeit keine neuen Kunden mehr mit USt.-ID anmelden. Es wird zwar ein neuer Account angelegt, aber die USt-ID wird abgelehnt. Die USt.-IDs selbst sind korrekt, das habe ich gerade mit den letzten 2 Nummern aus Italien und Estland geprüft. Das Verfahren hat früher auch funktioniert. Auch im Backend kann ich die ID nicht nachträglich eingeben ("Die Eingegebene UST ID Nummer ist Falsch oder kann derzeit nicht geprüft werden!").

    Hat sich da evtl. etwas an der Schnittstelle bzw. bei der Überprüfung geändert?

    Mit freundlichen Grüßen
    Thorsten Ostermann

    [EDIT DokuMan 24.08.2011: Bitte das Modul unter weiter unten hier im Thema testen.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=14145.0

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #1 am: 25. Juli 2011, 15:52:06
    Hallo Thorsten,

    schau mal bitte hier: Fehler 915: Anmeldung eines Kunden mit ausländischer USt-Id nicht mehr möglich

    Ich würde mich über dein Feedback freuen.

    Grüße

    Torsten

    ostermann

    • Fördermitglied
    • Beiträge: 124
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #2 am: 25. Juli 2011, 16:17:09
    Hallo Torsten!

    Den Beitrag hatte ich gesehen, aber nicht komplett gelesen, weil es um modified eCommerce Shopsoftware 1.03 ging. Ich habe PHP 5.2.17, d.h. daran sollte es nicht liegen?!

    Mit freundlichen Grüßen
    Thorsten Ostermann

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #3 am: 25. Juli 2011, 18:17:07
    Kann es sein, dass die URL nicht mehr funktioniert.
    Bitte check das mal manuell:

    http://wddx.bff-online.de/ustid.php?eigene_id=DEINEID&abfrage_id=FREMDEID

    Bitte unter DEINEID und FREMDEID eine USTID setzen

    ostermann

    • Fördermitglied
    • Beiträge: 124
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #4 am: 26. Juli 2011, 08:13:14
    Hallo DokuMan!

    Da bekomme ich folgende Fehlermeldung zurück:

    Zitat
    Ihre Anfrage kann derzeit durch den angefragten Mitgliedsstaat oder aus anderen Gruenden nicht bearbeitet werden. Bitte versuchen Sie es spaeter noch einmal. Bei wiederholten Problemen wenden Sie sich bitte an das Bundesamt fuer Finanzen, Aussenstelle Saarlouis.DE81502778910:11:2226.07.2011IT05072260721205

    Ich rufe da mal an...

    Mit freundlichen Grüßen
    Thorsten Ostermann

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #5 am: 26. Juli 2011, 08:21:20
    Versuchs mal mit dem Service der EU: http://ec.europa.eu/taxation_customs/vies/lang.do?fromWhichPage=vieshome&selectedLanguage=DE

    Dazu habe ich bereits eine funktionierende Lösung parat, die erfordert allerdings PHP mit Webservicefunktionalität.

    ostermann

    • Fördermitglied
    • Beiträge: 124
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #6 am: 26. Juli 2011, 08:50:19
    Der Ansprechpartner für diesen Bereich ist (heute?) nicht im Haus. Ich habe ihm eine Anfrage per E-Mail geschickt. Hat sonst noch jemand das gleiche Problem?

    Mit freundlichen Grüßen
    Thorsten Ostermann

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #7 am: 26. Juli 2011, 09:08:57
    Bei mir klappt keine Kombination auf http://wddx.bff-online.de, es erscheint die gleiche Meldung wie bei dir.

    ostermann

    • Fördermitglied
    • Beiträge: 124
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #8 am: 05. August 2011, 20:12:41
    Eine Antwort vom BZST lässt bisher auf sich warten. Ich muss in den nächsten Tagen mal testen, ob das Problem noch besteht. Falls ja: Irgendwo konnte man die Prüfung doch auch abschalten, nur wo?

    Mit freundlichen Grüßen
    Thorsten Ostermann

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #9 am: 05. August 2011, 20:40:21
    Hallo Zusammen,

    kann es sein, dass die nur noch XML-RPC akzeptieren als Anfrage?

    Ich hatte mal was dafür geschrieben weiß jedoch nicht ob man das so einfach einbauen kann da die XML-RPC Klasse unter einer Lizenz steht... :)

    Hier mal das was man ändern kann.

    In der "/includes/classes/vat_validation.php" in Z.905 bis 986 das:

    Code: PHP  [Auswählen]
            // Live Check überprüft die USTid beim Bundesamt für Finanzen
            function live($abfrage_nummer) {

                    $eigene_nummer = STORE_OWNER_VAT_ID;

                    /* Hier wird der String für den POST per URL aufgebaut */
                    $ustid_post = "eigene_id=".$eigene_nummer."&abfrage_id=".$abfrage_nummer."";

                    /* Zur Verbindung mit dem Server wird CURL verwendet */
                    /* mit curl_init wird zunächst die URL festgelegt */

                    $ch = curl_init("http://wddx.bff-online.de//ustid.php?".$ustid_post."");

                    /* Hier werden noch einige Parameter für CURL gesetzt */
                    curl_setopt($ch, CURLOPT_HEADER, 0); /* Header nicht in die Ausgabe */
                    curl_setopt($ch, CURLOPT_NOBODY, 0); /* Ausgabe nicht in die HTML-Seite */
                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); /* Umleitung der Ausgabe in eine Variable ermöglichen */

                    /* Aufruf von CURL und Ausgabe mit WDDX deserialisieren */

                    $des_out = wddx_deserialize(curl_exec($ch));
                    curl_close($ch);

                    /* Die deserialisierte Ausgabe in ein Array schreiben */

                    while (list ($key, $val) = each($des_out)) {
                            $ergebnis[$key] = $val;
                    }

                    if ($ergebnis[fehler_code] == '200') {
                            return 1;
                    }
                    elseif ($ergebnis[fehler_code] == '201') {
                            return 0;
                    }
                    elseif ($ergebnis[fehler_code] == '202') {
                            return 0;
                    }
                    elseif ($ergebnis[fehler_code] == '203') {
                            return 0;
                    }
                    elseif ($ergebnis[fehler_code] == '204') {
                            return 0;
                    }
                    elseif ($ergebnis[fehler_code] == '205') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '206') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '207') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '208') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '209') {
                            return 0;
                    }
                    elseif ($ergebnis[fehler_code] == '210') {
                            return 0;
                    }
                    elseif ($ergebnis[fehler_code] == '666') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '777') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '888') {
                            return 9;
                    }
                    elseif ($ergebnis[fehler_code] == '999') {
                            return 9;
                    } else {
                            return 9;
                    }

            } // end function Live
     
    ersetzen mit dem:

    Code: PHP  [Auswählen]
      // Live Check überprüft die USTid beim Bundesamt für Finanzen
      function live($abfrage_nummer)
      {
        include("class.ixr_library.php");
    //    $client     = new IXR_Client('http://evatr.bff-online.de'); // ohne SSL
        $client     = new IXR_Client('https://evatr.bff-online.de'); // mit SSL
        $UstId_1    = STORE_OWNER_VAT_ID;
        $UstId_2    = $abfrage_nummer;
        $Firmenname = '';
        $Ort        = '';
        $PLZ        = '';
        $Strasse    = '';
        $Druck      = '';

        if (!$client->query('evatrRPC', $UstId_1, $UstId_2, $Firmenname, $Ort, $PLZ, $Strasse, $Druck)) {
          $error_code = $client->getErrorCode();
        } else {
          $phpvars = xmlrpc_decode ($client->getResponse());
          $error_code = $phpvars[3]; // Error Code steht an 4ter Stelle in XML-RPC Antwort
        }

        // Ergebnis auswerten
        if ($error_code == '200') {
          return 1; // Die angefragte USt-IdNr. ist gültig.
        } elseif ($error_code == '201') {
          return 0; // Die angefragte USt-IdNr. ist ungültig.
        } elseif ($error_code == '202') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie ist nicht in der Unternehmerdatei des betreffenden EU-Mitgliedstaates registriert.
        } elseif ($error_code == '203') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie ist erst ab dem ... gültig (siehe Feld 'Gueltig_ab').
        } elseif ($error_code == '204') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie war im Zeitraum von ... bis ... gültig (siehe Feld 'Gueltig_ab' und 'Gueltig_bis').
        } elseif ($error_code == '205') {
          return 9; // Ihre Anfrage kann derzeit durch den angefragten EU-Mitgliedstaat oder aus anderen Gründen nicht beantwortet werden. Bitte versuchen Sie es später noch einmal. Bei wiederholten Problemen wenden Sie sich bitte an das Bundeszentralamt für Steuern - Dienstsitz Saarlouis.
        } elseif ($error_code == '206') {
          return 9; // Ihre deutsche USt-IdNr. ist ungültig. Eine Bestätigungsanfrage ist daher nicht möglich. Den Grund hierfür können Sie beim Bundeszentralamt für Steuern - Dienstsitz Saarlouis - erfragen.
        } elseif ($error_code == '207') {
          return 9; // Ihnen wurde die deutsche USt-IdNr. ausschliesslich zu Zwecken der Besteuerung des innergemeinschaftlichen Erwerbs erteilt. Sie sind somit nicht berechtigt, Bestätigungsanfragen zu stellen.
        } elseif ($error_code == '208') {
          return 9; // Für die von Ihnen angefragte USt-IdNr. läuft gerade eine Anfrage von einem anderen Nutzer. Eine Bearbeitung ist daher nicht möglich. Bitte versuchen Sie es später noch einmal.
        } elseif ($error_code == '209') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie entspricht nicht dem Aufbau der für diesen EU-Mitgliedstaat gilt.
        } elseif ($error_code == '210') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie entspricht nicht den Prüfziffernregeln die für diesen EU-Mitgliedstaat gelten.
        } elseif ($error_code == '211') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie enthält unzulässige Zeichen.
        } elseif ($error_code == '212') {
          return 0; // Die angefragte USt-IdNr. ist ungültig. Sie enthält ein unzulässiges Länderkennzeichen.
        } elseif ($error_code == '213') {
          return 0; // Die Abfrage einer deutschen USt-IdNr. ist nicht möglich.
        } elseif ($error_code == '214') {
          return 0; // Ihre deutsche USt-IdNr. ist fehlerhaft. Sie beginnt mit 'DE' gefolgt von 9 Ziffern.
        } elseif ($error_code == '215') {
          return 9; // Ihre Anfrage enthält nicht alle notwendigen Angaben für eine einfache Bestätigungsanfrage (Ihre deutsche USt-IdNr. und die ausl. USt-IdNr.). Ihre Anfrage kann deshalb nicht bearbeitet werden.
        } elseif ($error_code == '216') {
          return 9; // Ihre Anfrage enthält nicht alle notwendigen Angaben für eine qualifizierte Bestätigungsanfrage (Ihre deutsche USt-IdNr., die ausl. USt-IdNr., Firmenname einschl. Rechtsform und Ort). Es wurde eine einfache Bestätigungsanfrage durchgeführt mit folgenden Ergebnis: Die angefragte USt-IdNr. ist gültig.
        } elseif ($error_code == '217') {
          return 9; // Bei der Verarbeitung der Daten aus dem angefragten EU-Mitgliedstaat ist ein Fehler aufgetreten. Ihre Anfrage kann deshalb nicht bearbeitet werden.
        } elseif ($error_code == '218') {
          return 9; // Eine qualifizierte Bestätigung ist zur Zeit nicht möglich. Es wurde eine einfache Bestätigungsanfrage mit folgendem Ergebnis durchgeführt: Die angefragte USt-IdNr. ist gültig.
        } elseif ($error_code == '219') {
          return 9; // Bei der Durchführung der qualifizierten Bestätigungsanfrage ist ein Fehler aufgetreten. Es wurde eine einfache Bestätigungsanfrage mit folgendem Ergebnis durchgeführt: Die angefragte USt-IdNr. ist gültig.
        } elseif ($error_code == '220') {
          return 9; // Bei der Anforderung der amtlichen Bestätigungsmitteilung ist ein Fehler aufgetreten. Sie werden kein Schreiben erhalten.
        } elseif ($error_code == '999') {
          return 9; // Eine Bearbeitung Ihrer Anfrage ist zurzeit nicht möglich. Bitte versuchen Sie es später noch einmal.
        } else {
          return 9; // Sonstiges...
        }
      } // end function Live
     
    Zusätzlich müsste man dann wie bereits erwähnt diese Klasse:
    http://scripts.incutio.com/xmlrpc/
    runter laden und in class.ixr_library.php umbenennen und in den Ordner includes/classes/ kopieren.

    Vielleicht gibt es da auch andere Lösungen um XML-RPC aus zu lesen.

    Viele Grüße

    Franky

    ostermann

    • Fördermitglied
    • Beiträge: 124
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #10 am: 13. August 2011, 11:25:41
    Hallo Franky, hallo modified eCommerce Shopsoftware-Team!

    [...]
    kann es sein, dass die nur noch XML-RPC akzeptieren als Anfrage?

    Ich hatte mal was dafür geschrieben weiß jedoch nicht ob man das so einfach einbauen kann da die XML-RPC Klasse unter einer Lizenz steht... :)
    [...]

    So ist es. Die alte Methode (WDDX), die in xtc verwendet wird, wird offiziell vom BZST seit 2007(!!!) nicht mehr unterstützt. Warum das bis vor kurzem noch lief, konnte mir keiner sagen.

    Fakt ist aber, dass es jetzt nur noch per XML-RPC geht. D.h. dass müsste in xtc modified umgestellt werden. Kann man Deine Methode so einbauen, wenn die Lizenzfrage zur XML-RPC Klasse geklärt ist?

    Mit freundlichen Grüßen
    Thorsten Ostermann

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #11 am: 13. August 2011, 11:30:06
    Hallo ostermann,

    ja das kann man und ist bereits von mir getestet.

    Es geht nur um die Lizenz da ich nicht weiß ob die so genutzt werden darf, denke aber schon da es ja bereits vom Bundesministerium für Finanzen so vorgeschlagen wird...
    http://evatr.bff-online.de/eVatR/xmlrpc/php

    Habe das ganze nur noch angepasst für modified eCommerce Shopsoftware...

    Viele Grüße

    Franky

    orgel

    • Neu im Forum
    • Beiträge: 17
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #12 am: 14. August 2011, 00:07:39
    Hallo Zusammen,

    die Incutio XML-RPC Libary steht unter BSD Lizenz.

    Gruß
    Uwe

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #13 am: 14. August 2011, 11:10:30
    @Franky:

    wir hätten aber auch gleich die Möglichkeit, das über die Seite der EU abzufragen: USTID automatisch via SOAP prüfen lassen?

    Das Thema ist ein Dauerbrenner ;)

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Kundenneuanlage mit UStID schlägt fehl
    Antwort #14 am: 14. August 2011, 11:21:37
    Hi DokuMan,

    dann haben wir zumindest 2 Alternativen! :)

    Die Inicio Klasse ist so weit ich das weiß nicht an die Funktionen des PHP Pakets gebunden, von daher braucht man da nichts reinkompilieren oder per php.ini einschalten...

    Leider kenne ich mich mit der BSD Lizenz (die ja auf der Originalseite zu finden ist) auch nicht so aus und aus dem englischen Text werde ich nicht ganz schlau. Daher ja auch die Zweifel bezüglich der Lizenz...

    Ansonsten wie bereits gesagt: Getestet und läuft bereits seit ca. 2.5 Jahren in einem Shop den ich betreue.

    Viele Grüße

    Franky
    13 Antworten
    3416 Aufrufe
    15. Januar 2018, 17:29:06 von fishnet
    3 Antworten
    2865 Aufrufe
    18. Januar 2016, 12:03:17 von jumpM
    4 Antworten
    1712 Aufrufe
    09. Juni 2019, 20:27:05 von bolero
    10 Antworten
    1974 Aufrufe
    28. Oktober 2020, 00:47:57 von Sebastian M.