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.

Rundungsfehler Preisberechnung bei Rabatten / Shopify rundet nicht kaufmännisch richtig

Rundungsfehler Preisberechnung bei Rabatten / Shopify rundet nicht kaufmännisch richtig

floraHUNDfauna
Tourist
10 0 3

Hallo Community,

 

ich habe zu diesem Thema zwar mehrere Chats gefunden manche aber bereits mehrere Jahre alt.

Keiner dieser enthielt aber eine Lösung bei diesem Thema.

 

Es geht um kaufmännisches korrektes Runden von Preisen wie dies in rechtlich erforderlich ist.

Diese Anforderung scheint in Shopify, bei der Rabattierung von Preisen mit Produkt oder Kollektionsrabatten nicht zu funktionieren. Es funktioniert nur richtig bei einem Bestellrabatt, also müsste es auch eine Möglichkeit geben, dies richtig bei anderen Rabatten darzustellen.

Gibt es eine Möglichkeit dies sicherzustellen? 

 

Wie im Beispiel Original Preis 26,99 bei 20% Rabatt wären es 21,59€ Shopify gibt dies aber mit 21,60€ also ein Cent Abweichnung.  Dies passiert bei jeder Position, gibt es nun eine Bestellung mit mehreren Positionen wird die Abweichnung signifikat. 

 

Ich bin für jeden Tipp offen, vorallem da mich auch mein Steuerberater hingewiesen hat das dies so nicht korrekt ist und auch so nicht ausgeführt werden darf. 

 

Grüße Markus

1 ANTWORT 1

Ben310
Astronaut
1538 184 276

Steuerberater wechseln 😁

 

Welche Threads haben dir nicht weiterhelfen können genau? Shopify verwendet eigene Rundungslogiken die den meisten globalen Merchants auf Shopify am besten passen, die aber möglicherweise nicht ganz § 9 PAngV in Deutschland entsprechen leider.

 

Du kannst 'ne Rundungslogik im Liquid deines Themes definieren, wie z. B.:

 

{% assign rabatt = 20 %}
{% assign original_price = 26.99 %}
{% assign discounted_price = original_price | times: 1 | minus: (original_price | times: rabatt | divided_by: 100) %}
{% assign final_price = discounted_price | round: 2 %}
{{ final_price }}

 

Oder von hier entnommen den folgenden Code deinen Requirements entsprechend anpassen:

 

function formatWithDelimiters(number, precision = 3, thousands = ',', decimal = '.') {
    if (isNaN(number) || number == null) { return 0; }
    number = (number / 100.0).toFixed(precision);
    const parts = number.split('.');
    const dollars = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1' + thousands);
    const cents = parts[1] ? decimal + parts[1] : '';
    return dollars + cents;
}

 

Oder die Rabatte nur auf die Total sum des Warenkorbs anwenden (wie bei den Order Discounts) und damit wird der Rabatt auf den Gesamtbetrag angewandt und erst danach gerundet, wodurch Einzelpositionen nicht betroffen sind.

 

Ein paar interessante Threads zum Thema hier, und hier. Siehe da den Beitrag von @Gabe (2024). FAZIT: WaWi verwenden mit separaten Rechnungen außerhalb von Shopify. Oder die Rabattberechnung auf die Gesamtsumme des Warenkorbs anwenden.