Formel-Gebühren: die Rechnung selbst schreiben
Stand: 23. September 2026
Mit der Gebührenart Formula schreiben Sie den Gebührenbetrag als Rechnung, etwa 0.65 * qty + 0.10 * price * qty (0,65 pro Stück plus 10 % vom Preis). Formeln nutzen Preis, EK, Menge, Gewicht und Metafeld-Werte, dazu min, max, round und if. Der Editor prüft die Formel beim Tippen, und das Feld Try it on a real product zeigt das Ergebnis für ein echtes Produkt Ihres Shops, bevor Sie speichern.
Einrichten
- In der Gebühr Fee type auf Formula stellen.
- Zuerst Per product fee oder Cart fee wählen: Der Umfang bestimmt, welche Variablen verfügbar sind.
- Unter Start from eine Vorlage wählen oder selbst tippen. Die Chips unter Click to insert: fügen Variablen und Funktionen ein; die Metafeld-Auswahl fügt
mf(...)oderpmf(...)mit einem Key aus Ihrem Shop ein. - Unter Try it on a real product auf Choose product klicken und eine Menge setzen. Angezeigt werden die Gebühr und der Wert jeder verwendeten Variable.
- Bedingungen ergänzen und veröffentlichen.
Formeln schreiben Dezimalzahlen mit Punkt: 0.65, nicht 0,65.
Pro Produkt oder Warenkorb: so läuft eine Formel
- Produktgebühr: Die Formel läuft einmal für jedes Produkt, das Ihre Bedingungen erfüllt. Jedes Ergebnis wird auf Cent gerundet, die Ergebnisse ergeben eine Gebührenposition. Ein negatives Ergebnis zählt für dieses Produkt als 0.
- Warenkorbgebühr: Die Formel läuft einmal für den ganzen Warenkorb. Das Ergebnis wird auf Cent gerundet; ein negatives Ergebnis heißt keine Gebühr.
Variablen einer Produkt-Formel
| Variable | Bedeutung |
|---|---|
price | Stückpreis des Produkts nach Rabatten, in Ihrer Shopwährung |
line_total | Positionssumme (Stückpreis × qty) |
cost | Kosten pro Artikel der Variante; 0, wenn nicht gepflegt |
qty | Menge dieses Produkts im Warenkorb |
weight_kg, weight_g, weight_oz, weight_lb | Gewicht EINES Stücks in dieser Einheit; 0 ohne Variantengewicht |
mf("namespace.key") | Eine Zahl aus einem Varianten-Metafeld; 0, wenn sie fehlt |
pmf("namespace.key") | Eine Zahl aus einem Produkt-Metafeld; 0, wenn sie fehlt |
Variablen einer Warenkorb-Formel
| Variable | Bedeutung |
|---|---|
subtotal | Zwischensumme (rabattierte Preise, ohne Gebührenpositionen) |
subtotal_cost | Summe aus Kosten pro Artikel × qty über den Warenkorb |
cart_qty | Gesamtmenge im Warenkorb (ohne Gebührenpositionen) |
cart_weight_kg, cart_weight_g, cart_weight_oz, cart_weight_lb | Gesamtgewicht des Warenkorbs in dieser Einheit |
sum_mf("namespace.key") | Varianten-Metafeld × qty, über den Warenkorb summiert |
sum_pmf("namespace.key") | Produkt-Metafeld × qty, über den Warenkorb summiert |
Funktionen und Operatoren
| Funktion oder Operator | Wirkung |
|---|---|
min(a, b, ...) | Der kleinste Wert |
max(a, b, ...) | Der größte Wert |
round(x), round(x, decimals) | Rundet auf eine ganze Zahl oder auf die angegebenen Nachkommastellen |
ceil(x), floor(x) | Rundet auf die nächste ganze Zahl auf oder ab |
abs(x) | Betrag (Absolutwert) |
if(condition, value_if_true, value_if_false) | Wählt zwischen zwei Werten, etwa if(qty >= 10, 0.50, 0.65) |
+ - * / und Klammern | Grundrechenarten |
< <= > >= == != | Vergleiche, innerhalb von if() |
Acht durchgerechnete Beispiele
| Ziel | Formel | Umfang | Beispiel |
|---|---|---|---|
| Fest pro Stück plus Prozent vom Preis | 0.65 * qty + 0.10 * price * qty | Produkt | Preis 5,00, 10 Stück: 6,50 + 5,00 = 11,50 |
| Der höhere Wert: fest pro Stück oder % vom Preis | max(0.65 * qty, 0.02 * price * qty) | Produkt | Preis 40,00, 2 Stück: max(1,30; 1,60) = 1,60; Preis 5,00: 1,30 |
| Niedrigerer Satz ab einer Menge | if(qty >= 10, 0.50, 0.65) * qty | Produkt | 12 Stück: 6,00; 4 Stück: 2,60 |
| Satz pro Beutel aus einem Varianten-Metafeld | 0.05 * mf("custom.pouches_per_can") * qty | Produkt | 20 Beutel pro Dose, 3 Dosen: 3,00 |
| Prozent vom Großhandelspreis aus einem Produkt-Metafeld | 0.40 * pmf("custom.wholesale_price") * qty | Produkt | Großhandel 2,00, 3 Stück: 2,40 |
| Pro angefangenem Kilogramm | 1.50 * ceil(weight_kg) * qty | Produkt | 2,3 kg zählt als 3 kg: 4,50 pro Stück, 2 Stück: 9,00 |
| Prozent der Zwischensumme mit Mindestbetrag | max(2, 0.03 * subtotal) | Warenkorb | Zwischensumme 40,00: 2,00; 150,00: 4,50 |
| Staffel nach Warenkorbgewicht | if(cart_weight_kg >= 50, 0.50 * cart_weight_kg, if(cart_weight_kg >= 20, 5, 0)) | Warenkorb | 60 kg: 30,00; 25 kg: 5,00; 10 kg: keine Gebühr |
Die Vorlagen im Editor bieten weitere Startpunkte, etwa Percentage of cost per item (0.40 * cost * qty), Rate per ounce (0.50 * weight_oz * qty) und Tiered by subtotal (if(subtotal >= 100, 5, 9.90)).
Eine Formel vor dem Speichern prüfen
- Prüfung beim Tippen. Der Editor prüft die Formel laufend und erklärt Fehler in verständlicher Sprache (auf Englisch), mit Zeigen auf die Fehlerstelle. Eine Produkt-Variable in einer Warenkorb-Formel (oder umgekehrt) wird gemeldet.
- Try it on a real product. Ein Produkt Ihres Shops und eine Menge wählen; angezeigt werden die Gebühr und jeder Variablenwert, sodass ein fehlendes Gewicht oder Metafeld sofort auffällt.
- Metafeld-Keys. Die Metafeld-Auswahl bietet die Definitionen Ihres Shops an. Passt ein getippter Key zu keiner Definition, erscheint ein dezenter Hinweis; Speichern wird nie blockiert.
Grenzen und Regeln
- Eine Formel darf bis zu 400 Zeichen lang sein.
- Wie jede Gebühr braucht eine Formel-Gebühr mindestens eine Bedingung. Für eine Warenkorbgebühr auf jede Bestellung: Total Quantity in the cart ist größer oder gleich 1.
- Ergebnisse werden auf Cent gerundet. Ein negatives Ergebnis heißt keine Gebühr (pro Produkt: 0 für dieses Produkt).
- Eine Rechnung, die nicht aufgeht, etwa eine Division durch null, ergibt keine Gebühr.
- Fee limits (optional) gelten für das Ergebnis der Formel, bei einer Produktgebühr für die Summe. Grenzen lassen sich auch in die Formel schreiben:
max(2, 0.03 * subtotal). - Metafelder brauchen Zahlen (Zahl, Geldbetrag oder Einheitentyp wie Gewicht); leere oder Textwerte zählen als 0. Siehe Metafelder in FlexiFees.
Verwandt
- Alle Gebührenarten · Metafelder in FlexiFees
- Mindermengenzuschlag · Schwergut-Zuschlag · Nikotin- und Vape-Abgaben (USA)
Häufige Fragen
Kann ich Festbetrag und Prozent in einer Gebühr kombinieren?
Ja. Eine Formel wie 0.65 * qty + 0.10 * price * qty berechnet beides in einer Position. Sollen die Teile getrennt erscheinen, legen Sie zwei Gebühren an.
Kann eine Formel Metafelder nutzen?
Ja. In einer Produkt-Formel liest mf("namespace.key") ein Varianten-Metafeld und pmf("namespace.key") ein Produkt-Metafeld; in einer Warenkorb-Formel summieren sum_mf und sum_pmf über den Warenkorb. Fehlende Werte zählen als 0.
Was passiert bei einem negativen Ergebnis?
Ein negatives Ergebnis heißt keine Gebühr. In einer Produkt-Formel zählt es für dieses Produkt als 0.
Wie lang darf eine Formel sein?
Bis zu 400 Zeichen.