Mehrwertsteuerberechnung nach Update auf 6.1.5 mit Fehler

Hallo Forumsmitglieder,

lange hat es gedauert, aber wir haben es endlich hinbekommen unseren Shop von der Version 4.10.8
auf die Version 6.1.5 zu updaten. (Ich weiß, mittlerweile auch schon wieder alt, aber der Weg ist jetzt
gemacht, weitere Updates erfolgen zeitnah)

Es hat soweit alle prima geklappt und alles funktioniert soweite, ein Problem hat sich nun allerdings gezeigt:
Normalerweise wird (bei entsprechend gesetztem Haken im Admin) die Mehrwertsteuer nach dem
Land berechnet, in das die Lieferung geht. So ist es auch bei uns eingestellt.
Dies funktioniert auch wenn entsprechende Länder eine Umsatzsteuer haben.

Z.B. ein Kunde bestellt mit Rechnungsadresse Dänemark und lässt nach Deutschland liefern,
Mehrwertsteuer korrekt berechnet mit 19%. Kunde lässt nach Dänemark liefern, Shop berechnet 25%
Mehrwertsteuer. Soweit alles korrekt.

Bestellt nun ein Kunde aus der Schweiz (in Länderliste mit mehrwertsteuerfrei ausgewählt) und bestellt mit Lieferadresse nach Deutschland, werden nicht 19% Prozent berechnet, der Steuersatz bleibt bei 0%.

Wir benutzen das von Oxid bereitgestellte “Country VAT administration”, dies aber schon seit dem Shop 4.10.8, falls das eine Rolle spielt.

In der Datenbank sind die entsprechenden Tabellen vorhanden, der Wert für den Schalter in der Konfiguration der Steuerberechnung in oxconfig ändert sich auch, wenn der Haken gesetzt oder nicht gesetzt ist.

Versuchsweise habe ich dann einmal einen neuen Shop 6.1.5 aufgesetzt, dort alle Module installiert, die wir jetzt auch einsetzen und dort funktioniert das ganze ohne Probleme, die Steuer wird dort richtig berechnet.

Wenn das Problem nun wieder aufgetreten wäre, würde ich ja ein Modul damit in Verbindung bringen,
aber der Versuch hat mir leider auch nicht weitergeholfen.

Hat jemand von euch zufällig noch eine Idee?

Notfalls müsste ich sonst noch einmal einen Shop aufsetzen und dann nur die Bewegungsdaten des Shops kopieren, aber vielleicht habe ich ja auch nur etwas übersehen.

Viele Grüße,
Michael

Hallo,

ist der Haken gesetzt unter Stammdaten / Einstellungen?

die Lieferadresse anstatt der Rechnungsadresse für die Mehrwertsteuerberechnung verwenden

Hallo @draufgeschaut ,

das war das erste, was ich geschaut hatte.
Der Haken ist gesetzt und wird auch in der Datenbank gespeichert.

Viele Grüße,
Michael

würde ich mal ausschalten und nochmal testen

Schau mal, ob Du in einer im Zsh. stehenden Tabelle als SHOPID noch “oxbaseshop” findest. Das war bei Update-Hilfen öfter mal ein Fehler.

Hallo @draufgeschaut ,

das Modul hatte ich testweise auch schon komplett per Composer entfernt und die Datenbanktabellen
entfernt, leider ohne Änderung. Danach wieder installiert, verändert auch mit Neuinstallation nichts.

@rubbercut
Danke für den Tipp, ich habe gerade noch einmal die ganze Datenbank nach oxbaseshop absuchen lassen, leider ohne Suchergebnis. Überall bei oxshopid ist eine 1 eingetragen, wie es sein soll.

Ich fürchte ich komme nicht drum herum den Shop noch einmal neu aufzusetzen und dann nur die Bewegungsdaten ohne Konfiguration rüberzuholen.

Trotzdem schon einmal danke an euch für die Hinsweise!

Ich würde prüfen ob bei Schweiz und Deutschland eine 0 eingetragen bei den Ländern beim Eingabefeld für Länderspezifische Mehrwertsteuer, weil erwarten würde der OXID anscheinend keine Eingabe. Könnte am technischen Unterschied zwischen NULL und 0 liegen.

Hallo @indianer3c ,

danke für den Tipp, das funktioniert leider auch nicht.
Zum Mäusemelken, nichts, woran man dieses merkwürdige Verhalten festmachen könnte,
zumal man mit den gleichen Modulen in einem frisch aufgesetztem Shop das ganze nicht reproduzieren kann, also generell kein OXID oder Modulproblem ausmachen kann.

Viele Grüße,
Michael

Moin @djelo :slight_smile:

dann hilft nur Debugging im konkreten Fall warum bei Schweiz das Verhalten auftritt.

GitHub - OXID-eSales/country-vat-module ?

Moin @indianer3c ,

tjoa, da hört es dann bei mir auf, so bewandert bin ich mit diesen Funktionen dann nicht.
Merkwürdig ist halt, das es in einem neu aufgesetzen Shop 6.1.5 mit sämtlichen installierten und derzeit
eingesetzten Modulen funktioniert, in dem von OXID 4.10.8 nach 6.1.5 migriertem Shop aber nicht.

Ich vermute aus dem Bauch raus, das sauber neu aufsetzen und dann nur Bewegungsdaten in die Datenbank kopieren schneller geht als herauszufinden woran es liegt.

@rubbercut
Ja, das ist genau das Modul, was wir für die Mehrwertsteuergeschichte ins EU-Ausland einsetzen.
Lief bzw. läuft soweit auch Problemlos, die einzigen Länder die Probleme machen, sind die, bei denen
als Auswahl unter “Länder” auf Mehrwertsteuerfrei gesetzt sind.
Alle anderen Länder funktionieren ohne Probleme in allen erdenklichen Kombinationen aus Liefer- und Rechnungsadresse. Da passt der berechnete Steuersatz immer.

Viele Grüße,
Michael

Dies könnte dann schon darauf hindeuten was in der Konfiguration ggfs. anders als bei einer Standard Installation, dass wenn Mehrwertsteuerfrei gesetzt dann in der Logik Verarbeitung an dieser Stelle der spezielle Mehrwertsteuer-Satz rausspringt.

Könntest probieren, wenn nicht Mehrwertsteuerfrei setzt und stattdessen den speziellen Mehrwertsteuersatz = 0 einträgst. Wäre noch Versuch wert.

OK, und wenn das alles in 4.8 eingerichtet wurde, könnte es sein, dass in der Modultabelle etwas korrigiert werden muss:

CountryMain.php

 $vat = (float) $params['oxps_countryvatadministration_country_vat'];
                $countryToVat->assign(['OXCOUNTRYID' => $oxcountryId, 'OXSHOPID' => $shopId, 'VAT' => $vat]);
                $noProblemsWithCountryVatUpdate = $countryToVat->save();

Oder hast alles neu angelegt?

1 Like

@rubbercut
Die Datenbankinhalte wurden kopiert und migriert, mir fällt dort in den Feldbezeichnungen der Tabelle
von alter 4.10.8 Datenbank zu neuer 6.1.5 Datenbank aber auch kein Unterschied auf,
außer das der Typ bei OXSHOPID von varchar(20) zu int(11) geändert ist.

Feldnamen passen zusammen und bei OXSHOPID steht überall als Wert 1, das wurde bei der Migration
von oxbaseshop umgesetzt.

OK, dann kannst aus meiner Sicht nur noch im Modul z.B. in Article.php getCountryVat(); und User.php getVatCountry(); die vorhandenen Werte ausgeben lassen (echo/print_r …), um den Fehler zu finden. Viel Erfolg.

1 Like

Hallo, nur mal so als Idee! Bei den Kategorien gibt es auch ein Feld für spez. Mehrwertsteuersatz!

1 Like

Hallo an alle,

danke für Eure Ideen und Hilfe, ich hab den Fehler gefunden.
Er liegt in einem Modul, welches wir uns haben programmieren lassen, daher taucht der Fehler im
frisch angelegten Shop auch nicht auf. Auch wenn dies für Euch nicht relevant ist,
da der Fehler ja Modulspezifisch war, möchte ich Euch die Lösung nicht vorenthalten:

Das Modul sorgt bei uns dafür, dass Mengenstaffelpreise bei Varianten nach Stückzahl zusammengefasst werden und nicht nur pro Einzelvariante wie es Standard bei OXID ist.
Dies benötigen wir für unsere Tücher, damit Mengenstaffeln auch berücksichtigt werden,
wenn z.B. 10m rot und 30m schwarz bestellt werden.
Dort ist auch eine Funktion, die abprüft, ob der Kunde mehrwertsteuerfrei oder nicht geliefert bekommen kann.

Die Prüfung bezog sich auf die Tabelle oxuser und dort wurde die oxcountryid auslgelesen.
Nachdem ich die Prüfung auf die Tabelle oxadress umgesetzt habe und die countryid von dort benutze, funktioniert alles wie es soll.

Viele Grüße,
Michael

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.