Beispiel für ein Rabattskript

In diesem Beispiel wird mit einem Line-Item-Skript basierend auf dem Herkunftsland des Kunden ein Rabatt angeboten. Es beinhaltet auch ein Beispiel für einen Liquid-Code zur Bereitstellung von Informationen über den Rabatt für den Kunden. Dieses Beispiel erfordert, dass du Zugriff auf die Datei checkout.liquid deines Shops hast. Wenn du in deinem Theme-Code keinen Zugriff auf diese Datei hast, verwende Checkout Extensibility und Shopify Functions, um deinen Checkout anzupassen.

In diesem Beispiel wird eine fiktive Mehrwertsteuer verwendet, die folgende Regeln aufweist:

  • Für Kunden, die in einem Länderverband ansässig sind, wird auf alle verkaufen Produkte Umsatzsteuer erhoben.
  • Kunden, die Produkte kaufen und sie in ein Land außerhalb der EU exportieren lassen, müssen die Mehrwertsteuer nicht entrichten (mit anderen Worten, die Verkäufe an diese Kunden sind steuerfrei).
  • Produktpreise im Shop enthalten Mehrwertsteuer (das heißt, dass die Einstellung In meinen Preisen sind sämtliche Steuern enthalten in den Steuereinstellungen des Shops aktiviert ist).

Im der Storefront sehen alle Kunden die Mehrwertsteuer, die in den Preisen der Produkte enthalten ist. Wenn Artikel zum Warenkorb hinzugefügt werden, wird der Preis inklusive Mehrwertsteuer angezeigt:

Beim Checkout wird das Lieferland vom Skript überprüft. Wenn das Land außerhalb der EU liegt, wird der Gesamtpreis um den Betrag der Mehrwertsteuer verringert:

Warenkorb ohne Steuern

Im folgenden Beispiel wird das Land des Kunden überprüft. Wenn der Kunde in einem Land wohnt, in dem die Mehrwertsteuer nicht erhoben wird, reduziert sich der Gesamtpreis der Bestellung um den Betrag der Mehrwertsteuer.

# Set VAT equal to the amount of the VAT rate.
# For example, if the VAT rate is 20%, then VAT=20
VAT = 20

# Message that appears beside the discount in the checkout
VAT_REMOVAL_MESSAGE = "VAT removed"

# List of countries where the VAT is charged to orders
COUNTRY_CODES_EU = %w[
AT BE BG CY CZ DK EE FI FR DE GR HU IE IT
LV LT LU MT NL PL PT RO SK SI ES SE GB
]

if Input.cart.shipping_address
  unless COUNTRY_CODES_EU.include?(Input.cart.shipping_address.country_code)
    Input.cart.line_items.each do |line_item|
      product = line_item.variant.product
      next if product.gift_card?
      vat_only_fraction = VAT / (100.0 + VAT)
      vat = line_item.line_price * vat_only_fraction
      ex_vat_price = line_item.line_price - vat
      line_item.change_line_price(ex_vat_price, message: VAT_REMOVAL_MESSAGE)
    end
  end
end

Output.cart = Input.cart

Der folgende Liquid-Code funktioniert mit dem obigen Skript, um die Änderungen im Warenkorb zu erklären.

Füge diesen Code zu checkout.liquid hinzu:

<style>
  .checkout__vat-exemption-message {
    padding: 1.25em 0;
    display: none;
  }
  @media (min-width: 1000px) {
    .checkout__vat-exemption-message {
      padding-top: 0;
      padding-bottom: 2.5em;
    }
  }
</style>

<div class="checkout__vat-exemption-message">
  <span>{{ 'plus.checkout.vat_exemption_message' | t }}</span>
</div>

<script>
  $(document).on('ready page:load page:change', function() {
    var country = '';

    if(Shopify.Checkout.step === 'contact_information') {
      $country = $('[data-step] select[name="checkout[shipping_address][country]"]');
      country = $country.find(':selected').data('code');
    } else {
      country = "{{ checkout.shipping_address.country_code }}";
    }

    var eu_countries = ['AT','BE','BG','CY','CZ','DK','EE','FI','FR','DE','GR','HU','IE','IT','LV','LT','LU','MT','NL','PL','PT','RO','SK','SI','ES','SE','GB'];

    if (eu_countries.includes(country)) {
      $('.checkout__vat-exemption-message').css('display', 'none');
    } else {
      $('.checkout__vat-exemption-message').css('display', 'block');
    }
  });

</script>

Füge deiner englischen Gebietsschemadatei den folgenden Code hinzu:

"plus":{
    "checkout": {
      "vat_exemption_message": "As we're shipping outside the EU the VAT has been removed from items in your cart."
    }
  }

Auf dieser Seite

Mehr erfahren

Erfahre mehr zu diesen Themen:

Bereit, mit Shopify zu verkaufen?

Kostenlos testen