Inhaltsverzeichnis
In B2C-Shops müssen Preise für Endkund:innen in der Regel brutto angezeigt werden – inklusive Mehrwertsteuer. Im B2B-Alltag sieht das anders aus: Einkäufer:innen kalkulieren netto, vergleichen Angebote ohne Steueranteil und wollen schnell verstehen, was ein Produkt „wirklich“ kostet. Sobald ein Shop beide Zielgruppen bedienen soll, kommt fast automatisch die Frage auf: Kann ich in Shopify Brutto- und Nettopreise gleichzeitig anzeigen – sauber, verständlich und ohne Chaos im Warenkorb?
Die kurze Antwort: Shopify kann je nach Setup zwar steuerinklusive oder -exklusive Preise anzeigen, aber eine parallele Brutto/Netto-Darstellung ist nicht einfach „ein Häkchen in den Einstellungen“. Du brauchst eine klare Entscheidung, welcher Preis kaufrelevant ist (und für wen) – und dann einen verlässlichen Weg, den zweiten Preis entweder über B2B-Logik, Theme-Anpassungen oder Apps ergänzend darzustellen.
In diesem Artikel zeige ich dir:
- wer duale Preise braucht (und wann es eher schadet),
- wie du Netto aus Brutto (und umgekehrt) korrekt ableitest – inklusive typischer Stolperfallen wie Rundung und unterschiedliche Steuersätze,
- und welche Umsetzungswege in Shopify praxistauglich sind (Theme, Shopify-B2B-Funktionen, Apps) – damit Brutto und Netto dort auftauchen, wo Kund:innen sie wirklich erwarten: Produktseite, Kategorie, Warenkorb.
Wer braucht duale Preise – und warum?
Duale Preise (Brutto und Netto im selben Shop) sind kein „Nice-to-have“, sondern meist die Folge eines Mischbetriebs: Du verkaufst an Endkund:innen und an Unternehmen – oder du willst zumindest beides ermöglichen, ohne zwei getrennte Shops zu pflegen.
B2C: Brutto ist Pflicht und Erwartung
Endkund:innen denken in Endpreisen. Sie vergleichen Angebote auf Basis dessen, was sie am Ende bezahlen – und genau das ist in Deutschland/EU im Regelfall der Bruttopreis inkl. MwSt.. Wenn du B2C bedienst, sind Brutto-Preise Pflicht – Punkt. Selbst wenn ein Nettopreis zusätzlich angezeigt werden soll, muss er im B2C-Kontext immer klar als Zusatzinformation auftauchen, nicht als primärer Preis.
B2B: Netto ist Arbeitsgrundlage
Im B2B ist der Nettopreis die relevante Zahl für Einkauf, Kalkulation und Weiterverkauf. Unternehmen arbeiten intern fast immer netto, weil:
- Budgets/Preislisten netto geführt werden
- Angebote und Rechnungen netto verglichen werden
- Margen, Weiterverkaufspreise und Staffelpreise netto kalkuliert werden
Für B2B-Kund:innen sind daher Bruttopreise abschreckend und sorgt ggf. für Mehraufwand im Einkaufsprozess. Eine saubere, zusätzliche Nettoanzeige kann deshalb ein echter Conversion-Hebel sein.
Typische Shop-Szenarien, in denen duale Preise sinnvoll sind
1) Ein Shop, zwei Zielgruppen (B2C + B2B)
Der Klassiker: Der Shop ist öffentlich (B2C), gleichzeitig gibt es Firmenkund:innen mit Login, speziellen Konditionen oder einfach dem Wunsch nach Netto-Anzeige. Duale Preise sind hier oft die pragmatischste Lösung, weil du nicht zwei Systeme pflegen willst.
2) Firmenkund:innen kaufen „wie privat“ (und umgekehrt)
Gerade bei kleinen Gewerben verschwimmen die Grenzen: Mal wird fürs Unternehmen bestellt, mal privat. Wenn beide Preise sichtbar sind, muss niemand umrechnen oder raten. Wichtig ist nur, dass klar ist, welcher Preis im Checkout gilt.
3) Internationale Kundschaft / unterschiedliche Steuerlogik
Sobald du in mehrere Länder verkaufst, entstehen zusätzliche Erwartungen: In manchen Märkten sind bestimmte Darstellungen üblicher als in anderen. Duale Preise können helfen, Missverständnisse zu vermeiden – erhöhen aber auch die Komplexität (Steuersätze, Markets, Währungen).
4) Produkte mit unterschiedlichen Steuersätzen
Sobald du z. B. gemischte Steuersätze im Sortiment hast, ist die korrekte Netto-/Brutto-Kommunikation besonders wichtig. Duale Preise werden dann häufig genutzt, um Transparenz zu schaffen – aber genau hier lauern die meisten Stolperfallen.
Wann duale Preise eher schaden können
Duale Preise sind nicht automatisch besser. Sie können verwirren, wenn:
- Labels nicht eindeutig sind (Brutto/Netto nicht klar benannt)
- der „zweite Preis“ rechnerisch nicht stabil ist (Steuersatz-Logik unklar)
- die Darstellung nur auf der Produktseite stimmt, aber im Warenkorb anders wirkt
- dein Shop eigentlich nur B2C oder nur B2B ist (dann ist eine klare Preislogik oft besser als „beides überall“)
Die Regel ist simpel: Duale Preise sind dann sinnvoll, wenn sie Entscheidungen erleichtern – nicht, wenn sie zusätzliche Fragen erzeugen.
Im nächsten Kapitel gehen wir die Basis an: Wie hängen Brutto und Netto rechnerisch zusammen – und welche Stolperfallen musst du in Shopify (Rundung, Steuersätze, Rabatte) von Anfang an mitdenken?
Brutto vs. Netto: so hängt das zusammen
Wenn du in Shopify Brutto und Netto parallel anzeigen willst, brauchst du eine verlässliche Rechenbasis. Die Grundidee ist simpel: Brutto ist der Preis inklusive Mehrwertsteuer, Netto ist der Preis ohne Mehrwertsteuer. In der Praxis sorgen aber Steuersätze, Rundungen und Rabatte schnell für Stolperfallen. Hier ist das Fundament, auf dem alle Umsetzungswege aufbauen.
Grundformel: Netto aus Brutto
Wenn du den Bruttopreis kennst und den passenden Steuersatz hast, rechnest du den Nettopreis so aus:
- Netto = Brutto / (1 + Steuersatz)
Beispiel bei 19%: Steuersatz = 0,19 → Netto = Brutto / 1,19.
Alternative: Brutto aus Netto
Umgekehrt kannst du aus einem Nettopreis den Bruttopreis berechnen:
- Brutto = Netto * (1 + Steuersatz)
Beispiel bei 7%: Steuersatz = 0,07 → Brutto = Netto * 1,07.
Warum das in Shopify nicht immer so einfach ist
1) Der Steuersatz ist nicht immer eindeutig
Ein Shop kann Produkte mit unterschiedlichen Steuersätzen haben (z. B. 7% und 19%). Wenn du einen zweiten Preis „rechnerisch“ anzeigen willst, musst du sicherstellen, dass du für jedes Produkt (und idealerweise jede Variante) den richtigen Steuersatz kennst. Sonst zeigst du am Ende einen Nettopreis, der nur zufällig stimmt.
2) Rundung: wo du rundest, entscheidet über die Cent
Rundung ist der Klassiker. Rechnest du einmal Brutto → Netto und später Netto → Brutto zurück, kann ein anderer Centbetrag herauskommen, bzw. aus einem eigentlich runden Bruttopreis wird plötzlich einer, der auf ,99 endet.. Das wirkt unprofessionell und erzeugt Nachfragen oder Kaufabbrüche.
Praxisregel: Definiere eine feste Rundungsstrategie (z. B. immer auf 2 Nachkommastellen) und zieh sie überall durch: Produktseite, Kategorie, Warenkorb. Nicht hier so und dort anders.
3) Rabatte, Sale-Preise und automatische Discounts
Shopify kennt mehrere Preiszustände: regulärer Preis, Vergleichspreis, Rabatt im Warenkorb, automatische Rabatte. Wenn du „den Nettopreis“ anzeigst, musst du entscheiden, welcher Preis die Basis ist:
- Zeigst du Netto auf Basis des aktuellen Verkaufspreises?
- Zeigst du zusätzlich Netto auf Basis des Vergleichspreises (UVP/„statt“)?
- Was passiert bei Rabatten, die erst im Warenkorb greifen?
Wenn du das nicht sauber definierst, sieht die Kundschaft auf der Produktseite andere Netto-Werte als später im Warenkorb.
4) Versand, Gebühren, Pfand: nicht in den Produktpreis einrechnen
Der zweite Preis, den du am Produkt anzeigen willst, sollte sich auf den Artikelpreis beziehen – nicht auf Versand oder Zusatzgebühren. Sonst wird’s inhaltlich schief und schwer nachvollziehbar.
Mini-Checkliste für „saubere“ Brutto/Netto-Logik
- Du weißt pro Produkt, welcher Steuersatz gilt.
- Du rechnest konsequent immer auf derselben Preisbasis (z. B. aktueller Varianten-Preis).
- Du rundest überall gleich.
- Du beschriftest klar: „inkl. MwSt.“ vs. „zzgl. MwSt.“
Wenn diese Basics stimmen, kannst du dir den passenden Umsetzungsweg aussuchen: Shopify-B2B-Logik, Theme-Anpassung oder App. Und genau da wird’s im nächsten Kapitel konkret.
Was Shopify von Haus aus kann – und was nicht
Shopify bringt einiges an Steuer- und Preisdarstellung „out of the box“ mit. Das reicht für viele Shops – aber sobald du Brutto und Netto parallel (also gleichzeitig) zeigen willst, stößt du schnell an Grenzen.
Was Shopify von Haus aus kann
1) Preise inkl. oder zzgl. Steuer anzeigen (global)
In den Steuereinstellungen kannst du festlegen, ob Produktpreise im Storefront grundsätzlich steuerinklusive dargestellt werden („Include tax in prices“) oder ob Steuern erst im Checkout addiert werden.
2) „Dynamische“ Steuerinklusion je Markt/Region
Über Markets kann Shopify je nach Region entscheiden, ob Preise im Storefront inklusive oder exklusive Steuern angezeigt werden (z. B. EU inkl., USA exkl.).
3) Korrekte Hinweise im Theme (z. B. „inkl. MwSt.“)
Themes sollten bei steuerinklusiven Preisen einen Hinweis anzeigen. Shopify nennt dafür sogar explizit das Liquid-Flag cart.taxes_included als Grundlage für den Hinweistext.
4) B2B-Funktionen: Firmenkunden, Preislisten, Konditionen (je nach Setup/Plan)
Mit Shopify B2B kannst du Firmenkunden in Firmenprofilen organisieren und u. a. mit Preislisten/Konditionen arbeiten. Das hilft beim B2B-Pricing, ist aber etwas anderes als die Anzeige dualer Preise.
Was Shopify nicht nativ kann (und warum das wichtig ist)
1) Brutto und Netto gleichzeitig als Standard-Feature
Shopify kann je nach Einstellung/Markt entweder Brutto oder Netto als den anzuzeigenden Preis liefern, aber eine parallele Anzeige („Brutto: X / Netto: Y“) ist kein natives Feature, das du einfach aktivierst.
2) Eine saubere duale Preisdarstellung über alle Seiten hinweg
Selbst wenn du es auf der Produktseite schnell hinbekommst: Die Herausforderung ist die Konsistenz über
- Produktseite,
- Collection-/Kategorie-Kacheln,
- Warenkorbseite und -einschub
- und ggf. Mini-Cart
Genau deshalb enden viele "quick-and-dirty"-Lösungen als Einzellösung für die Produktseite und hinterlassen an anderen Stellen Lücken.
3) "Automatisch richtigen Nettopreis" bei gemischten Steuersätzen ohne Zusatzlogik
Wenn du Produkte mit unterschiedlichen Steuersätzen (z. B. 7%/19%) hast, ist „Netto aus Brutto rechnen“ ohne saubere Steuerlogik riskant.
Konsequenz für die Praxis
Wenn du Brutto & Netto im selben Shop zeigen willst, hast du in Shopify typischerweise drei Wege:
- B2C vs. B2B trennen (z. B. per Login/Company) und jeweils einen Preis anzeigen
- Zweiten Preis im Theme ergänzen (zusätzliche Preiszeile + klare Labels)
- App nutzen, wenn du es übergreifend und updatesicher brauchst
Umsetzung im Theme: so baust du die zweite Preiszeile
Wenn du Brutto und Netto parallel anzeigen willst, läuft es im Theme fast immer auf dasselbe Muster hinaus:
- Du nutzt den „normalen“ Shopify-Preis (Variant Price) als Basispreis (der bleibt kaufrelevant).
- Du berechnest daraus den zweiten Preis (Netto oder Brutto) rein zur Anzeige.
- Du zeigst eine zweite Zeile mit klaren Labels („inkl. MwSt.“ / „zzgl. MwSt.“) an – konsistent auf allen Seiten.
Wichtig vorweg: Shopify stellt dir im Theme nicht zuverlässig den tatsächlich angewendeten Steuersatz pro Kunde/Adresse bereit (die finale Steuerlogik passiert erst im Checkout). Eine Theme-Berechnung ist deshalb nur dann „sauber“, wenn du den Steuersatz eindeutig ableiten kannst (z. B. einheitlich 19% oder pro Produkt gepflegt).
Wo du ansetzt (damit es überall stimmt)
Je nach Theme-Struktur findest du die Preis-Ausgabe meist hier:
-
Produktseite:
sections/main-product.liquidoder einsnippets/price.liquid -
Collection/Kachel:
snippets/card-product.liquid,snippets/product-card.liquido. ä. -
Warenkorb:
sections/main-cart-items.liquid,sections/cart-drawer.liquidoder entsprechende Snippets
Best Practice: Baue die Dual-Preis-Logik einmal in ein Snippet (z. B. snippets/dual-price.liquid) und rendere dieses Snippet überall, wo Preise erscheinen. So vermeidest du "Produktseite stimmt, Warenkorb nicht".
Daten, die du brauchst
Minimal brauchst du:
current_variant.price- optional
current_variant.compare_at_price(für "statt"-Preis) - den Steuersatz
Pragmatische Möglichkeiten für Steuersatz im Theme:
- Einheitlicher Steuersatz (z. B. immer 19%) → am einfachsten, am stabilsten.
-
Pro Produkt/Variante gepflegt über Metafields (z. B.
product.metafields.tax.rate) oder Tags. - B2B vs. B2C Umschaltung über Kunden-Login/Tags (z. B. eingeloggte Firmenkunden sehen netto als Hauptpreis und brutto als zweite Zeile – oder umgekehrt).
Rechenlogik (Shopify Liquid)
Netto aus Brutto (Steuersatz z. B. 19% → Faktor 1.19)
- Netto = Brutto / 1.19
- Brutto = Netto * 1.19
In Shopify sind Preise Integers in Cent. Du rechnest also am Ende wieder auf Cent und formatierst mit dem money-Filter.
Beispiel: Zweite Zeile Netto aus Bruttopreis (einheitlich 19%)
{%- liquid
assign gross_cents = current_variant.price
assign tax_factor = 1.19
assign net_cents = gross_cents | divided_by: tax_factor | round
-%}
<div class="price">
<div class="price__main">
{{ gross_cents | money }} <small>inkl. MwSt.</small>
</div>
<div class="price__secondary">
{{ net_cents | money }} <small>zzgl. MwSt.</small>
</div>
</div>
Beispiel: Steuersatz aus Metafield mit Fallback auf 19 %
(als Dezimalzahl, z. B. 0.19)
{%- liquid
assign gross_cents = current_variant.price
assign tax_rate = product.metafields.tax.rate.value
if tax_rate == blank
assign tax_rate = 0.19
endif
assign tax_factor = 1 | plus: tax_rate
assign net_cents = gross_cents | divided_by: tax_factor | round
-%}
<div class="price">
<div class="price__main">
{{ gross_cents | money }} <small>inkl. MwSt.</small>
</div>
<div class="price__secondary">
{{ net_cents | money }} <small>zzgl. MwSt.</small>
</div>
</div>
Darstellung und UX: so wirkt es klar statt verwirrend
- Verwende eindeutige Labels direkt am Wert:
- inkl. MwSt. (Brutto)
- zzgl. MwSt. (Netto)
- Halte die zweite Zeile visuell sekundär (kleiner, dezenter), aber lesbar
- Optional: Tooltip/Info-Icon („Netto für Geschäftskunden“) – aber nicht als Ersatz für klare Labels
Typische Stolperfallen (und wie du sie vermeidest)
-
Rundung: Lege fest, dass du immer
| roundnutzt (oder konsequent eine andere Strategie) – überall gleich. -
Rabatte: Entscheide, ob du die zweite Zeile auf Basis von
price(aktueller Verkaufspreis) odercompare_at_priceebenfalls anzeigen willst. - Warenkorbeinschub: Viele Shops vergessen den Warenkorbeinschub (Cart Drawer) → Ergebnis: inkonsistente Preise.
- Unklare Steuerlogik: Wenn der Steuersatz nicht sicher ist (gemischte Steuersätze, Markets), ist "rechnerisch netto" im Theme riskant. Dann ist meist B2B-Setup oder App die robustere Lösung.
Qualitätssicherung: kurze Testmatrix
Teste mindestens:
- Produktseite, Kollektionsseiten und Warenkorbseite und Warenkorbeinschub
- Variantenwechsel
- Sale (Vergleichspreis)
- Rabattcode/automatische Rabatte (mindestens ein Beispiel)
- B2B-Login vs. Gast (falls du segmentierst)
Apps: wann lohnen sie sich, wann nicht?
Apps sind für die duale Preisanzeige oft der schnellste Weg zu einem Ergebnis, das überall funktioniert – also nicht nur auf der Produktseite, sondern auch Kollektionsseiten, in der Suche und im Warenkorb. Im Shopify App Store gibt es für Steuer-Apps eine eigene Kategorie.
Wann sich Apps lohnen
1) Wenn du Konsistenz über alle Shop-Bereiche brauchst
Gute Duale-Preise-Apps werben damit, dass sie duale Preise auf Produkt-, Kollektions-, Such- und Warenkorbseiten darstellen können.
2) Wenn du Regeln brauchst (Länder, Kundentags, Produktgruppen)
Sobald du mehr willst als "immer mit 19% rechnen", wird’s im Theme schnell unübersichtlich. Mehrere Apps erlauben Regelsets nach Land, Produkten oder Kunden-Tags (z. B. nur B2B sieht Netto/dual).
3) Wenn dein Theme häufig wechselt oder stark angepasst ist
Eine App, die mit App Blocks arbeitet, ist meist update-sicherer als Theme-Anpassungen.
4) Wenn Support & Wartung wichtig sind
Bei Steuer-/Preislogik willst du im Zweifel jemanden, der das schon 100× gesehen hat. In Reviews wird bei Duale-Preise-Apps häufig Support/Anpassung gelobt – ein Indiz, dass das in der Praxis tatsächlich oft Theme-spezifische Feinjustierung braucht.
Wann Apps sich eher nicht lohnen (oder sogar riskant sind)
1) Wenn du nur ein simples Setup hast, das du sauber im Theme lösen kannst
Beispiel: einheitlicher Steuersatz, keine B2B-Regeln, keine internationalen Sonderfälle. Dann ist eine kleine Theme-Erweiterung oft schneller, günstiger und ohne monatliche Kosten.
2) Wenn du perfekte Performance und volle Kontrolle brauchst
Apps bringen (je nach Umsetzung) zusätzlichen JavaScript-/Render-Overhead. Bei "Preis muss sofort da sein" (Core Web Vitals, CLS vermeiden) ist eine Theme-Lösung häufig kontrollierbarer.
3) Wenn du ein sehr spezielles Theme/Warenkorb-System hast
Warenkorbeinschub, Off-Canvas Cart, Headless, stark modifizierte Preis-Komponenten: Hier können Apps zwar funktionieren, aber du landest öfter in Theme-spezifischem Fixing, was manche Vorteile von Apps ggü. Theme-Anpassungen wieder zunichte macht.
4) Wenn du erwartest, dass Apps Shopify-Steuerlogik 1:1 ersetzen
Wichtig: Viele Duale-Preise-Apps arbeiten mit konfigurierten Steuersätzen/Regeln und berechnen die zweite Zeile daraus (statt "magisch" den finalen Checkout-Steuersatz zu kennen). Das ist oft völlig ok – aber du musst es als Darstellungslogik verstehen, nicht als steuerliche "Quelle der Wahrheit".
Entscheidungskriterien: App vs. Theme
Nimm eher eine App, wenn …
- du duale Preise auf vielen Seiten zuverlässig brauchst
- du Regeln brauchst (B2B-Tags, Länder, Produkte)
- dein Theme öfter angepasst/aktualisiert wird
- du Support willst, der Edge-Cases mit dir löst
Nimm eher eine Theme-Lösung, wenn …
- du ein einfaches Steuerszenario hast
- du maximale Kontrolle/Performance willst
- du die Logik als "Anzeige-Feature" sauber in Snippets zentralisieren kannst
App-Kategorien im App Store
- Duale-Preise-Apps (zeigen „inkl./exkl.“ nebeneinander)
- VAT-Apps (B2B USt-ID, Steuerbefreiung) – oft kombiniert mit Netto-Anzeige
- Wholesale/B2B Pricing Apps (unterschiedliche Preise je Kundengruppe; nicht zwingend dual, aber relevant für Hybrid-Shops)
Zusammenfassung
Wenn du in Shopify Brutto- und Nettopreise parallel anzeigen willst, geht es fast immer um einen Hybrid-Shop: öffentlich für B2C (Brutto als Erwartung und häufig Pflicht) – plus Firmenkund:innen, die netto kalkulieren. Duale Preise sind dann sinnvoll, wenn sie Entscheidungen erleichtern und Rückfragen reduzieren. Voraussetzung ist, dass du eine saubere Logik hast (Steuersatz, Rundung, Rabattfälle) und die Darstellung klar beschriftest, damit niemand Brutto und Netto verwechselt.
Für die Umsetzung gibt es drei praxistaugliche Strategien:
- B2C und B2B über Login/Kundensegmente trennen und jeweils den einen relevanten Preis ausspielen (am saubersten, wenn du echtes B2B-Setup nutzt).
- Brutto als Basispreis im Shop lassen und Netto als zweite Zeile rechnerisch ergänzen (ideal für B2C-first mit Firmenkund:innen).
- Netto als Basispreis führen und Brutto ergänzen (typisch für B2B-first oder reine B2B-Shops, bei denen Brutto eher Info ist).
Faustregel:
- B2C-first → Brutto bleibt Hauptpreis, Netto ergänzend (Theme oder App).
- B2B-first / B2B-only → Netto als Hauptlogik, Brutto als Zusatz oder je nach Markt/Shop-Einstellung.
Wenn du nur einen einheitlichen Steuersatz und ein überschaubares Setup hast, ist eine Theme-Lösung oft die schlankste Variante. Sobald du aber mehrere Templates, Märkte oder Regeln (Kundentags, Produktgruppen) sauber abdecken musst, ist eine App meistens wartungsärmer und konsistenter.







SEPA-Lastschrift in Shopify – So bietest du sie deinen Kunden an