FROM CACHE - de_header
Diese Community hat auf Peer-to-Peer-Support umgestellt. Der Shopify Support wird diese Community nicht mehr betreuen. Wir empfehlen dir, dich mit anderen Händler:innen und Partner:innen in Verbindung zu setzen, um Unterstützung zu erhalten und Erfahrungen auszutauschen. Bitte melde weiterhin alles, was gegen unseren Verhaltenskodex verstößt, oder Inhalte, die deiner Meinung nach entfernt werden sollten.

Anzeige inkl. MwSt. / exkl. MwSt. Wie geht das dynamisch? Welche Variable bei Ländercode Abfrage?

Anzeige inkl. MwSt. / exkl. MwSt. Wie geht das dynamisch? Welche Variable bei Ländercode Abfrage?

feuerstein
Shopify Partner
23 0 1

Hi,

 

wir haben bei uns im Shop ein Thema mit dem MwSt. Hinweis auf der Produktseite. Wir haben fünf Sprachen, liefern innerhalb von Europa und in eine Hand voll Drittländer (NO, GB, UK, CH, US, CA und AU) . Wir nutzen das Impact Theme. Der Shop ist noch nicht Live.

 

Im Impact Theme haben wir im Produkt-Template beim Price die Haken „Show taxes notice“ gesetzt.

 

Entsprechend wird der Text unter dem Preis wie im Screenshot zu sehen angezeigt. Allerdings berücksichtigt der Text nicht, ob im angezeigten Preis tatsächlich MwSt. enthalten ist oder nicht.

 

Schweiz-ohne-MwSt.png

 

Der Screenshot wurde via NordVPN mit Standort Schweiz aufgenommen. Entsprechend wird richtigerweise der Preis ohne MwSt angezeigt (mit 19 % wäre er 479 Euro). Ohne wie im Screenshot 402,52 Euro. Das passt also. Allerdings passt der Text dann nicht, weil da ja inkl. MwSt. steht und nicht exkl. MwSt.

 

Entsprechend können wir die Standard-Funktion vom Theme „Show taxes notice“ leider nicht verwenden, weil diese nicht komplett zuende programmiert scheint …

 

Nun haben wir probieret das gleiche in allen 5 Sprachen mit Custom Liquid umzusetzen. Daher der kleine doppelte Texthinweis im Screenshot. Dabei haben wir versucht über die Variable request.region als auch request.country die Länder NO, GB, UK, CH, US, CA und AU  einzugrenzen und wenn jemand aus diesen Ländern die Seite aufruft sollte dort exkl. MwSt. angezeigt. Soweit die Idee. Leider klappt das nicht.

Hier der Code dazu:

 

<style>
  .custom-text {
    font-size: 70%; 
  }

  .custom-link {
    color: black;
    text-decoration: none;
    position: relative;
  }

  .custom-link::after {
    content: '';
    position: absolute;
    height: 0.5px;
    background: black;
    width: 100%;
    bottom: -2px;
    left: 0;
    transition: transform 0.3s ease-in-out;
    transform: scaleX(1);
    transform-origin: left;
  }

  .custom-link:hover::after {
    transform: scaleX(0);
    transform-origin: left;
  }
</style>

<div class="custom-text">
  {% assign third_countries = "GB,NO,CH,US,CA,AU" %}
  {% if third_countries contains request.region %}
    {% if request.locale.iso_code == 'de' %}
      * exkl. MwSt. zzgl. <a class="custom-link" href="/pages/zahlung-versand">Versandkosten</a>
    {% elsif request.locale.iso_code == 'en' %}
      * excl. VAT plus <a class="custom-link" href="/en/pages/payment-and-dispatch">shipping costs</a>
    {% elsif request.locale.iso_code == 'es' %}
      * excl. IVA más <a class="custom-link" href="/es/pages/pago-envio-socio">costos de envío</a>
    {% elsif request.locale.iso_code == 'fr' %}
      * excl. TVA plus <a class="custom-link" href="/fr/pages/paiement-et-envoi">frais de livraison</a>
    {% elsif request.locale.iso_code == 'nl' %}
      * excl. BTW plus <a class="custom-link" href="/nl/pages/betaling-levering">verzendkosten</a>
    {% endif %}
  {% else %}
    {% if request.locale.iso_code == 'de' %}
      * inkl. MwSt. zzgl. <a class="custom-link" href="/pages/zahlung-versand">Versandkosten</a>
    {% elsif request.locale.iso_code == 'en' %}
      * incl. VAT plus <a class="custom-link" href="/en/pages/payment-and-dispatch">shipping costs</a>
    {% elsif request.locale.iso_code == 'es' %}
      * incl. IVA más <a class="custom-link" href="/es/pages/pago-envio-socio">costos de envío</a>
    {% elsif request.locale.iso_code == 'fr' %}
      * incl. TVA plus <a class="custom-link" href="/fr/pages/paiement-et-envoi">frais de livraison</a>
    {% elsif request.locale.iso_code == 'nl' %}
      * incl. BTW plus <a class="custom-link" href="/nl/pages/betaling-levering">verzendkosten</a>
    {% endif %}
  {% endif %}
</div>

 

Gibt es dazu eine andere Variable um die exkl. MwSt. Länder einzuschränken um die Anzeige dynamisch über die Standard-Templates für alle Markets zu lösen?

Order gibt es einen anderen Weg, um das richtig anzuzeigen?

 

Wir wollen ungern den Weg über Markets gehen, in dem wir im Drittland-Market die Produktemplates in "exkl. MwSt."  ändern. Dann sind die Templates für weitere Änderungen gesperrt und wir müssen zukünftige Änderungen immer überall zu Fuß machen.

 

Ferner wäre noch die Frage, ob man man den Hinweis „inkl. MwSt. zzgl. Versandkosten“ bzw. "exkl. MwSt. zzgl. Versandkosten" via Custom Liquid direkt in der Zeile im Anschluss an Preis / Währung anzeigt und nicht darunter.

 

Gibt es dazu auch irgend eine Möglichkeit ohne den Standard-Code zu bearbeiten?

9 ANTWORTEN 9

Gabe
Shopify Staff
19233 3004 4423

Hey @feuerstein 

 

Oh das hört sich komplex an und eigentlich sollte der MwSt. Text korrekt angezeigt werden, sprich, inkl. MwSt. oder exkl. MwSt. je nach Standort des User, wenn eure Steuereinstellungen korrekt eingestellt wurden. Siehe ein paar weitere Threads zum Thema hier.

 

Bei so einer Anpassung im Theme Code ist es viel zu komplex um euch hier partout eine Antwort geben zu können denn es kommt auf viele Moving Parts drauf an wie eure Backend Einstellungen, eure Apps, euer Theme und Theme Code und, und, und. Da muss eigentlich eine Experte einen Deep-Dive in euer Shop machen um eine mehr angepasste Coding Lösung zu finden. Weiter unten gebe ich aber ein paar Tip sp zum Code das du hier gepostet hast, denn eine Variable könnte verbessert und getestet werden.

 

Siehe auch dazu bitte unsere Doku hier:

Wenn du es selber auf deiner PDP programmieren möchtest dann bitte immer in einer Themekopie/Testumgebung zuerst testen und zusammen mit einem Experten/Programmierer. Du kannst ein Backup deines Themes erstellen, bevor man den Code bearbeitet, oder den Code wiederherstellen, falls dies nötig sein sollte. Du könntest auch einen unserer Experten engagieren indem du denen eine E-Mail rüberschießt. Unsere Experten antworten meist sehr schnell.

Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negativ beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das folgende ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!

 

Um die Anzeige des Mehrwertsteuerhinweises auf der Produktseite dynamisch an das Herkunftsland des Besuchers anzupassen, sicherstellen, dass die Ländercode-Erkennung richtig funzt, wie z. B.:

  • request.country: Diese Variable gibt den ISO 3166-1 Alpha-2 Ländercode des Besuchers zurück, basierend auf seiner IP-Adresse und ist somit zuverlässiger als request.region. weil diese Variable auf bestimmte Subregionen verweist. 
  • Stelle sicher, dass die Liste der Länder korrekt formatiert ist und die Ländercodes in Kleinbuchstaben vorliegen, da request.country standardmäßig in Kleinbuchstaben zurückgegeben wird.
  • Hier ein angepasste Codebeispiel:

 

<style>
  .custom-text {
    font-size: 70%; 
  }

  .custom-link {
    color: black;
    text-decoration: none;
    position: relative;
  }

  .custom-link::after {
    content: '';
    position: absolute;
    height: 0.5px;
    background: black;
    width: 100%;
    bottom: -2px;
    left: 0;
    transition: transform 0.3s ease-in-out;
    transform: scaleX(1);
    transform-origin: left;
  }

  .custom-link:hover::after {
    transform: scaleX(0);
    transform-origin: left;
  }
</style>

<div class="custom-text">
  {% assign third_countries = "gb,no,ch,us,ca,au" | split: "," %}
  {% if third_countries contains request.country %}
    {% if request.locale.iso_code == 'de' %}
      * exkl. MwSt. zzgl. <a class="custom-link" href="/pages/zahlung-versand">Versandkosten</a>
    {% elsif request.locale.iso_code == 'en' %}
      * excl. VAT plus <a class="custom-link" href="/en/pages/payment-and-dispatch">shipping costs</a>
    {% elsif request.locale.iso_code == 'es' %}
      * excl. IVA más <a class="custom-link" href="/es/pages/pago-envio-socio">costos de envío</a>
    {% elsif request.locale.iso_code == 'fr' %}
      * excl. TVA plus <a class="custom-link" href="/fr/pages/paiement-et-envoi">frais de livraison</a>
    {% elsif request.locale.iso_code == 'nl' %}
      * excl. BTW plus <a class="custom-link" href="/nl/pages/betaling-levering">verzendkosten</a>
    {% endif %}
  {% else %}
    {% if request.locale.iso_code == 'de' %}
      * inkl. MwSt. zzgl. <a class="custom-link" href="/pages/zahlung-versand">Versandkosten</a>
    {% elsif request.locale.iso_code == 'en' %}
      * incl. VAT plus <a class="custom-link" href="/en/pages/payment-and-dispatch">shipping costs</a>
    {% elsif request.locale.iso_code == 'es' %}
      * incl. IVA más <a class="custom-link" href="/es/pages/pago-envio-socio">costos de envío</a>
    {% elsif request.locale.iso_code == 'fr' %}
      * incl. TVA plus <a class="custom-link" href="/fr/pages/paiement-et-envoi">frais de livraison</a>
    {% elsif request.locale.iso_code == 'nl' %}
      * incl. BTW plus <a class="custom-link" href="/nl/pages/betaling-levering">verzendkosten</a>
    {% endif %}
  {% endif %}
</div>

 

Erklärungen des Code:

  • assign third_countries = "gb,no,ch,us,ca,au" | split: ",": Hier wird die Liste der Drittländer in ein Array umgewandelt, um eine genaue Überprüfung zu ermöglichen.

  • if third_countries contains request.country: Überprüfung, ob das Herkunftsland des Besuchers in der Liste der Drittländer enthalten ist.

  • Sprachspezifische Ausgaben: Je nach request.locale.iso_code wird der entsprechende Text in der richtigen Sprache angezeigt.

Warum nicht Metafelder verwenden?

Wenn du den Hinweis direkt neben dem Preis anzeigen möchtest, dann das Produkt-Template anpassen. Du hast aber bereits erwähnt, den Standard-Code nicht bearbeiten zu möchten, also dann vielleicht Metafelder verwenden, um benutzerdefinierte Informationen an bestimmten Stellen im Theme anzuzeigen. Erstelle ein Metafeld für Produkte, das den Mehrwertsteuerhinweis enthält, und füge es im Theme dort ein, wo der Preis angezeigt wird. 

 

Hoffe das hilft dir weiter - lass wissen falls nicht! 😉

---
Warum nicht etwas Gamification in das Shop einbauen, um deinen Kunden etwas Fun im Shop anzubieten? Gerne kann ich bei Interesse Tipps dazu geben!

Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

feuerstein
Shopify Partner
23 0 1

Hi @Gabe 

 

 

danke für die Rückmeldung. Eigentlich sollte es m. E. nicht komplex sein, denn unsere Anforderung ist nichts besonders und zeigen ein normales Verhalten für vermutlich 99 % aller Deutschen Onlineshops, die ins Ausland liefern und nicht unter die Kleinunternehmerregel fallen. Es sollte out of the box funktionieren - ohne Umwege über Custom Liquid oder META Felder oder Individualisierungen via Markets. Die ganzen Beiträge die du verlinkt hast (und Fragen der User) lassen vermuten, dass es irgendwie - warum auch immer - bei Shopfiy an dieser Stelle hakt. Du schreibst auch selbst: 

 

<<...eigentlich sollte der MwSt. Text korrekt angezeigt werden, sprich, inkl. MwSt. oder exkl. MwSt. je nach Standort des User, wenn eure Steuereinstellungen korrekt eingestellt wurden. >>

 

Das wird sie aber leider nicht. Ich würde mich freuen, wenn es nativ funktionert. So sollte es eigentlich sein. Der Preis an sich ist im Frontend immer richtig, Aber der Text darunter nicht. Egal wie (ich habe mit VPN X Länder durchgetestet), es steht da bei Drittländern immer inkl. MwSt. Auch mit deinem angepassten Code oder bei der nativen Funktion vom  Theme „Show taxes notice“ klappt es nicht.

 

Es ist mir ein Rätsel, was wir falsch eingestellt haben könnten (oder ob überhaupt). Alle EU Länder sind inkl. Steuer eingestellt, wir haben unsere U-ID hinterlegt, OSS eingeschaltet usw. Alle Drittländer sind ohne Steuer eingestellt. 

 

Entsprechend werden im Frontend auch die Preise umgerechnet. D. h. je nach EU Land ist der Preis leicht unterschiedlich aufgrund der unterschiedlichen Steuersätze und bei Drittland günstiger, weil im angezeigten Preis keine Steuer drin ist.

 

Aber auf der Artikelseite und im Warenkorb steht bei Drittland (via VPN) immer inkl. Mwst.  und nicht exkl.  ALLERDINGS im 3. Schritt auf der CHECKOUT ist es dann richtig. Da steht dann bei Drittland NICHTS in Bezug auf Steuern und bei EU Ländern  "inkl Steuer". Das lässt darauf schließen, dass bei Shopify im Backend alles passt und richtig eingestellt ist. Denn soweit ich weiß ist die CHECKOUT Seite ja auch direkt im Shopify verbunden und hat nichts mit dem Theme zu tun.    ...frustrierend 

 

 

Gabe
Shopify Staff
19233 3004 4423

Hey @feuerstein 

 

Ich habe eine Form für alle Merchants die beim Shopify Tax Early Access Program mitmachen wollen, für das neue Steuer Feature ende Q3/Anfang Q4. Du kannst dich gerne hier einschreiben.

 

VG,

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

feuerstein
Shopify Partner
23 0 1

Hi @Gabe 

danke für die Rückmeldung. Was ist denn das "Shopify Tax Early Access Program" in kurzen Worten?

Falles es auch andere interessiert: Ich habe auch noch mal bei der Impact Theme Support Seite gefragt und ne KI Antwort bekommen:

I'm sorry, but based on the information provided in the knowledge sources, it's not possible to dynamically change the tax notice text based on whether the price includes VAT or not. The theme only has access to one price, which is the one that you have configured in your Shopify admin. Whether or not the tax is included depends on your Shopify admin tax settings.

The 'Show taxes notice' feature in the Impact theme simply adds a static text notice under the price on the product page. It does not have the ability to dynamically change this text based on the tax settings of the product or the location of the customer.

D. h. nativ funktioniert es nicht. Meines Erachtens ein must have für die EU und muss angepasst werden. An der Stelle merkt man dann leider, dass der Urspung der Software in Canada ist, und alles nicht so gaaaanz sauber für die EU zuende gedacht ist. Gibt Umwege dies zu erreichen. Ich weiß, aber dennoch schade  ....

Gabe
Shopify Staff
19233 3004 4423

Hey @feuerstein 

 

Ich habe das jetzt mit dem Markt Deutschland/Austria (MwSt. inkl.) getestet und mit dem Markt USA verglichen (MwSt. exkl.) und die Steuer hat sich dynamisch angepasst (je nachdem wie du deine Steuereinstellungen eingerichtet hast - siehe die Links dazu oben) wie man hier sehen kann:

 

 

Somit hat das erwartete Systemverhalten für mich gefunzt...

 

Beim neuen Shopify Tax Early Access handelt es sich um diesen Feature der derzeit nur in den USA/KA erhältlich ist.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

feuerstein
Shopify Partner
23 0 1

Hallo @Gabe 

 

vielen Dank für das Video. Exakt so wie im Video zu sehen stellt sich das bei mir auch dar. Also der Preis ändert sich und der Hinweistext (inkl. / exkl. MwSt.) ändert sich. Aber nur, wenn ich das - wie Du - über das Shopify Backend teste.  Wenn ich es aber sozusogen Live via VPN (z. B. Schweiz) teste, wird die MwSt. zwar abgezogen. Beim Texthinweis bleibt aber "Inkl. MwSt." stehen. Dort müsste dann "exkl. MwSt." stehen. 

Nun habe ich einen Bekannten der in der Schweiz lebt dies mal ohne Umweg via VPN zu testen. Gleiches Ergebnis. Der Preis ist netto. Der Hinweistext bleibt "brutto" also "inkl. MwSt."

 

Also vermute ich, dass es leider am Impact Theme - wie ja von Impact selbst angegeben - liegt und wir müssen für die entpsrechenden Markets zu Fuß an die Templates ran. Schade.   

 

Gabe
Shopify Staff
19233 3004 4423

Hey @feuerstein 

 

Vielleicht können wir einen näheren 👁️ in deine Steuereinstellungen werfen wenn du uns ein Ticket sendest.

 

Um dir dabei behilflich zu sein, sende bitte eine E-Mail an unseren Support wie hier demonstriert von der E-Mail-Adresse, die du zur Anmeldung in deinem Shopify-Shop verwendest, und gib deine myshopify.com-URL da auch ein. Sobald die dein Konto authentifiziert haben, können sie dir weiterhelfen.

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

feuerstein
Shopify Partner
23 0 1

OK. Habe ich gemacht. Werde hier berichten ...

 

feuerstein
Shopify Partner
23 0 1

So, nun habe ich wirklich nach langem hin und her eine Antwort vom Support, die für 99,9 % der Europäischen Onlineshops leider  unbefriedgend ist. Darum teile ich das hier noch mal, damit ihr nicht in eine rechtliche Falle tappt, wenn ihr alles weitgehend im Standard lasst ...

Ich behaupte, dass man in Europäischen Shopify-Shops zu 99,9 % die Steuern im Backend so oder so ähnlich einstellen muss wenn man OSS registriert ist:

 

EU Länder – MwSt. erheben je nach Land unterschiedlich

Drittland – keine MwSt erheben, wenn Versand DAP erfolgt und der Kunde die örtliche Einfuhrumsatzsteuer vor Ort noch bezahlen muss (UK, Schweiz, Norwegen):

feuerstein_0-1725364909934.png

 

Darüber hinaus ist es in der EU verpflichtend, dem Endverbaucher im Onlineshop anzuzeigen, dass die Preise MwSt. enthalten: 

feuerstein_1-1725365065468.png


Diesen Texthinweis unter dem Preis kann man im Backend vom Theme ein- und ausschalten: 

 

feuerstein_2-1725365114119.png

 


Nun kommt das Problem: 

Dieser Button steht aber nicht in Abhängigkeit zu Screenshot 1 – also die tatsächlichen Steuereinstellungen vom Shop. Sondern es ist einfach nur ein simpler Text. Inkl. oder exkl. MwSt. wird einfach abhängig davon eingezeigt, „wie es in einem Land üblich ist“ und berücksichtigt nicht, was tatsächlich für ein Preis auf der Seite steht. D.h. es ist bspw. auch in UK / Schweiz / Norwegen "eigentlich" üblich Steuern in den Preisen anzuzeigen. Wenn man z. B. VON der Schweiz IN die Schweiz liefert. Darum steht dann generell bei UK, Schweiz, Norwegen inkl. MwSt.  

Daher  können Europäische Onlineshops die Standardeinstellung von Shopify eigentlich nicht einfach übernehmen, wenn sie rechtskonform agrieren möchten. Man kann / oder MUSS !!! nur via Markets / individuelle Produktemplates zu allen Produkten erstellen, und beim Market Drittland im Template den Haken „Shop taxes notice“ deaktivieren.  Dann ist es sauber. Bedeutet aber auch, dass man sich alle Templates zerschießt und bei zukünftigen Änderung immer alle Märkte-Templates anpassen muss. 


Oder hat noch jemand eine andere Idee?