Jump to content

[gelöst] Preisanzeige mit und ohne MwSt. bei aktivem Geotargeting


Recommended Posts

Hallo Zusammen,

 

in bin durch die Nachricht eines Kunden auf folgendes Problem gestoßen.

 

Mein shop - presta 1.4.6.2. - arbeitet mit Voreinstellungen -> Geotargeting aktiviert, und ich biete meine Artikel in unterschiedlichen Währungen an, je nach Zielland eben mit und ohne MwSt.

 

Die korrekte Darstellung des Preises in Abhängigkeit des Ziellandes EU oder Nicht-EU-Land funktioniert einwand frei, sobald sich der Kunde registriert und eingeloggt hat.

 

So wurde auch die Beschreibung, wie man in dem shop einkauft, aufgebaut.

 

Jetzt informierte mich ein Nicht-EU-Kunde, daß beim ihm immer der Netto-Preis angezeigt wird, ob er eingeloggt ist oder nicht. Allerdings mit verwirrenden Angaben zu MwSt.

 

Ich habe in der product.tpl und product-list.tpl textliche Änderungen vorgenommen, so daß eben der Zusatz "inkl. MwSt." dann eingezeigt wird, wenn ein Kunde nicht eingeloggt ist bzw. wenn es sich um einen eingeloggtem EU-Kunde handelt.

Bei einem eingeloggten Nicht-EU-Kunden wird dieser Zusatz nicht angezeigt.

 

Wird nun aber bei einem NICHT-EU-KUNDEN immer der Netto-Preis angezeigt, steht ohne login neben dem Preis "incl. VAT" - obwohl sie nicht enthalten ist, und dieser Zusatz verschwindet erst dann, wenn er sich eingeloggt hat.

 

Ich habe nun den Eindruck - und das kann ich nicht simmulieren -, daß wenn ein Kunde mit einer NICHT-EU-IP-Adresse auf meine Seite kommt, dann wird ihm wohl automatisch der Netto-Preis angezeigt, was erst dann sein sollte, wenn er eingeloggt ist.

 

Hängt diese Preisanzeige mit dem aktivierten Geotrageting zusammen oder ist dies davon unberührt. Wenn es nichts mit dem Geotrageting zu tun hat, wo bzw. wie wird diese Preisanzeige dann gesteuert.

 

Vielen Dank im voraus!

Link to comment
Share on other sites

Dein Problem hat nichts mit geotargeting zu tun, sondern mit einer Fehlkonfiguration in deiner Kundengruppen. Geotargeting hat nur zwei Funktionen:

 

Entweder den Shop komplett abschalten, es wird einen spezielle 404-Fehler Seite angezeigt oder die Kauffunktion abschalten für Länder in denen du nichts lieferst, bzw. auf der Liste freigeschaltet hast. Dann werden weder Preise noch der Button "in den Warenkorb" angezeigt.

 

Prestashop sortiert IP's nur aus für die o.g. beiden Regeln. Shop anzeigen ja oder nein, Shop anzeigen mit oder ohne Kauffunktion ja oder nein. Eine Zuordnung von IP und Steuer gibt es nicht. Diese findet erst dann statt, nachdem der Kunde sich eingeloggt hat. Allerdings wenn der Kunde einem Land zugehört, wo der Warenkorb nicht freigeschaltet ist, wird er auch dort keine Preise sehen. Ein Login überschreibt Geotargeting nicht.

Ist das bei dir nicht so, dann hast du irgendwelche falsche Anpassugnen an Theme vorgenommen ohne if/else-Schleife als Hardcode. Die gepostete Lösung hier im Forum geht von einem deutschprachigen Shop aus, der auch nur innerhalb des deutsprachigen Raumes liefert und nur an Endkunden. Auch innerhalb der EU haben Kunden die Preise inkl. Steuer zu zahlen. Lieferst du allerdings an B2B, dann musst du das anders regeln eben mit dem Einbau von if/else-Schleifen im Theme.

 

Zum Problem Kundengruppen:

Grundsätzlich ist die Regel mit Kundengruppen so: Ist der Kunde nicht eingeloggt, dann bekommt er die Default-Preise angezeigt. Unabhängig ob der EU ist oder nicht. Eine korrekte Preisanzeige findet erst dann Statt, wenn Prestashop genau weiss, woher der Kunde kommt, sprich nach Log-in. Vorher gibt es keine Aussortierung, ob mit oder ohne Steuer, bzw. eigene Preisregeln für Länder usw.

 

Überprüfe deine Kundengruppen, bzw. die Rabatte (special-prices) die in den Artikeln zugewiesen sind. Dort hast du eine Fehlkonfiguration.

Link to comment
Share on other sites

OK,

 

vielen Dank für die schnelle Rückmeldung.

 

Hab backoffice Kunden -> Gruppen geprüft.

 

Dort habe ich nur eine Gruppe und die Einstellung ist default, Rabatt: 0.0%, aktuelle Rabatte: Keine Rabatte und Preisanzeige: Steuern inbegriffen

Auch keine Rabatte für neue Kundengruppen angelegt.

 

Du sprichst von falscher Anpassung im Theme.

Kannst Du mir etwas genauer sagen, wo im theme ich zu prüfen habe.

 

Danke!

Link to comment
Share on other sites

Also wenn du keine Kundengruppen angelegt hast und du den Hack eingebaut hast wie hier geschrieben, dann habe ich keine Idee mehr. Es dürfte wenn dein Shop als Brutto eingestellt ist, auch nur den Satz inkl. MwSt, zzgl. Versand anzeigen und die Preise auch nur Brutto anzeigen.

 

Überprüfe deine Artikeln. Dort kann man auch Steuersätze angeben. Vermutlich hast du vergessen einigen Produkten einen Steuersatz zuzuweisen.

Link to comment
Share on other sites

Also mit den Steuersätzen bei den Artikeln stimmt alles, denn auch bisherige Käufe wurde mit Porto und Steuer richtig abgewickelt.

 

Aber ich bin mit der Bemerkung "Steuersätze" mal auf die Steuerregeln gekommen.

 

Und presta muß irgendwo erkennen, von welchem Land aus man auf den shop zugreift.

 

Im BO ist unter Zahlung -> Steuerregel -> DE Standard rate 19% festgelegt.

Dort kann ich dann weiter festlegen, auf welche Länder diese Standard-Regel angewendet werden Soll. Bei DE eben 19% zum Nettopreis hinzurechen, bei USA eben ohne MwSt. den Nettopreis berechnen.

 

Wenn ich dort nun als Steuerregel für DE nicht die 19% sondern 0.0% wähle, dann dürfte mir OHNE LOGIN im shop doch zunächst der Preis mit der Standardeinstellung, also incl. MwSt. angezeigt werden und erst wenn ich mich mit einer DE-Adresse registriert habe, dann die Steuerregel angewendet werden und der Preis ohne Mwst. angezeigt werden.

 

Aber genau das passiert nicht!

 

Also auch OHNE LOGIN wird mir dann der Preis ohne Mwst. angezeigt.

Also muß Presta erkennen, daß ich aus DE komme (IP?).

 

So ist es für mich auch erklärbar, daß ein Kunde in den USA, für den die Steuerregel "keine MwSt." gilt, immer den Netto-Preis angezeigt bekommt, ob er sich eingeloggt hat oder nicht.

 

Irgend eine Idee dazu?

 

Vielen Dank!

Link to comment
Share on other sites

Ich lasse das mal gerade überprüfen vom Ausland her. Ich glaube aber nicht dass es nach IP geregelt wird, sondern nach den Regeln die du hinterlegt hast und auch nur nach login. Würde auch keinen Sinn machen. Kann man im Internet ja auch anonym mittels proxy surfen, die irgendwo in tuvalu oder sonstwo angemeldet sind...

Eine andere Filtermöglichekit ist die Sprache und die Währung. Hier kann der User auch schon preise vorabfiltern.

Melde mich sobald ich die Antwort weis...

Link to comment
Share on other sites

So ich habe jetzt von der CH - nicht EU und von Spanien EU die Bestätigung, dass beide ohne Steuer die Preise sehen. Es wird doch die IP abgegriffen. Es werden die Regeln gezogen, die unter Steuerregeln hinterlegt sind. Wenn du dort Änderungen vorgenommen hast, dann installiere dir eine neue 1.4.6.2 auf dem Server und gleiche die Daten mit deine ab.

 

Wenn du keine Änderungen vorgenommen hast, und die Kunden Probleme damit haben, dann greifen sie mit IP's zu die nicht ihrem Land zugeteilt sind (proxies). Solche Zugriffe kann man nur verhindern, indem man Proxies sperrt. Im Netz gibt es einige tools, bzw. Skripte hierzu. Leute die mit Proxies kommen sind sowieso unehrlich und haben meistens nur Unfug im Sinne. Bei mir kann keiner Zugreifen, der a ) keine IP/oder Agent mitsendet und b ) mit einem Proxy kommt.

 

Geotargeting verhindert nur Zugriffe auf die Seite, bzw. einen Kauf von Länder, die du dort in der Liste nicht freigegeben hast. Proxies stehen leider überall auf der Welt, somit greift dieses Tool garnicht, außer du verbietest alle Länder bis auf DE und schreibst in die whitelist die IP's der größten Suchmaschinen.

Link to comment
Share on other sites

Ok, und vielen Dank für die Mühe. Ich bin etwas verunsichert mit Deiner Formulierung CH und ES sehen Artikel ohne MwSt..

Ich weiß nicht auf welchen shop mit welchen Steuerregeln sich Deine Formulierung bezieht.

 

Ich habe für CH die Steuerregel "ohne MwSt.", für Spanien da EU die Steuerregel "mit 19% MwSt."

Also in meinem Fall:

Greift ein Nutzer mit einer Schweizer IP auf den shop zu bekommt er die Preise ohne MwSt. angezeigt, egal ob mit oder ohne login.

Greift ein Nutzer mit einer Spanischen IP auf den shop zu, bekommt er die Preise mit MwSt. angezeigt, auch unabhängig vom login.

 

Ich habe die Steuerregeln bei der Installation so geändert wie es eben korrekt ist, daß NON-EU-Kunden keine MwSt. zahlen müßen, EU-Kunden eben schon.

 

Ich bin bisher davon ausgegangen und das waren ja auch die immer Antworten dazu, daß der entscheidene Schritt für die korrekte Preisdarstellung - mit oder ohne Mwst. - erst NACH DEM LOGIN greift. Dies ist aber wohl nun doch nicht so, entscheidend ist die IP. Finde ich nicht gerade unwichtig.

 

Ist alles letztlich kein Problem, mir geht es in erster Linie um die Anleitung im shop, wie der Kunde den richtigen Preis angezeigt bekommt. Und da hatte ich bisher formuliert, daß dies erst nach einem login der Fall ist, was NON-EU-Kunden eben verunsichert hat, weil der Preis für NON-EU-Kunden gemäß Steuerregel vor und nach dem login der gleiche war, aber eine Änderung erwartet wurde.

 

Werde hier also die Anleitung gem. IP und Proxy ändern.

 

Habe mir in diesem Zusammenhang noch keine Gedanken bzgl. Proxy sperren etc. gemacht.....

 

Vielen Dank also nochmals für die Klärung, daß die IP und nicht allein der login die Preisdarstellung steuert

Link to comment
Share on other sites

Ich habe leider nur ein upgegradetes Fork auf 1.4.6.2 im Einsatz. Da in dem Fork 1.3. leider keinerlei Zonen angelegt waren ist die DB inkonsistent. PS hat mir die DB für die Nutzung nur in meinem Land repariert. Dieser Shop verkauft nicht in die EU und auch nicht nach außerhalb, deshalb kann ich es hier verschmerzen. Habe leider keinen 1.4.6.2 mehr Original am Testserver aber einen 1.4.7.3. Da sind die Steuerregeln original so wie hier:

 

EU - alle MIT Steuer, BIS AUF: UK, Norwegen, Liechtenstein, Ukraine, Bosnien - KEINE STEUER, weil nicht beim Euro.

Außerhalb EU und alle anderen Länder der Welt - OHNE STEUERN

 

Der Shop wo getestet wurde, habe ich 1.4.6.2 eben fehlerhaft und dort ist ES auch ohne Steuer, deshalb. Es war nur ein Test um zu sehen, ob die IP's gefiltert werden, lass dich also nicht davon beirren. Stelle es so ein wie weiter o.a.

 

Ist es so eingestellt und es ist trotzdem falsch, dann kommen die Leute mit Proxies, da lege ich meine Hand ins Feuer...

Link to comment
Share on other sites

Danke nochmals für die Mühe!!!

 

Das mit den Zonen paßt schon und die "Reklamationen" bzgl. Preisdarstellung meiner Kunden aus AU oder US sind ja keine wirklichen Reklamationen, die kommen alle mit IP und daher wird ja auch die Steuerregel richtig angewendet.

Nur bin ich bisher davon ausgegangen, daß ein Nutzer aus AU oder US, auch mit AU oder US IP immer erst den Preis mit Steuer sieht, da dies die Basiseinstellung des shops ist, und erst NACH dem register/login den Preis richtig für sein Land ohne MwSt. sieht.

 

Daher bin ich froh dies nun korrekt formulieren zu können, um Mißverständnissen vorzubeugen.

 

Aber ganz nebenbei, auch nach UK muß mit MwSt. geliefert werden...Ausnahme sind die Kanalinseln.

Link to comment
Share on other sites

Nein, nein, wie gesagt es greift die Steuerregel. Dieses Feature gibt es übrigens aber erst seit 1.4. und wurde von Version zu Version ausgereifter. 1.4.4.0 müsste eigentlich schon fehlerfrei funktionieren.

Ist noch nicht so lange her...

 

hm... PS hat aber als Standard OHNE. Du kannst die Einstellungen ja beliebig ändern.

Link to comment
Share on other sites

  • 5 months later...

Hallo toybox,

Ich habe in der product.tpl und product-list.tpl textliche Änderungen vorgenommen, so daß eben der Zusatz "inkl. MwSt." dann eingezeigt wird, wenn ein Kunde nicht eingeloggt ist bzw. wenn es sich um einen eingeloggtem EU-Kunde handelt.

Bei einem eingeloggten Nicht-EU-Kunden wird dieser Zusatz nicht angezeigt.

 

wie hast du das geschaft? Probiere die ganze Zeit schon rum aber bekomm es nicht hin.

 

{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price" style="display: inline; font-size:13px; color:#E0721F; font-weight:bold;">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
	   <br /><div style="color:#000000; font-size:10px;">{l s='tax incl.'}<br />
{l s='plus'}
<a class="iframe" href="{$link->getPageLink('cms.php?id_cms=1', true)}">{l s='shipping'}</a></div></span>

 

so wird ja leider dauerhaft das tax incl angezeigt wie lautet die Abfrage damit er es ein und ausblended?

 

So klappt das leider nicht:

{if !$priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}**{/if}

 

Danke für eure Hilfe

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...