Zum Inhalt springen
B2B-Commerce

Tagespreise und Zuschläge im B2B-Shop automatisieren

Basispreis, Legierungszuschlag, Energieanteil und Fracht bewegen sich getrennt. Wie sich Tagespreise, Zuschläge und Indexbindungen im Shopware-Shop.

14 Min. Lesezeit PreislogikZuschlägeShopwareGroßhandelERP-Anbindung

Im B2B-Handel mit Metall, Kunststoff, Chemie oder Elektrotechnik ist der Preis, der heute im Shop steht, morgen ein anderer. Basispreis, Legierungs- oder Materialzuschlag, Energieanteil und Fracht bewegen sich unabhängig voneinander und in unterschiedlichem Takt. Wer diese Bewegung von Hand in Preislisten nachpflegt, verliert entweder Marge oder Vertrauen. Dieser Beitrag zeigt, wie sich Tagespreise, Zuschläge und Indexbindungen im Shop sauber abbilden lassen, welche Grenzen das Preisklauselgesetz zieht und warum jede Position einen Preisstand und einen Ablaufzeitpunkt braucht.

Das Wichtigste in Kürze

  • Ein Tagespreis ist kein Preis, sondern eine Rechnung aus vier Bausteinen: Basispreis, Materialzuschlag, Energieanteil und Frachtanteil. Jeder Baustein hat eine eigene Quelle, einen eigenen Takt und ein eigenes Gültigkeitsfenster.
  • Die Bewegung ist gemessen, nicht behauptet: Die Verkaufspreise im Großhandel lagen im Juli 2026 um 5,3 Prozent (Statistisches Bundesamt) über dem Vorjahresmonat, bei Nicht-Eisen-Erzen, -Metallen und -Metallhalbzeug waren es 27,8 Prozent (Statistisches Bundesamt).
  • Nicht jede Indexbindung ist zulässig. Das Preisklauselgesetz verbietet die selbsttätige Kopplung an nicht vergleichbare Güter, nimmt Kostenelementeklauseln aber ausdrücklich aus (Preisklauselgesetz) - der Zuschlag muss also an den eigenen Selbstkosten hängen.
  • Ein Preis ohne Ablaufzeitpunkt bindet länger, als dem Verkauf lieb ist: Ohne gesetzte Frist bleibt die Bindung an den Antrag bestehen, bis eine Antwort unter regelmäßigen Umständen zu erwarten wäre (BGB).
  • Technisch entscheidet die Herkunft: Basispreis aus dem Warenwirtschaftssystem, Zuschlagswerte aus der Werkstabelle, Indexstände mit Quelle, Stichtag und Basisjahr - und dieselbe Zahl im Warenkorb, im Angebot, im Auftrag und auf der Rechnung.

Warum der Listenpreis im B2B-Shop selten der Preis ist

Wer Edelstahl, Aluminiumhalbzeug, technische Kunststoffe, Kabel oder Chemikalien verkauft, arbeitet nicht mit einem Preis, sondern mit einer Preisformel. Der Basispreis kommt aus der Konditionspflege im Warenwirtschaftssystem und bewegt sich vielleicht quartalsweise. Der Materialzuschlag folgt den Notierungen der eingesetzten Legierungselemente und wird vom jeweiligen Werk in einer eigenen Tabelle veröffentlicht. Der Energieanteil hängt an Bezugsverträgen und an der Preisentwicklung für Energie. Der Frachtanteil bewegt sich mit Dieselpreis, Mautsätzen und Auslastung. Diese vier Größen haben inhaltlich wenig miteinander zu tun, sie treffen sich erst auf der Rechnungszeile. Ein Shop, der nur ein einziges Preisfeld je Artikel kennt, zwingt den Innendienst deshalb dazu, die Bewegung von Hand nachzupflegen. Das kostet Zeit, und es kostet vor allem Vertrauen, wenn ein Kunde einen Preis in den Warenkorb legt, den die Auftragsbestätigung später nicht bestätigt.

Die Bewegung ist keine Behauptung, sie ist gemessen. Die Verkaufspreise im Großhandel lagen im Juli 2026 um 5,3 Prozent (Statistisches Bundesamt) über dem Vorjahresmonat, nach 4,9 Prozent (Statistisches Bundesamt) im Juni und 5,9 Prozent (Statistisches Bundesamt) im Mai. Innerhalb dieses Durchschnitts liegen die Ausschläge deutlich weiter auseinander: Im Großhandel mit Nicht-Eisen-Erzen, -Metallen und -Metallhalbzeug lagen die Preise 27,8 Prozent (Statistisches Bundesamt) über dem Vorjahresmonat, gleichzeitig aber 3,9 Prozent unter dem Vormonat. Mineralölerzeugnisse waren auf Großhandelsebene 24,1 Prozent (Statistisches Bundesamt) teurer als ein Jahr zuvor. Ein Sortiment, das solche Warengruppen enthält, lässt sich mit einer halbjährlich gedruckten Preisliste nicht sinnvoll bewirtschaften.

Zwei Indexfamilien, zwei Blickwinkel

Für Zuschlagsformeln stehen zwei amtliche Indexfamilien zur Verfügung. Der Großhandelsverkaufspreisindex beschreibt die Handelsstufe; lange Zeitreihen liegen in den Tabellen 61281-0002 und 61281-0004 der Datenbank GENESIS-Online (Statistisches Bundesamt). Der Erzeugerpreisindex gewerblicher Produkte beschreibt die Herstellerstufe: Er lag im Juli 2026 um 3,0 Prozent (Statistisches Bundesamt) über dem Vorjahresmonat, bei Metallen um 12,6 Prozent und bei Kupfer und Halbzeug daraus um 28,7 Prozent (Statistisches Bundesamt). Welche Familie passt, entscheidet die Frage, welche Kosten der Zuschlag tatsächlich abbilden soll.

Was das Preisklauselgesetz zulässt

Bevor eine einzige Zeile Code entsteht, gehört die Klausel geprüft. Das Preisklauselgesetz verbietet nicht die Preisanpassung, sondern eine bestimmte Bauart davon: die unmittelbare und selbsttätige Kopplung einer Geldschuld an den Preis nicht vergleichbarer Güter (Preisklauselgesetz). Wer den Preis einer Leistung automatisch an eine Rohstoffnotierung hängt, die für diese Leistung keine Rolle spielt, bewegt sich damit im Verbotsbereich. Von diesem Verbot nimmt das Gesetz vier Klauseltypen ausdrücklich aus, und einer davon trägt die Zuschlagslogik des technischen Handels.

  • Leistungsvorbehaltsklauseln lassen hinsichtlich des Ausmaßes der Änderung einen Ermessensspielraum, der es ermöglicht, die neue Höhe der Geldschuld nach Billigkeitsgrundsätzen zu bestimmen (Preisklauselgesetz).
  • Spannungsklauseln setzen Güter oder Leistungen ins Verhältnis, die im Wesentlichen gleichartig oder zumindest vergleichbar sind (Preisklauselgesetz).
  • Kostenelementeklauseln machen den geschuldeten Betrag von der Preisentwicklung solcher Güter abhängig, die die Selbstkosten des Gläubigers bei der Erbringung der Gegenleistung unmittelbar beeinflussen (Preisklauselgesetz). Unter diesen Typ fallen Material-, Energie- und Frachtzuschläge in der Regel.
  • Klauseln, die lediglich zu einer Ermäßigung der Geldschuld führen können - für diesen vierten Ausnahmetyp nennt das Preisklauselgesetz anders als bei den drei vorstehenden keinen eigenen Begriff; gebräuchlich ist die Bezeichnung Ermäßigungsklausel.

Für den Shop heißt das: Ein Zuschlag braucht eine nachvollziehbare Verbindung zu den eigenen Beschaffungskosten. Ein Legierungszuschlag auf Edelstahl ist begründbar, weil die Notierungen von Nickel, Chrom und Molybdän die Selbstkosten unmittelbar bewegen. Ein pauschaler Aufschlag, der sich an einer beliebigen Konjunkturkennzahl orientiert, ist es nicht. Das Gesetz formuliert das Verbot in einem einzigen Satz.

Der Betrag von Geldschulden darf nicht unmittelbar und selbsttätig durch den Preis oder Wert von anderen Gütern oder Leistungen bestimmt werden, die mit den vereinbarten Gütern oder Leistungen nicht vergleichbar sind.

Preisklauselgesetz, § 1 Absatz 1

Neben der Bauart kennt das Gesetz einen Bestimmtheitsmaßstab, wendet ihn aber nicht auf jede Preisklausel an: Nach dem Preisklauselgesetz gilt er nur für die dort genannten Preisklauseln nach § 3 und für Preisklauseln in Verbraucherkreditverträgen (Preisklauselgesetz). Kostenelementeklauseln, unter die Material-, Energie- und Frachtzuschläge in der Regel fallen, liegen außerhalb des Verbots und damit außerhalb dieser Prüfung. Als Formulierungsvorlage taugt der Wortlaut trotzdem: Eine Preisklausel ist danach nicht hinreichend bestimmt, wenn ein geschuldeter Betrag allgemein von der künftigen Preisentwicklung oder von einem anderen Maßstab abhängen soll, der nicht erkennen lässt, welche Preise oder Werte bestimmend sein sollen (Preisklauselgesetz). Für die Umsetzung ist das die eigentliche Arbeitsanweisung: Der Vertrag muss den Index mit vollständigem Namen, mit Gütersystematik- oder Tabellennummer, mit Basisjahr und mit dem Stichtag benennen, an dem gerechnet wird. Ein Verweis auf die allgemeine Marktentwicklung erfüllt das nicht; steht die Klausel in Allgemeinen Geschäftsbedingungen, kann bereits die fehlende Klarheit eine unangemessene Benachteiligung begründen (BGB). Wird ein Verstoß gegen das Preisklauselgesetz rechtskräftig festgestellt, tritt die Unwirksamkeit der Preisklausel zu diesem Zeitpunkt ein, soweit nicht eine frühere Unwirksamkeit vereinbart ist (Preisklauselgesetz) - die bis dahin abgerechneten Beträge bleiben also unberührt.

Einseitige Klauseln sind angreifbar

Rechnet eine Zuschlagslogik nur nach oben, ist sie angreifbar - bei Klauseln aus Allgemeinen Geschäftsbedingungen zunächst über die Inhaltskontrolle: Bestimmungen sind unwirksam, wenn sie den Vertragspartner entgegen den Geboten von Treu und Glauben unangemessen benachteiligen, und eine unangemessene Benachteiligung kann sich auch daraus ergeben, dass die Bestimmung nicht klar und verständlich ist (BGB). Das Preisklauselgesetz bewertet die Einseitigkeit ebenso, allerdings nur für die Klauseln, die es dieser Prüfung unterwirft: Danach liegt eine unangemessene Benachteiligung insbesondere dann vor, wenn einseitig ein Preis- oder Wertanstieg eine Erhöhung, nicht aber umgekehrt ein Preis- oder Wertrückgang eine entsprechende Ermäßigung des Zahlungsanspruchs bewirkt (Preisklauselgesetz). Für Kostenelementeklauseln gilt dieser Maßstab nicht unmittelbar, als Wertung ist er trotzdem brauchbar. Die Formel gehört deshalb in verständlichen Text, nicht nur in den Programmcode.

Preisstand und Ablauf: was ein Angebot zusammenhält

Ein Tagespreis ohne Datum ist ein Versprechen ohne Ende. Wer einem anderen die Schließung eines Vertrags anträgt, ist an den Antrag gebunden, es sei denn, dass er die Gebundenheit ausgeschlossen hat (BGB). Bei einem Angebot an einen Abwesenden - und jedes Shop-Angebot ist genau das - kann der Antrag bis zu dem Zeitpunkt angenommen werden, in welchem der Antragende den Eingang der Antwort unter regelmäßigen Umständen erwarten darf (BGB). Was regelmäßige Umstände bei einem Preis sind, der sich täglich bewegt, ist Auslegungssache. Auslegungssache ist im Streitfall teuer, und sie fällt selten zugunsten dessen aus, der die Unklarheit erzeugt hat.

Der saubere Weg ist die ausdrückliche Frist. Hat der Antragende für die Annahme eine Frist bestimmt, so kann die Annahme nur innerhalb der Frist erfolgen (BGB). Im Shop heißt das konkret: Jedes Angebot und jeder Warenkorb, der einen Tagespreis trägt, bekommt zwei Zeitstempel. Der Preisstand sagt, aus welchen Werten der Preis gerechnet wurde. Der Ablaufzeitpunkt sagt, wie lange er gilt. Beides gehört sichtbar an die Position, in das PDF, in die Auftragsbestätigung und in die Datenstruktur dahinter. Läuft die Frist ab, rechnet der Shop neu und weist die Änderung ausdrücklich aus, statt sie stillschweigend zu übernehmen. Der Unterschied zwischen beiden Varianten sind zwei Datenfelder und ein Hinweistext.

Hat der Antragende für die Annahme des Antrags eine Frist bestimmt, so kann die Annahme nur innerhalb der Frist erfolgen.

Bürgerliches Gesetzbuch, § 148

Der Unterschied, der Streit vermeidet

Ein Preis, der zu einem benannten Zeitpunkt aus benannten Quellen gerechnet wurde und bis zu einem benannten Zeitpunkt gilt, ist überprüfbar. Ein Preis, der lediglich als tagesaktuell bezeichnet wird, ist eine Behauptung. Prüfbarkeit ist im B2B kein Zusatznutzen, sondern die Voraussetzung dafür, dass ein Einkauf den Preis in die eigene Kalkulation übernehmen kann.

Die vier Bausteine eines Tagespreises

Wer die Preisbildung zerlegt, bekommt vier Bausteine mit jeweils eigener Quelle, eigenem Takt und eigener Gültigkeit. Genau diese Trennung ist die Grundlage jeder späteren Prüfbarkeit: Nur wenn jeder Baustein für sich gespeichert wird, lässt sich hinterher sagen, warum ein Preis gestiegen ist. Wird stattdessen nur die Summe gespeichert, bleibt bei jeder Rückfrage nur die Rekonstruktion aus dem Gedächtnis.

Basispreis

Kommt aus der Konditionspflege im Warenwirtschaftssystem, einschließlich Kundengruppe, Staffel und kundenindividuellem Sonderpreis. Änderungstakt: Wochen bis Quartale. Die maßgebliche Quelle ist das Warenwirtschaftssystem, nicht der Shop.

Material- oder Legierungszuschlag

Kommt aus der veröffentlichten Zuschlagstabelle des jeweiligen Werks und unterscheidet sich je Werkstoff und je Lieferant. Er wird übernommen, nicht selbst hergeleitet - sonst weicht der Shop vom Lieferantenbeleg ab.

Energie- und Umlagenanteil

Bildet Bezugskosten ab, die sich unabhängig vom Material bewegen. Die Erzeugerpreise für Energie lagen im Juli 2026 um 3,8 Prozent (Statistisches Bundesamt) über dem Vorjahresmonat, gegenüber dem Vormonat um 3,4 Prozent.

Frachtanteil

Hängt an Gewicht, Volumen, Zone, Sperrgutmerkmal und Dieselgleitung. Er gehört als eigene Zeile ausgewiesen und nicht in den Artikelpreis eingerechnet, sonst ist er bei Teillieferungen nicht mehr sauber zuzuordnen.

Die Trennung hat einen zweiten Zweck. Ein Kunde, der einen Preisanstieg nicht versteht, ruft an. Ein Kunde, der auf der Position sieht, dass der Basispreis unverändert blieb und nur der Materialzuschlag gestiegen ist, ruft in der Regel nicht an. Dass die Erzeugerpreise gewerblicher Produkte im Juli 2026 bei Roheisen, Stahl und Ferrolegierungen um 4,5 Prozent (Statistisches Bundesamt) über dem Vorjahresmonat lagen, während Betonstahl 5,8 Prozent (Statistisches Bundesamt) mehr kostete, ist für den Einkauf nachvollziehbar, sobald der Shop die Zerlegung zeigt. Wie sich der Frachtanteil selbst kalkulieren lässt, haben wir im Beitrag zu Versandkosten und Speditionsfracht beschrieben.

BausteinQuelleTaktDarstellung im Shop
BasispreisKonditionen im Warenwirtschaftssystem, je Kundengruppe und StaffelWochen bis QuartalePositionspreis mit Staffelhinweis
Material- oder LegierungszuschlagVeröffentlichte Zuschlagstabelle des Werks, je WerkstoffMonatlich oder häufiger, je LieferantEigene Zeile mit Bezugsgröße und Stand
Energie- und UmlagenanteilBezugsvertrag, ergänzt um einen im Vertrag benannten IndexMonatlich, an einem festen StichtagEigene Zeile mit Indexname und Basisjahr
FrachtanteilTarif, Zone, Gewicht, DieselgleitungWöchentlich bis monatlichEigene Zeile im Warenkorb, vor Kaufabschluss sichtbar
PreisstandZeitpunkt der BerechnungJe VorgangZeitstempel an Position und Beleg
AblaufzeitpunktVertraglich gesetzte AnnahmefristJe VorgangDatum und Uhrzeit am Angebot

Indexbindung sauber verdrahten

Sobald eine Zuschlagsformel auf einen amtlichen Index zeigt, wird aus einer Preisfrage eine Datenfrage. Der Index muss eindeutig benannt, regelmäßig geholt, versioniert gespeichert und in der Formel mit demselben Stand verwendet werden, den der Beleg später ausweist. Das Statistische Bundesamt hat dazu eine eigene Handreichung zu Preisgleitklauseln veröffentlicht, aus der sich mehrere Punkte ergeben, die in der Praxis regelmäßig übersehen werden.

  1. Index vollständig benennen: Name, Statistischer Bericht, laufende Nummer, Gütersystematik- oder Tabellennummer und Basisjahr. Ohne diese Angaben bleibt offen, welche Werte bestimmend sein sollen; in Allgemeinen Geschäftsbedingungen ist die Klausel dann schon wegen fehlender Klarheit angreifbar (BGB).
  2. Auf prozentuale Veränderungsraten abstellen statt auf Indexpunkte, weil Indexpunkte stark vom absoluten Indexstand der verglichenen Indizes abhängen (Statistisches Bundesamt).
  3. Zirkelbezüge ausschließen: Für ein bestimmtes Produkt nicht den Preisindex verwenden, der genau dessen Preisentwicklung abbildet (Statistisches Bundesamt).
  4. Stichtag und Nachlauf festlegen. Zwischen Berichtsmonat und Veröffentlichung liegt Zeit; die Formel braucht deshalb eine Regel, welcher veröffentlichte Stand am Bestelltag gilt.
  5. Basisumstellungen einplanen: Nach einer turnusmäßigen Überarbeitung sind die Basisindizes in der Klausel auszutauschen, damit sachlich vergleichbare Preisentwicklungen ermittelt werden (Statistisches Bundesamt).
  6. Jeden Indexstand mit Wert, Berichtsmonat, Basisjahr, Abrufzeitpunkt und Quelle speichern, nicht nur den gerechneten Preis. Nur so ist eine Rechnung Jahre später noch nachvollziehbar.
  7. Anstieg und Rückgang gleich behandeln, damit die Klausel nicht einseitig wirkt.

Zwei Sätze aus der amtlichen Methodik

„Um Zirkelbezüge zwischen Preisstatistik und Preisgleitklauseln zu vermeiden, sollten Preisgleitklauseln für ein bestimmtes Produkt nicht den Preisindex, der die Preisentwicklung dieses Produktes darstellt, enthalten.“ Und: „Aus statistischer Sicht ist es sinnvoll, in Verträgen nicht auf Indexpunkte, sondern auf prozentuale Veränderungsraten abzustellen“ (Statistisches Bundesamt). Dieselbe Handreichung stellt klar, dass das Amt keine Empfehlung ausspricht, welcher Index einem Vertragsverhältnis zugrunde zu legen ist - das ist eine Ermessensfrage des privatrechtlichen Vertrags und von den Vertragsparteien selbst zu beantworten.

Technisch ist ein Indexstand ein eigener Datensatz, kein Feld am Artikel. Er hat eine Kennung, einen Wert, ein Basisjahr, einen Berichtsmonat, einen Abrufzeitpunkt und eine Quellenangabe. Der Preis eines Artikels verweist auf diesen Datensatz, statt den Wert zu kopieren. Fällt der Abruf einmal aus, rechnet der Shop mit dem letzten gültigen Stand weiter und markiert das, statt still einen Nullwert einzusetzen: Ein Zuschlag von null wäre in diesem Fall kein Messergebnis, sondern ein Ausfall. Wie stark eine Umbasierung wirkt, zeigt die Umstellung des Großhandelsverkaufspreisindex auf das Basisjahr 2021 = 100 mit dem Berichtsmonat April 2024 (Statistisches Bundesamt): Der Jahresdurchschnitt des neuen Basisjahres wird auf 100 gesetzt, die zuvor auf alter Basis ermittelten Indizes verlieren ihre Gültigkeit.

tagespreis-position.json
{
  "artikel": "1.4571-RB-20X2000",
  "menge_kg": 480,
  "preisstand": "2026-09-14T08:00:00+02:00",
  "gueltig_bis": "2026-09-14T18:00:00+02:00",
  "waehrung": "EUR",
  "bausteine": [
    {
      "art": "basispreis",
      "quelle": "erp/konditionen",
      "wert_je_100kg": 145.00,
      "stand": "2026-09-01"
    },
    {
      "art": "legierungszuschlag",
      "quelle": "werk/zuschlagstabelle",
      "wert_je_100kg": 118.00,
      "stand": "2026-09-01",
      "bezug": "Nickel, Chrom, Molybdän"
    },
    {
      "art": "energieanteil",
      "quelle": "index/erzeugerpreise-energie",
      "wert_je_100kg": 9.50,
      "index": {
        "name": "Erzeugerpreisindex gewerblicher Produkte, Energie",
        "basisjahr": 2021,
        "berichtsmonat": "2026-07",
        "veraenderung_vorjahr_prozent": 3.8,
        "abgerufen": "2026-09-14T06:00:00+02:00"
      }
    },
    {
      "art": "frachtanteil",
      "quelle": "tarif/zone-3",
      "wert_je_100kg": 7.50,
      "stand": "2026-09-08"
    }
  ],
  "tagespreis_je_100kg": 280.00,
  "hinweis": "Preis gilt bis zum genannten Zeitpunkt, danach wird neu gerechnet."
}

Der Vorteil dieser Struktur zeigt sich beim Zurückrechnen. Wenn ein Kunde im November fragt, warum eine Lieferung im September teurer war als im Juli, liegt die Antwort in der Position und nicht im Gedächtnis des Innendiensts. Jede Zeile trägt ihre Quelle, ihren Stand und ihren Wert. Das ist zugleich die Grundlage für die Auskunftsfähigkeit gegenüber der eigenen Buchhaltung und gegenüber einer Betriebsprüfung. Welche Datenwege dafür zwischen Shop und Warenwirtschaftssystem nötig sind, beschreibt unser Beitrag zur ERP-Integration im B2B-E-Commerce.

Der Shop muss den Preis erklären, nicht nur anzeigen

Im reinen B2B-Shop greift die Preisangabenverordnung in ihrem Kern nicht: Sie regelt die Angabe von Preisen für Waren oder Leistungen von Unternehmern gegenüber Verbrauchern (PAngV). Wer ausschließlich an gewerbliche Kunden verkauft und den Zugang entsprechend absichert, arbeitet also mit Nettopreisen und ohne die Pflichten der Verordnung. Das ist eine Erleichterung bei der Darstellung - und ein Trugschluss, wenn daraus abgeleitet wird, Preisklarheit spiele im B2B keine Rolle. Die Klarheit wird hier nicht von der Verordnung erzwungen, sondern vom Vertragsrecht und vom Bedarf des Einkäufers, den Preis in der eigenen Kalkulation weiterzuverarbeiten.

  • Jeder Zuschlag steht als eigene Zeile mit Bezeichnung, Bezugsgröße und Betrag, nicht eingerechnet im Artikelpreis.
  • Preisstand und Ablaufzeitpunkt sind an der Position sichtbar, nicht nur in den Allgemeinen Geschäftsbedingungen.
  • Die Formel steht in verständlichem Text auf einer eigenen Seite, verlinkt von jeder betroffenen Position.
  • Der Warenkorb rechnet beim Öffnen neu und zeigt eine Abweichung ausdrücklich an, statt sie stillschweigend zu übernehmen.
  • Ein abgelaufenes Angebot wird als abgelaufen gekennzeichnet und nicht kommentarlos zum neuen Preis bestellbar.
  • Der Kunde kann den Preisstand einer Position als Beleg herunterladen, auch nach dem Kauf.

Der letzte Punkt wird häufig unterschätzt. Einkäufer arbeiten mit Budgets, Rahmenverträgen und internen Freigaben. Ein Preis, den sie nicht belegen können, verursacht bei ihnen Arbeit, und Arbeit beim Kunden ist ein Grund, den Lieferanten zu wechseln. Wie sich Preisbindung und Abrufe über längere Zeiträume abbilden lassen, steht in unserem Beitrag zu Rahmenverträgen und Abrufaufträgen; die Grundlagen der Preisstruktur behandelt der Beitrag zu Preislisten und Staffelpreisen in Shopware.

Von der Anfrage bis zur Rechnung: eine Zahl, ein Weg

Ein Tagespreis ist erst dann sauber umgesetzt, wenn er auf allen Stationen derselbe ist. Anfrage, Angebot, Warenkorb, Auftrag, Lieferschein und Rechnung müssen dieselbe Zerlegung tragen. Bricht die Kette an einer Stelle, entsteht genau der Fall, den niemand will: Der Kunde bestellt zu einem Preis, das Warenwirtschaftssystem bestätigt einen anderen, und die Buchhaltung klärt hinterher die Differenz. Umsatzsteuerlich verlangt die Rechnung dabei eine Aufschlüsselung, die zur Struktur der Position passen muss.

das nach Steuersätzen und einzelnen Steuerbefreiungen aufgeschlüsselte Entgelt für die Lieferung oder sonstige Leistung (§ 10) sowie jede im Voraus vereinbarte Minderung des Entgelts, sofern sie nicht bereits im Entgelt berücksichtigt ist

Umsatzsteuergesetz, § 14 Absatz 4 Nummer 7

Für die Praxis heißt das: Zuschläge, die zum Entgelt gehören, teilen dessen Steuersatz und gehören in dieselbe Aufschlüsselung (UStG). Ein Legierungszuschlag ist kein Nebengeschäft, sondern Teil des Preises für die Lieferung. Wer ihn in der Rechnung als eigene Zeile führt, ordnet ihn deshalb demselben Steuersatz zu wie die Hauptleistung. Seit der Umstellung auf strukturierte Rechnungsformate ist das keine Fleißaufgabe mehr, sondern eine Frage sauber gefüllter Felder; dazu haben wir die E-Rechnungspflicht und ihre Anbindung an das Warenwirtschaftssystem getrennt beschrieben. Wie Steuersatz und Reverse-Charge bei grenzüberschreitenden Bestellungen zusammenspielen, behandelt der Beitrag zur Umsatzsteuer im B2B-Shop.

Terminal
$ # Indexstände und Zuschlagstabellen vor Ladenöffnung holen
$ bin/console preis:index:abrufen --quelle=genesis --tabelle=61281-0002
$ bin/console preis:zuschlag:import --werk=alle --stand=heute
$ # Preise neu bilden, Preisstand und Ablauf setzen
$ bin/console preis:tagespreis:bilden --preisstand=08:00 --gueltig-bis=18:00
$ # Abgelaufene Angebote kennzeichnen statt still neu zu bepreisen
$ bin/console angebot:ablauf:pruefen --markieren

Was bei der Umsetzung typischerweise klemmt

Die Fehler wiederholen sich, und sie liegen selten im Preisalgorithmus. Sie liegen an den Rändern: beim Abruf der Werte, beim Zwischenspeicher, beim Übergang in das Warenwirtschaftssystem und bei der Frage, welcher Stand für einen bereits liegenden Warenkorb gilt. Wie weit eine Preisautomatik überhaupt gehen sollte, ohne die Marge aus dem Blick zu verlieren, behandelt der Beitrag zu dynamischer Preisfindung und Margensteuerung.

  • Der Zwischenspeicher überlebt den Preisstand. Ein Seiten- oder Objektspeicher, der Preise mitspeichert, liefert nach der Neubildung noch den alten Wert aus. Preisbestandteile gehören von der Zwischenspeicherung ausgenommen oder an den Preisstand als Schlüsselbestandteil gebunden.
  • Der ausgefallene Abruf wird als Wert verbucht. Kommt keine Antwort, darf keine Null in die Formel wandern. Der letzte gültige Stand gilt weiter und wird als solcher gekennzeichnet.
  • Der Warenkorb altert unbemerkt. Ein Warenkorb, der drei Tage offen liegt, trägt Preise von vor drei Tagen. Beim Öffnen muss neu gerechnet und die Abweichung angezeigt werden.
  • Gerundet wird zu früh. Wird jeder Baustein einzeln gerundet, weicht die Summe von der Nachrechnung des Kunden ab. Gerundet wird am Ende, auf der Positionssumme, nach einer festgelegten Regel.
  • Die Zuschlagstabelle wird nachgebaut statt übernommen. Wer den Legierungszuschlag selbst herleitet, erzeugt Abweichungen zum Lieferantenbeleg. Der veröffentlichte Wert wird importiert.
  • Das Warenwirtschaftssystem kennt die Zerlegung nicht. Erhält der Auftrag dort nur eine Summe, ist die Herkunft verloren. Die Bausteine gehören als eigene Konditionsarten übergeben.
  • Die Klausel steht nur im Programmcode. Was der Shop rechnet, muss dem entsprechen, was im Vertrag steht - und der Vertragstext muss den Index vollständig benennen.

Wie wir Tagespreise im Shopware-Shop umsetzen

Wir bauen die Preisbildung als eigene Schicht zwischen Warenwirtschaftssystem und Shop, nicht als Sammlung von Einzelregeln im Shop-Backend. Die Anbindung an das Warenwirtschaftssystem liefert Basispreise, Kundengruppen und Staffeln. Ein eigener Importweg holt Zuschlagstabellen und Indexstände und legt sie versioniert ab. Die Preisbildung setzt daraus die Position zusammen und schreibt Preisstand und Ablaufzeitpunkt an den Vorgang. Umgesetzt wird das in der Shopware-Entwicklung auf Basis der Community Edition, ohne Bindung an geschlossene Erweiterungen.

Für den Kunden entsteht daraus ein B2B-Portal, in dem der Preis nicht nur steht, sondern begründet ist: Zerlegung je Position, Preisstand, Ablauf, Downloadbeleg und Historie der eigenen Preise. Die Einführung erfolgt typischerweise stufenweise, beginnend mit einer Warengruppe, in der die Zuschläge am stärksten schwanken. Wer parallel die Bestandsseite ordnen will, findet die Vorbereitung in unserem Beitrag zur Inventur zum Jahreswechsel.

Quellen und Rechtsgrundlagen

Dieser Beitrag basiert auf Daten und Rechtsquellen aus: Statistisches Bundesamt (Großhandelspreise Juli 2026, Erzeugerpreise gewerblicher Produkte Juli 2026, Serviceangebote zu Preisgleitklauseln, Umstellung des Großhandelsverkaufspreisindex auf das Basisjahr 2021), Preisklauselgesetz, Bürgerliches Gesetzbuch, Preisangabenverordnung und Umsatzsteuergesetz.

Verwandte Artikel

Integration & Prozesse

Mengeneinheiten und Gebinde im B2B-Shop richtig abbilden

Karton, Palette, Rolle oder Meter: Wie Basis-, Verkaufs- und Bestelleinheit im B2B-Shop umrechnen, wie Mindestmengen greifen und der Grundpreis stimmt.

12 Min. Lesezeit
B2B-Commerce

Mietartikel im B2B-Shop: Geräteverleih digital abwickeln

Wie Mietartikel, Belegungskalender, Prüffristen und Mietabrechnung im B2B-Shop zusammenspielen - mit Zahlen zum Vermietmarkt und den rechtlichen Pflichten.

13 Min. Lesezeit
B2B-Commerce

Montage und Wartungsverträge im B2B-Shop verkaufen

Montage, Prüfung und Wartungsverträge als buchbare Position im B2B-Shop: Artikeltyp ohne Bestand, Preisbildung, Einsatzdaten und Übergabe ins ERP.

13 Min. Lesezeit