← Alle Themen · Einstellungen

In diesem Artikel 6 Kapitel
  1. Liste der Formeln
  2. Formel anlegen / bearbeiten
  3. Verfügbare Variablen
  4. Twig-Syntax
  5. Sandbox-Test
  6. Empfehlungen

Deckungsbeitrag · Formeln

Zurück zu Einstellungen

Auf der Seite Einstellungen → Deckungsbeitrag finden Sie im Tab Formeln die Berechnungsformeln, mit denen der Deckungsbeitrag pro Auftrag ermittelt wird (siehe Aufträge → Deckungsbeitrag).

Die Formeln werden in Twig geschrieben → der gleichen Template-Sprache, die Sie schon aus den Ticket-Vorlagen kennen (CRM → Tickets · Vorlagen). Sie können verschachtelte if/else-Bedingungen schreiben, Werte aus den Kennzahlen referenzieren und die Auftragsdaten direkt verwenden.


Liste der Formeln

Die Tabelle zeigt alle hinterlegten Formeln mit Mandant, Markt, Beschreibung und Gültigkeitsbereich. Pro Zeile können Sie:

  • Stift → Formel bearbeiten
  • Papierkorb → Formel löschen (Sicherheitsabfrage)

Formel anlegen / bearbeiten

Klicken Sie auf + Neue Formel oder das Stift-Symbol einer bestehenden Zeile. Ein großes Fenster öffnet sich. Links der Editor, rechts die Hilfe-Sidebar mit allen verfügbaren Variablen und KPIs.

Eingabefelder

FeldBeschreibungWerte-Herkunft
Mandantglobal (gilt für alle) oder ein konkreter MandantMandanten
Marktalle (gilt für alle) oder ein konkreter MarktplatzAnbindungen
Gültig von / bisDatumsbereich, in dem die Formel angewendet werden sollDatumsauswahl
BeschreibungKlartext zur Wiedererkennung (z.B. „Standardformel ohne Peak")Freitext
Formel (Twig)Der eigentliche Formelcode → siehe untenCode

Auswahl der passenden Formel

Pro Auftrag wird die spezifischste Formel ausgewählt, die zum Erstelldatum des Auftrags gültig ist:

  1. Mandant + Markt + Datum (höchste Priorität)
  2. Mandant + Datum
  3. Markt + Datum
  4. Global + Datum

Existiert keine passende Formel, wird der Auftrag in der Auswertung mit einem Fehler-Badge markiert.


Verfügbare Variablen

Diese Variablen stehen in jeder Formel zur Verfügung → konkret befüllt aus dem Auftrag, der berechnet wird:

Verkaufs- und Einkaufspreise

VariableTypBeschreibung
vknettoZahl (€)Verkaufspreis netto nach Abzug von Gutschriften
vkbruttoZahl (€)Verkaufspreis brutto nach Abzug von Gutschriften
ektotalZahl (€)Einkaufspreis-Summe nach Abzug von Retouren
vknetto_originalZahl (€)Ursprünglicher VK Netto vor Gutschriften
vkbrutto_originalZahl (€)Ursprünglicher VK Brutto vor Gutschriften
ektotal_originalZahl (€)Ursprünglicher EK vor Retouren
gutschrift_nettoZahl (€)Summe der erteilten Gutschriften (Netto)
gutschrift_bruttoZahl (€)Summe der erteilten Gutschriften (Brutto)
retoure_ekZahl (€)Anteilige EK-Summe aller retournierten Positionen

Auftragsdaten

VariableTypBeschreibung
existiert_retoureBooltrue, wenn mindestens eine Retoure existiert
existiert_gutschriftBooltrue, wenn mindestens eine Gutschrift existiert
versanddienstleisterStringCarrier der ersten Sendung (z.B. DHL, DPD)
versanddatumUnix-TimestampDatum der ersten Sendung
versandgewicht_gZahl (Gramm)Gewicht der ersten Sendung in Gramm
erstelldatumUnix-TimestampAuftrags-Erstelldatum
marktplatzStringHerkunft (z.B. amazon, ebay) → siehe Anbindungen
mandantZahl (ID)Mandanten-ID → siehe Mandanten
mandant_nameStringMandantenname
lieferlandString (ISO-2)Empfänger-Land aus der Versandadresse, z.B. DE, AT, FR. Leer wenn keine Versandadresse vorhanden.

Positionen

positionen ist eine Liste mit allen Auftragspositionen. Pro Position:

SchlüsselBeschreibung
skuSKU
nameArtikelname
qtyMenge
vknettoPositions-Summe Netto
vkbruttoPositions-Summe Brutto
ekPositions-Summe EK
ek_unitEK pro Einheit
preis_unitStückpreis Netto

Verwendung in Twig:

{% set einzelposten = 0 %}
{% for p in positionen %}
  {% set einzelposten = einzelposten + p.qty * 0.05 %}
{% endfor %}
{{ vknetto - ektotal - einzelposten }}

Kennzahlen

Jede in Einstellungen → Deckungsbeitrag · Kennzahlen hinterlegte Kennzahl steht unter ihrem key als Top-Level-Variable zur Verfügung. Beispiel: ein KPI mit Key peakzuschlag und Wert 0.30 ist in der Formel als peakzuschlag (= 0.30) verfügbar.

Hinweis zum Typ: Prozent-KPIs werden automatisch durch 100 geteilt, bevor sie in den Twig-Kontext gelangen. Ein KPI mit Typ percent und Wert 15 wird als 0.15 injiziert → damit lässt sich direkt multiplizieren (z.B. vknetto * marketgebuehr).


Twig-Syntax

Bedingungen

{% if vknetto <= 10 %}
  {{ vknetto * 0.5 - ektotal }}
{% elseif vknetto <= 50 %}
  {{ vknetto * 0.6 - ektotal - peakzuschlag }}
{% else %}
  {{ vknetto * 0.7 - ektotal - peakzuschlag * 1.5 }}
{% endif %}

Boolesche Auftragsdaten nutzen

{% if existiert_retoure and existiert_gutschrift %}
  {{ vknetto - ektotal - retourenlabel }}
{% elseif existiert_retoure %}
  {{ vknetto_original - ektotal - retourenlabel * 0.5 }}
{% else %}
  {{ vknetto - ektotal }}
{% endif %}

Zugriff auf einzelne Positionen

{{ vknetto - ektotal - positionen|length * verpackung }}

(verpackung ist hier ein vom Anwender hinterlegter KPI → z.B. 0,15 € pro Position.)

Erlaubte Filter

abs, round, default, first, last, length, number_format, min, max, slice, join, split, upper, lower, date

Erlaubte Funktionen

range, min, max

Sicherheitshinweis: Die Twig-Sandbox erlaubt keine Datei-, Datenbank- oder Funktionsaufrufe außerhalb der oben gelisteten Filter/Funktionen. Sie können nur mit den bereitgestellten Variablen rechnen.


Sandbox-Test

Im unteren Bereich des Bearbeitungsdialogs befindet sich ein Sandbox-Test:

  1. Geben Sie eine echte Auftrags-ID ein.
  2. Klicken Sie auf Ausführen.
  3. Sie sehen:
  4. Das berechnete Ergebnis in Euro
  5. Den rohen Render-Output der Formel (vor Zahlenkonvertierung)
  6. Alle Kontext-Variablen mit konkreten Werten für diesen Auftrag
  7. Alle aktiven KPIs mit Quelle (global / Mandant / Markt)

So können Sie Formeln vor dem Speichern in Ruhe gegen reale Daten prüfen.


Empfehlungen

  • Schreiben Sie immer eine globale Default-Formel (Mandant + Markt = global), damit kein Auftrag ohne Formel bleibt.
  • Halten Sie Mandanten- oder Markt-spezifische Formeln knapp → sie überschreiben die globale Formel komplett.
  • Versionieren Sie über Gültigkeitsbereiche. Wenn sich die Kalkulationslogik ändert, legen Sie eine neue Formel mit Gültig von = morgen an und setzen bei der alten Gültig bis = heute. So bleibt die historische Berechnung nachvollziehbar.
  • Bei verschachtelten Bedingungen lohnt es sich, eine Beschreibung wie „v3 → ab 2026-06 mit Peak" zu hinterlegen, damit Sie später wissen, was der Zweck der Formel war.