USt-ID ungültig

Das mit der präziseren Fehlermeldung ist ein guter Vorschlag. Trägst du es im Bugtracker ein?

“präzisere Fehlermeldung” wären an mehreren Stellen ratsam, vor allem statt “Bitte Wert angeben!”, aber das führt hier wohl zu weit. Konkret würde mich aber schon interessieren, wie man das Ganze am besten löst. Ich störe mich vor allem an der allow_url_fopen-Notwendigkeit. Und welche Fehlermeldung sollte es dann werden: “bestellen Sie bitte nicht zwischen 23 und 5 Uhr, weil das geht nicht”? hm, ist ja echt ominös. Mangels Bedarf werden wir das Feld erstmal lieber entfernen, damit DE-Kunden auch nicht auf nicht Idee kommen, dort etwas einzutragen, was eh nichts nützt (in DE-Shops)…

schwach ist, dass bei deaktivierung der online-überprüfung GAR NIX mehr passiert… könnte doch einfach dann auf die alte funktionalität zurückfallen.

irgendwer hat auf jeden fall bei der gesamten thematik hier nicht ganz mitgedacht…

[QUOTE=Michael Fritsch;156185]Ich hab den Fehler komischerweise bei gültiger UstId, egal ob die Prüfung ein- oder ausgeschaltet ist. Es erscheint immer der Fehler, sobald man eine UstId eingibt. (5.2.2 und 5.2.3)[/QUOTE]

Dem kann ich mich nur anschließen. Ich kriege auch die Fehlermeldung auch wenn Ust-Id Prüfung ausgeschaltet ist (zur Sicherheit habe habe ich sogar noch den Cache gecleared).

Shop Version ist CE 4.9.3. Hat jemand da eine Lösung?

Ich fasse mal kurz zusammen.
Die Fehlermeldung “Ust-Id. ist ungültig” kommt, wenn:

  1. Die Ust-Id. tatsächlich ungültig ist, was okay wäre.
  2. Wenn OXID die Ust-Id. nicht akzeptiert, weil sie nicht den richtigen Format hat, z.b. ein Leerzeichen zwischen DE und den Zahlen hat
  3. Wenn die Online Prüfung gar nicht stattfindet (url fopen nicht aktiv)

Gewünscht ist, dass die Fehlermeldung eindeutiger darauf hinweisen würde, was genau nicht geklappt hat.

Ist das richtig so? Wenn das jemand von den Betroffenen bestätigen kann, dann mache ich ein Bug-Eintag daraus, damit das Problem die offiziellen Wege geht.

Also Punkt 1 und 2 kann ich bestätigen. Punkt 3 kann ich nichts zu sagen da “allow_url_fopen” erlaubt ist. Getestet mit folgendem Snippet:

<?php
if( ini_get('allow_url_fopen') ) {
   echo "ON";
}

In meinem Shop geht es leider trotzdem nicht obwohl die UST-Id gültig ist (habe ich per Online Prürfung getestet). Auch wenn die Onlineprüfung der UST-Id deaktiviert ist, kommt die Fehlermeldung. Im Shop habe ich für den Test sämtliche Module deaktiviert, das Standart Theme aktiviert und den Cache geleert. Irgendwo ist bestimmt noch eine Einstellung die nicht richtig ist…

Zumindest würde eine genauere Fehlermeldung das Problem dann schon mal eingrenzen, bzw man könnte Fehlerquellen ausschließen. :slight_smile:

[QUOTE=R.Nitzer;161126]
In meinem Shop geht es leider trotzdem nicht obwohl die UST-Id gültig ist (habe ich per Online Prürfung getestet). Auch wenn die Onlineprüfung der UST-Id deaktiviert ist, kommt die Fehlermeldung.[/QUOTE]
Verstehe ich das richtig: Die ID wurde mit einem externen Tool getestet?
Und der Shop meckert trotzdem, obwohl du die Option im Adminbereich deaktiviert hast? Wie lautet die Fehlermeldung genau?
Kann es sein, dass dann 2) wieder zutrifft? Ist das die Prüfung mit JavaScript oder per PHP?

Also die Fehlermeldung lautet “USt-ID ist ungültig”.

Geprüft wurde mit http://ec.europa.eu/taxation_customs/vies/vieshome.do?selectedLanguage=DE

Ich habe die Umsatzsteuer zusammengeschrieben mit Ländercode und der Shop meckert. Auch nach ausstellen der Online Prüfung meckert er rum.

Leider finde ich im Shop die Stelle nicht wo er abprüft um das ganze zu verfolgen, bzw wo er den Fehler wirft.
Die Sprachariable
’VAT_MESSAGE_ID_NOT_VALID’ => ‘USt-ID ist ungültig’,
finde ich nur in der lang.php (sollte doch eigentlich irgendwo benutzt werden)?!
Wenn jemand weiß wo der Fehler geworfen wird könnte ich mal genauer nachschauen.

\oxCompanyVatInCountryChecker::validate
\oxOnlineVatIdCheck::_parseError
\oxOnlineVatIdCheck::validate

Danke mit der Hilfe wo ich suchen muss habe ich das Problem gefunden.

Die Spalte “OXVATINPREFIX” aus “OXCOUNTRY” war komplett leer.
Dadurch schlug folgendendes aus oxCompanyVatInCountryChecker::validate fehl:

$blResult = ($oCountry->getVATIdentificationNumberPrefix() === $oVatIn->getCountryCode());

Habe die Tabellenspalte mit Daten aus einer aktuellen Version befüllt und siehe da, es kommt kein Fehler mehr.

Hallo liebe Oxid Community,

in meinem Oxid Shop taucht das gleiche Problem wie in diesem Post auf. Sobald eine USt-ID bei der Anmeldung oder bei der Änderung der Rechnungsadresse eingegeben wird, kommt die Fehlermeldung “USt-ID ist ungültig”.

[ul]
[li]Oxid Version 4.9.5
[/li][li]die Überprüfung wurde im Backend abgeschaltet
[/li][li]die eingegebene USt-ID wurde über das MIAS geprüft
[/li][/ul]

Ähnlich der Lösung in Post #30 im selben Thema, fehlte bei mir sogar die ganze Spalte [I]OXVATINPREFIX[/I]. Selbige wurde manuell eingefügt, entsprechend befüllt und die Views wurden aktualisiert; der Fehler besteht immer noch.
Vermutlich wurde bei einem Update mal die DB-Update Routine (updateApp) versäumt und es fehlt noch mehr an der DB-Struktur. :confused:

Wie kann ich über die hier genannten Klassen/Funktionen feststellen, wo der Schuh drückt? :o

[QUOTE=martin.wegele;161193]\oxCompanyVatInCountryChecker::validate
\oxOnlineVatIdCheck::_parseError
\oxOnlineVatIdCheck::validate[/QUOTE]

Du könntest einen Debugger benutzen: http://blog.oxid-esales.com/2015/03/schnell-und-effizient-in-php-entwickeln-mit-oxid-eshop-und-xdebug/

[QUOTE=martin.wegele;175977]Du könntest einen Debugger benutzen: http://blog.oxid-esales.com/2015/03/schnell-und-effizient-in-php-entwickeln-mit-oxid-eshop-und-xdebug/[/QUOTE]

Die Anleitung ist super! :smiley:
Keine Ahnung, warum ich nicht selber drauf gekommen bin danach zu suchen, danke!
;^^

Werde mich damit mal auseinandersetzen und Rückmeldung geben.

Vielleicht noch ne kleine Hilfe für den Fall, dass man die Ust-ID gerne haben möchte, sie aber nicht geprüft werden soll: In einem Shop (CE 4.9.7) hat die Prüfung die Eintragung verhindert, obwohl das Feld kein Pflichtfeld ist und die Prüfung ausgeschaltet ist (Stammdaten -> Grundeinstellungen -> Einst. -> Mehrwertsteuer: Haken bei “Online UST-ID Prüfung deaktivieren”).

In der Datenbank gibt es für jedes Land die Option OXVATSTATUS. Wenn man dort eine 0 einträgt, wird die ID nicht geprüft, man kann sie aber trotzdem eintragen.

@mediaworker Das ist keine Lösung. Wenn Du es auch z.B. mit Österreich so machst, dann bestellen alle Österreicher wie die Schweizer, also ohne MwSt.

OXID hat mit 4.9 oder so eine neue Spalte in der Datenbank eingeführt. Wenn man ein Patch zum Updaten installiert, da fehlt die Spalte samt den Werten. Auch bei deaktivierte Prüfung checkt OXID, ob zumindest die ersten zwei Buchstaben in UST-ID dem Ländercode passen und entsprechende Länderpräfixe fehlen in der Datenbank, deswegen kommt die Fehlermeldung.

Also wenn die UST-ID Prüfung im BackEnd deaktiviert ist und trotzdem bei eingegebener UST-ID die Fehlermeldung “USt-ID ist ungültig” kommt. Dann sollte mein Fix helfen. Einfach herunterladen und in “Service->Tools” die SQL-Datei ausführen. BackUp wäre nicht schlecht :wink:

Bei meiner Version 4.9.6 geht dein Fix leider nicht :frowning:
Habe nämlich leider auch das Problem dass trotz gültiger UID dieser Fehler kommt.

Hat hier schon jemand eine Lösung und ggf einen Screenshot was in die Tabelle rein muss um das händisch zu ergänzen?!

Danke!!!

[QUOTE=R.Nitzer;161539]Die Spalte “OXVATINPREFIX” aus “OXCOUNTRY” war komplett leer.
[/QUOTE]

In dem Fall folgender SQL-Query ausführen und danach die views Aktualisieren.

update oxcountry set oxvatinprefix = oxisoalpha2;

Grüße
Rafig

Hallo,
schlage mich gerade mit dem “USt-ID-Fehler” rum. Was muss denn in der Spalte OXVATINPREFIX stehen?
Ich habe nur die Sicherung meiner alten Version 4.8. Da gibt es die Spalte nicht.

Beste Grüße
Uwe Paffrath

Steht doch eins drüber: “oxisoalpha2”

sorry, übersehen:persevere: