Zum Hauptinhalt springen
Der Endbetrag einer Bestellung entsteht aus mehreren Schichten. Zuunterst liegt die Frage, ob die Preise Netto- oder Bruttopreise sind und welcher Mehrwertsteuersatz für welches Produkt und welches Lieferland gilt. Darüber liegt die Darstellung, also Nachkommastellen, Trennzeichen und Währung. Ganz oben liegen die Beträge, die etwas abziehen oder hinzufügen, von Gutscheinen über Bonuspunkte bis zur klimaneutralen Produktion. Diese Seite folgt denselben Schichten. Erst die Mehrwertsteuer, dann die Währung und die Preisformatierung, dann die Abschläge und Zuschläge. Referenz: Shopkonfiguration shop.config, Übersicht aller Abschnitte

VAT

Legt fest, wie die Mehrwertsteuer behandelt wird. Das ist der zentrale Abschnitt für alle Steuerfragen im Shop.

Netto oder Brutto

Ein im Kundenkonto hinterlegter Preistyp überschreibt diese Einstellung für den angemeldeten Käufer. Ein Shop kann dadurch für Geschäftskunden ein Nettoshop und für Privatkunden ein Bruttoshop sein.

Texte in den Bestelldaten

Es muss mindestens einer der drei Namenstexte gefüllt sein. Sind NameGross-Txt und NameNet-Txt leer, muss zwingend Name-Txt gefüllt sein. Andernfalls findet gar keine Mehrwertsteuerberechnung statt.

Mehrwertsteuerindex für Kosten

Produkte tragen keinen festen Steuersatz, sondern einen Index zwischen 1 und 10. Für alles, was kein Produkt ist, legt dieser Abschnitt fest, welcher Index gilt und ob er fest steht oder sich aus dem Warenkorb ergibt. static bedeutet, dass der angegebene Index verwendet wird. dynamic bedeutet, dass der Mehrwertsteuersatz mit der höchsten Summe im Warenkorb den Satz bestimmt.
Bei dynamic darf der zugehörige Index-Parameter keinen Wert enthalten.
Zwei Eigenheiten der Auswertung sind dabei zu beachten.Fehlt DefaultVATRate vollständig, verwendet der Kernel den Wert aus DeliveryVATRate als Standardindex. Ein leerer DefaultVATRate ergibt dagegen 1.Ein Index über dem Maximum wird stillschweigend auf das Maximum gesetzt, der Wert 0 wird zu 1. Eine Fehlermeldung erscheint nicht.
Für Geschenkverpackungen, Bonuspunkte, Gutscheine, Zuschüsse und die klimaneutrale Produktion gelten eigene VATType-Parameter in deren jeweiligen Abschnitten.

Länderabhängige Steuerpflicht

In der Regel sind das jeweils alle Länder des EU-Gemeinschaftsgebiets.
Fehlt TaxCountries oder ist er leer, erfolgt keine länderabhängige Steuererhebung. Die Mehrwertsteuer wird dann für alle Länder erhoben.Fehlt TaxIDCountries oder ist er leer, erfolgt keine Steuerbefreiung über die USt-IdNr.
Der frühere Parametername Countries wird weiterhin als Rückfallebene gelesen, wenn TaxCountries fehlt oder leer ist.

Steuerbefreiung über die Lieferadresse

Normalerweise entscheidet die USt-IdNr. der Rechnungsadresse über die Befreiung. Die folgenden beiden Parameter verlagern das auf die Lieferadresse. Der Wert test greift nur im allgemeinen Testmodus des Shops. Im Produktivbetrieb wird dann die USt-IdNr. der Rechnungsadresse verwendet.

Herkunft der Steuersätze

Standard liest die Steuersätze aus den VATRates-Abschnitten dieser shop.config. ByDelivCountry-Managed nimmt sie aus der globalen WEBSALE-Mehrwertsteuersatz-Datei. ByDelivCountry-Individual nimmt sie aus einer eigenen Datei, die dann in VATRateDefinition-ByDelivCountry-DefinitionFile stehen muss.
VATRateDefinition-TestMode greift nur, wenn der Shop tatsächlich im Testmodus läuft. In diesem Fall wird zusätzlich die Datei aus VATRateDefinition-ByDelivCountry-TestDefinitionFile statt der produktiven Datei verwendet.Ist VATRateDefinition-ByDelivCountry-ISOForVATDiscount leer, verwendet der Kernel den Wert aus VATRateDefinition-ByDelivCountry-StandardISO.

Nicht dokumentierte Parameter

Der Kernel liest in diesem Abschnitt vier weitere Parameter.
Diese Parameter greifen in die Steuerberechnung ein. Setzen Sie sie nur nach Abstimmung mit der WEBSALE AG. Der Freigabestatus ist noch zu klären.

VATRates

Ordnet jedem Mehrwertsteuerindex einen konkreten Satz zu. Produkte tragen nur den Index, nicht den Satz. Ändert sich die gesetzliche Mehrwertsteuer, passen Sie damit nur diesen einen Abschnitt an statt jedes einzelne Produkt.
Diese Methode ist veraltet, wird aber weiterhin unterstützt. WEBSALE empfiehlt stattdessen die globale WEBSALE-Mehrwertsteuersatz-Datei oder eine individuelle Datei, beides über VATRateDefinition-Mode im Abschnitt VAT.
Die VATRates-Abschnitte werden nur gelesen, wenn VATRateDefinition-Mode auf Standard steht. In den beiden anderen Modi bleiben sie wirkungslos.
Zusätzlich zu VATRates dürfen Sie entweder länderabhängige oder datumsabhängige Abschnitte verwenden, nie beides und keine Kombination daraus. Für eine zeitgesteuerte Umstellung in bestimmten Ländern verwenden Sie die Kampagnensteuerung.

Länderabhängige Steuersätze

Für jedes Lieferland lässt sich ein eigener Abschnitt anlegen, dessen Name auf den 3-stelligen ISO-Code endet.
Wählt der Käufer ein Lieferland aus, sucht der Shop zuerst nach dem passenden länderabhängigen Abschnitt. Wird er gefunden, gelten dessen Werte. Wird er nicht gefunden, gelten die Werte aus VATRates.
Der Abschnitt VATRates ohne Zusatz ist immer erforderlich. Länder ohne abweichende Sätze brauchen keinen eigenen Abschnitt.Welches Lieferland gilt, hängt vom Bestellweg ab. Im normalen Bestellprozess ist es das vom Käufer gewählte Lieferland. Bei PayPal Express Checkout, Klarna Express Checkout und PayPal Checkout liefert der jeweilige Dienst das Lieferland.

Datumsabhängige Steuersätze

Für einen Stichtag lässt sich ein Abschnitt anlegen, dessen Name auf das Datum im Format JJJJMMTT endet. Die Zahl steht für den letzten Tag, an dem diese Sätze gelten.
Die Reihenfolge entscheidet, ähnlich wie beim Überschreiben einer CSS-Klasse.Der Abschnitt VATRates ohne Datum muss immer zuerst stehen und die Sätze enthalten, die nach allen Stichtagen wieder gelten.Danach folgen die datierten Abschnitte, der späteste Stichtag zuerst.

Currency-Txt

Legt die Basiswährung des Shops fest. Das ist die Währung, in der die Produktpreise hinterlegt sind.

AlternativeCurrency

Zeigt Preise zusätzlich in anderen Währungen an. Die Umrechnungskurse hält die WEBSALE AG aktuell, sofern Sie keine eigene Datei hinterlegen.
Die Werte von SelectBoxMode entsprechen den Parameternamen der +Entry-Abschnitte. Je angebotener Währung ein Unterabschnitt +Entry.

PriceFormat

Legt fest, wie Preise dargestellt werden. Alle Einstellungen sind optional.
ZeroIntegralPart wirkt nur auf das Tag PR-IPart(), ZeroFractionalPart nur auf PR-FPart(). Mit ZeroIntegralPart = - wird aus 0,95 die Ausgabe -,95. Mit ZeroFractionalPart = -- wird aus 2,00 die Ausgabe 2,--. Die beiden Join-Parameter wirken nur auf Elemente, die WEBSALE V8s automatisch erzeugt, beispielsweise das Bestelldatenformat. Haben Sie die Währung in Templates von Hand positioniert, müssen Sie diese Templates zusätzlich anpassen.
Der Shop übergibt Preise an technische Systeme unformatiert, aber nur an Systeme, die er kennt. In Templates eingebundene externe Systeme, beispielsweise per Zählpixel oder JavaScript, erhalten die Tags BASKET-ValueOfGoods, BASKET-OrderTotal und BASKET-SubTotalNet in Ihrer eingestellten Formatierung.Klären Sie vorab, ob diese Systeme Ihre Dezimal- und Tausendertrennzeichen korrekt einlesen. Falls nicht, müssen Sie im Shop bei den Standards bleiben, also Punkt als Dezimaltrennzeichen und kein Tausendertrennzeichen.

Voucher-Txt

Aktiviert das Einlösen von Gutscheinen und hält die zugehörigen Texte.

Grundeinstellung

NewCustomerDefinition = NoOrder lässt den Gutschein zu, solange der Käufer noch keine Bestellung abgeschlossen hat, auch wenn bereits eine Kundennummer existiert. NoCustomerNumber verlangt, dass noch keine Kundennummer vorhanden ist. VoucherInputLocation ist eine kommaseparierte Liste, kein Einzelwert. Zulässig sind Basket, PlaceOrder und PayDeliv. Der Wert PlaceOrderAndBasket existiert weiterhin aus Kompatibilitätsgründen und entspricht Basket,PlaceOrder. Passt kein Eintrag, wird Basket gesetzt.

Mehrere Gutscheine

Bei zwei Gutscheinen mit Mindestbestellwerten von 20 und 30 Euro verlangt UseSum einen Warenkorb über 50 Euro, UseMax nur über 30 Euro. UseRoundedPercentalMultiVoucherDiscount = yes rundet jeden Gutschein einzeln und addiert danach. Mit no wird erst addiert und dann gerundet. Der Wert test greift nur im allgemeinen Testmodus des Shops. Ein Wechsel von yes auf no wirkt außerdem erst, wenn in der laufenden Sitzung noch kein zweiter Gutschein eingegeben wurde.

META-Gutscheine

Ein META-Gutschein ist ein Sammelcode, der mehrere einzelne Gutscheincodes zusammenfasst. Gibt der Käufer den META-Code ein, werden alle zugehörigen Sub-Gutscheine eingelöst. Es kann immer nur ein META-Gutschein gleichzeitig eingelöst sein.

Anwendbarkeit auf den Warenkorb

Der Parameter heißt im Kernel SpecialSetting1-Allow, also Setting im Singular. Unter dem falschen Namen bleibt der Parameter wirkungslos, ohne dass eine Meldung erscheint.
Bei UnresolvedVoucherProducts-Allow = yes kann ein Basisprodukt ohne vorausgewählte Variante als Gutscheinprodukt hinterlegt werden. Der Käufer wählt die Variante dann im Warenkorb.

Texte

BonusPoints

Konfiguriert das händlereigene Bonuspunktesystem.
Ein AmountPerPoint von 0 oder ein fehlender Wert ergibt stillschweigend 1.

Texte in den Bestelldaten

PriceTypeNet-UseBonusPointsOnTotalNetSum reduziert zusätzlich die Bemessungsgrundlage der Mehrwertsteuer um die eingelöste Summe. Zwei Einschränkungen sind zu beachten.Produkte lassen sich dann nicht mehr vom Einlösen ausnehmen, die entsprechende Produkteigenschaft wird ignoriert.Liegen Produkte mit verschiedenen Steuersätzen im Warenkorb und ist die eingelöste Summe kleiner als die Netto-Gesamtsumme, wird die Bemessungsgrundlage vom ersten Steuerindex an aufsteigend reduziert.

CustomerSubvention

Erlaubt es, jedem Kunden einen Zuschuss zu gewähren.

BuyXPayY

Definiert eine Aktion nach dem Muster “Nimm 3, zahl 2”. WEBSALE V8s unterstützt derzeit nur eine Aktion, der Unterabschnitt +Entry darf deshalb nur einmal vorkommen.
BuyX muss größer sein als PayY, und PayY muss größer als 0 sein. Ist eine der beiden Bedingungen verletzt, wird der gesamte Eintrag stillschweigend verworfen.Dasselbe gilt für einen Eintrag ohne Allow = yes oder ohne ID.Die beiden Datumsangaben werden nur ausgewertet, wenn sie exakt zehn Zeichen lang sind. Eine Schreibweise wie 1.11.2026 wird ignoriert, die Aktion gilt dann ohne diese Grenze.Gemeint ist BuyX.

ClimateNeutral

Konfiguriert die Dienstleistung klimaneutrale Produktion über ClimatePartner.

Berechnung

Den Wert für CO2Factor erhalten Sie von ClimatePartner.
Die Staffel bemisst sich an den Zertifikatskosten des externen Anbieters, nicht am Warenwert. Zertifikatskosten plus Aufschlag ergeben die Gesamtkosten. Alle Beträge sind Nettopreise. Es werden bis zu 50 Staffelungen unterstützt. Hier ist durchgehend von Zertifikatskosten die Rede.

Mehrwertsteuer

Lässt sich die Mehrwertsteuer nicht gültig berechnen, wird die klimaneutrale Produktion gar nicht angeboten.

Zertifikat

In CertificateClient können Sie alle Tags der Rechnungsadresse verwenden, beispielsweise so:
In CertificateOrderDescr steht das lokale Tag OrderNumber zur Verfügung. Bei CertificateRetrieval-Mode = PerBasketPosition zusätzlich ProductNumber und ProductName.
Scheitert die Bestellung des Zertifikats bei ClimatePartner, ist die Bestellung im Shop bereits abgeschlossen und das Zertifikat bezahlt. Eine manuelle Nachbearbeitung bei ClimatePartner ist dann erforderlich. Hinterlegen Sie deshalb unbedingt eine NotificationAddress.

Darstellung der Emissionsmenge

BestPrice-Order-Modul

Das BestPrice-Order-Modul verteilt sich auf vier Abschnitte. Einer für die Templates, einer für die Meldungen und zwei für E-Mails.

BestPrice

PaymentCode ist fest auf 6 zu setzen und darf nicht geändert werden.

BestPrice-Txt

Die Meldungen des Moduls.

BestPrice-PreorderMail

Bestätigungs-E-Mail an den Käufer. Es handelt sich um die Absenderadresse. Der Empfänger ist der Käufer und ergibt sich aus der Bestellung.

BestPrice-OrderErrorMail

E-Mail an den Shopadministrator, wenn die finale Bestellgenerierung scheitert.