Berechnete Spalten in Produktfeeds erstellen (ohne Ihren Katalog zu ändern)

Erstellen Sie kalkulierte Spalten in Ihrem easySales Dynamic Feed — Mindestpreise, Preise in zweiter Währung, verfügbaren Bestand — mithilfe eines Merkmals, einer Spalte und einer Feed-Regel-Formel. Ihr Katalog bleibt unangetastet.

Früher oder später stößt jeder Händler, der einen Dynamic Feed betreibt, an dieselbe Grenze: Der Partner möchte eine Spalte, die es bei den Produkten nicht gibt. Ein Repricing-Partner möchte eine Untergrenze min_price. Ein B2B-Distributor möchte zusätzlich zum lokalen Preis ein eur_price. Ein 3PL möchte available_stock — physischer Bestand abzüglich dessen, was in offenen Bestellungen bereits zugesagt ist. Die Spalten gibt es im Katalog nicht. Die Werte lohnen sich nicht, an jedem Produkt gespeichert zu werden. Aber der Partner akzeptiert die Datei ohne sie nicht.

Genau dafür sind berechnete Spalten im Dynamic Feed von easySales da. Sie definieren die Spalte im Feed, schreiben eine kleine Formel, und easySales berechnet den Wert bei jeder Neugenerierung. Ihr Produktkatalog bleibt sauber. An den Produkten selbst wird nichts gespeichert.

Warum Händler berechnete Spalten erstellen

Eine „berechnete Spalte“ ist eine Spalte, deren Wert in dem Moment berechnet wird, in dem der Feed generiert wird — nirgends gespeichert. Sie existiert für die Datei, die Sie veröffentlichen, und nur für diese Datei.

Drei Muster treten immer wieder auf:

  • Unter- und Obergrenzen. Ein Repricing-Partner möchte den niedrigsten Preis wissen, den Sie akzeptieren. Sie möchten diesen nicht als Produktattribut speichern (er ändert sich je nach Kanal, Kampagne, Margenpolitik). Eine Formel leitet ihn bei jedem Export aus Einkaufspreis + Marge ab.
  • Feeds mit Fremdwährung. Ein Partner außerhalb Ihres Heimatmarkts möchte Preise in seiner Währung. Eine parallele Preisspalte pro Markt zu speichern, skaliert nicht; das Umrechnen im laufenden Betrieb schon.
  • Berechnete Verfügbarkeit. Ein Partner muss sehen, was tatsächlich bestellbar ist, nicht was im Regal liegt. stock - reserved_stock ist nur eine Spaltensubtraktion entfernt.

Das gemeinsame Merkmal: Der Wert ist eine Funktion anderer Produktwerte, die bei jeder Neugenerierung des Feeds neu berechnet wird. Ihn an jedem Produkt zu speichern würde bedeuten, jedes Produkt jedes Mal zu aktualisieren, wenn sich die Eingabewerte ändern — ein Pflegeaufwand, den Sie nicht brauchen.

Wie eine berechnete Spalte in easySales funktioniert

Drei Bausteine, jeweils fünf Sekunden Arbeit:

  1. Ein Merkmal — der Slot, in dem der Wert liegt. Sie erstellen es einmal, geben ihm einen Namen und lassen es bei allen Produkten leer.
  2. Eine Dynamic-Feed-Spalte — die Verdrahtung, die das Merkmal in die Ausgabedatei bringt.
  3. Eine Feed-Regel mit einer Formel-Aktion — die Berechnung, die den Slot zum Exportzeitpunkt füllt.
Diagramm, das die drei Bausteine einer berechneten Feed-Spalte in easySales zeigt: ein Merkmal als Slot, eine Dynamic-Feed-Spalte, die es mit der Ausgabe verdrahtet, und eine Feed-Regel-Formel, die den Slot zum Render-Zeitpunkt füllt.
Drei Bausteine, jeder mit einer klar definierten Aufgabe: ein Merkmal als Slot, eine Dynamic-Feed-Spalte als Verdrahtung, eine Feed-Regel-Formel als Wert.

Der Slot bleibt in Ihrem Katalog leer. Die Regel füllt ihn während des Exports. Die Spalte gibt den gefüllten Wert in der Datei aus. Drei kleine Bausteine, jeder mit einer klar definierten Aufgabe. Regel hinzufügen, neu generieren, der Wert erscheint. Regel entfernen, neu generieren, der Wert ist weg — ohne dass sich jemals ein Produkt ändert.

Schritt 1: Das Merkmal erstellen

Öffnen Sie Katalog → Merkmale und erstellen Sie ein neues Merkmal. Geben Sie ihm einen klaren Namen — der, den Ihr Partner in der Datei erwartet, ist eine gute Wahl.

Beispiele: Minimum price, EUR price, Available stock.

Sie müssen an keinem Produkt Werte eintragen. Der ganze Sinn besteht darin, dass dieses Merkmal ein Ziel für eine Formel ist, kein echtes Produktattribut. Speichern Sie es und machen Sie weiter.

Screenshot der Seite Katalog → Merkmale in easySales mit einem neu erstellten Merkmal namens Minimum price, noch ohne Produktwerte.
Erstellen Sie das Merkmal, geben Sie ihm einen klaren Namen, lassen Sie es leer. Die Formel füllt es.

Ein paar Tipps zur Namensgebung:

  • Wählen Sie Namen, die Sie in sechs Monaten wiedererkennen. Minimum sale price (RO) ist besser als min_price_ro_v2.
  • Wenn derselbe Wert in mehreren Feeds verwendet wird, nutzen Sie ein einziges Merkmal über alle hinweg. Berechnete Werte sind pro Feed gültig (die Regel liegt am Feed), sodass dasselbe Merkmal in verschiedenen Feeds unterschiedliche berechnete Werte halten kann, ohne dass es zu Kollisionen kommt.
  • Vermeiden Sie Merkmale, an denen bereits Produktdaten hängen. Wenn Voltage ein echtes Katalogfeld ist, verwenden Sie es nicht als berechneten Slot — wählen Sie einen anderen Namen. Berechnete Werte überschreiben den vorhandenen Pivot-Eintrag im Speicher; Sie würden die echten Werte für die Dauer der Feed-Generierung verlieren.

Schritt 2: Sie zu Ihrem Dynamic Feed hinzufügen

Öffnen Sie den Dynamic Feed. Fügen Sie im Spalten-Builder eine neue Zeile hinzu, wählen Sie Merkmal aus dem Spalten-Dropdown und wählen Sie dann das soeben erstellte Merkmal aus dem verketteten Selektor.

Die Spalte wird in der Ausgabedatei gerendert. Der Zellwert stammt aus dem, was die Regel für jedes Produkt berechnet.

Screenshot des Dynamic-Feed-Spalten-Builders in easySales mit einer als Merkmal typisierten Spalte für Minimum price, Feld Umbenennen auf min_price gesetzt.
Fügen Sie das Merkmal als Spalte hinzu und verwenden Sie dann das Feld Umbenennen, um dem zu entsprechen, was der Partner in der Datei erwartet.

Wenn Ihr Partner für diese Spalte einen bestimmten Namen erwartet — min_price statt Minimum price, price_eur statt EUR price — verwenden Sie das Feld Umbenennen neben der Spalte. Der umbenannte Wert ist das, was als CSV-Kopfzeile / JSON-Schlüssel / XML-Elementname erscheint; alles andere in der Oberfläche bleibt so, wie Sie es für sich selbst geschrieben haben. Das Umbenennen funktioniert bei jeder Dynamic-Feed-Spalte, ob berechnet oder nicht — es ist dasselbe Feld überall dort, wo ein Partner einen anderen Namen erwartet als den, den easySales intern verwendet.

Schritt 3: Die Feed-Regel schreiben, die den Wert berechnet

Wechseln Sie zum Tab Feed-Regeln auf demselben Feed. Fügen Sie eine Regel hinzu:

  • Wenn: ALWAYS (oder eine Bedingung — siehe unten).
  • Dann: Wählen Sie das von Ihnen erstellte Merkmal als Eigenschaft, wählen Sie Formel als Operator und schreiben Sie dann die Formel.
Screenshot des Feed-Regel-Editors in easySales — Eigenschaft auf Merkmal Minimum price gesetzt, Aktion auf Formel gesetzt, Formel round(acquisition_price * 1.15, 2) eingegeben.
Eine Feed-Regel mit einem Merkmal als Ziel und einer Formel-Aktion. Merkmal auswählen, Formel schreiben, speichern.

Der Formeleditor hat eine Chip-Palette mit den Variablen, die Sie einbinden können:

  • ${product.product_sale_price}, ${product.product_full_price} — die ausgewiesenen Preise, ohne MwSt.
  • ${product.product_acquisition_price} — Ihre Kosten.
  • ${product.product_tax_rate} — der produktspezifische Steuersatz als ganze Zahl (z. B. 19, 20, 21). Teilen Sie ihn durch 100, um ihn in einen Multiplikator umzuwandeln — 1 + ${product.product_tax_rate} / 100 ergibt 1.21 für einen Satz von 21 %, was der Wert ist, mit dem Sie einen Nettopreis multiplizieren würden, um den Bruttopreis zu erhalten.
  • ${product.product_characteristic:<name>} — liest ein anderes Merkmal anhand seines Namens (Groß-/Kleinschreibung beachten). Nützlich zum Verketten: Schreiben Sie ein Merkmal mit einem Basiswert und referenzieren Sie es aus der Formel des nächsten Merkmals.
  • ${product.product_meta_field:<key>} — liest ein benutzerdefiniertes Produkt-Meta-Feld anhand seines Schlüssels.
  • ${product.product_price_group:<id>} — liest einen vertraglich vereinbarten Preisgruppen-Preis für dieses Produkt.
  • ${other.currency_rate:FROM:TO} — aktueller Wechselkurs zwischen zwei ISO-Währungscodes (z. B. USD:EUR, EUR:GBP).
  • round(<expression>, <decimals>) — rundet das Ergebnis auf eine feste Genauigkeit.

Operatoren: +, -, *, /, Klammern zur Gruppierung. Standard-Arithmetik.

Manche Spalten werden bewusst nicht als Formelvariablen bereitgestellt — stock, reserved_stock, weight und die verschiedenen Nicht-Preis-Spalten. Um einen Wert aus diesen zu berechnen, verwenden Sie die arithmetischen Aktionsoperatoren auf einer Feed-Regel (overwrite, subtract, multiply by, add) anstelle von formula. Das Rezept für Verfügbaren Bestand weiter unten zeigt das Muster.

Speichern Sie die Regel. Die nächste Neugenerierung führt sie für jedes Produkt aus, füllt das Merkmal im Speicher und gibt den Wert in der Datei aus. Der Produktkatalog wird nie angetastet — Ihre Merkmale-Seite bleibt so leer, wie Sie sie hinterlassen haben.

Wenn Sie möchten, dass die Formel nur für bestimmte Produkte gilt (eine Kategorie, Produkte mit Bestand, Produkte einer bestimmten Marke), fügen Sie auf der Wenn-Seite Bedingungen hinzu: merkmalbasiert, spaltenbasiert, kategoriebasiert — alles, was der Regel-Builder unterstützt.

Praxisbeispiele

Mindestverkaufspreis für einen Repricing-Partner

Ein Repricing-Partner braucht eine Untergrenze — den Preis, den er nicht unterschreiten sollte. Sie möchten diesen nicht an jedem Produkt speichern (er ändert sich, wenn sich Kosten oder Margenpolitik verschieben), also berechnen Sie ihn.

  • Merkmalname: Minimum price
  • Umbenennung der Ausgabespalte: min_price
  • Formel: round(${product.product_acquisition_price} * 1.15, 2) — Einkauf + 15 % Marge.

Passen Sie den Multiplikator pro Kanal an, indem Sie verschiedene Regeln in verschiedenen Feeds schreiben. Dasselbe Merkmal, verschiedene Formeln, verschiedene Ausgabedateien. Der Katalog bekommt davon nichts mit. Der Screenshot in Schritt 3 oben zeigt genau diese konfigurierte Regel.

Preis in einer zweiten Währung für einen grenzüberschreitenden Partner

Ihr Partner ist in einem anderen Markt und möchte Preise in seiner Währung. easySales verfügt über eine eingebaute Wechselkursfunktion, sodass Sie keine parallele Preisliste pflegen müssen.

  • Merkmalname: EUR price
  • Umbenennung der Ausgabespalte: price_eur
  • Formel: round(${product.product_sale_price} * ${other.currency_rate:USD:EUR}, 2) — ersetzen Sie USD:EUR durch die FROM- und TO-Währungen, die zu Ihrem Fall passen.

Wechselkurse werden automatisch täglich aktualisiert — easySales bezieht sie aus einer zentralen Kursquelle, sodass Sie keine parallele Tabelle pflegen müssen. Wenn Ihr Partner für einen vertraglich vereinbarten Zeitraum einen stabilen Kurs benötigt (statt des aktuellen), wenden Sie sich an den Support, und wir finden die richtige Einrichtung für Ihren Fall.

Screenshot des Feed-Regel-Editors in easySales — Eigenschaft auf Merkmal EUR price gesetzt, Aktion Formel, Formel sale_price * currency_rate(USD:EUR) auf 2 Dezimalstellen gerundet.
Eine berechnete Spalte in zweiter Währung: Die Formel multipliziert den Verkaufspreis mit dem aktuellen USD-zu-EUR-Kurs, gerundet auf 2 Dezimalstellen.

Verfügbarer Bestand (physisch minus reserviert)

Ein Partner sieht den Bestand, den Sie veröffentlichen; wenn es die Regalmenge ist und Sie offene Bestellungen haben, verkaufen Sie über. Die richtige Zahl zum Veröffentlichen ist der verfügbare Bestand (Available-to-Promise): physischer Bestand abzüglich dessen, was in offenen Bestellungen reserviert ist.

stock und reserved_stock werden nicht als Formelvariablen bereitgestellt, daher verwendet dieses Rezept den Operator formula gar nicht. Stattdessen verketten Sie zwei arithmetische Aktionen auf demselben Merkmal — die erste schreibt die Basis, die zweite passt sie an.

  • Merkmalname: Available stock
  • Umbenennung der Ausgabespalte: available_stock
  • Aktion 1: Ziel = Available stock, Operator = überschreiben mit, Quelle = Spalte stock. (Setzt das Merkmal auf den Bestandswert des Produkts.)
  • Aktion 2 (unter der ersten hinzugefügt, dieselbe Regel): Ziel = Available stock, Operator = subtrahieren, Wertquelle = Feld, Spalte = reserved_stock. (Subtrahiert die Spalte mit dem reservierten Bestand vom laufenden Wert.)

Zwei Aktionen, eine Regel, von oben nach unten. Die erste schreibt die Basis; die zweite passt sie an. Sie können eine dritte Aktion verketten (add / subtract gegen eine feste Zahl), wenn Ihre Fulfillment-Rechnung einen festen Sicherheitsbestand-Puffer obendrauf benötigt.

Screenshot des Feed-Regel-Editors in easySales mit zwei verketteten Aktionen auf dem Merkmal Available stock — überschreiben mit Spalte stock, dann Spalte reserved_stock subtrahieren.
Zwei verkettete Aktionen, eine Regel. Die erste schreibt die Basis; die zweite subtrahiert die reservierte Menge.

Eine beliebige Spalte bei der Ausgabe umbenennen

Das Feld Umbenennen erscheint neben jeder Spalte im Dynamic-Feed-Builder, nicht nur bei berechneten. Verwenden Sie es immer dann, wenn Ihr Partner einen anderen Namen erwartet als den internen von easySales — price statt full_price, cost statt sale_price, inventory statt stock.

Zwei Hinweise:

  • Die Umbenennung gilt für die Dateiausgabe: die CSV-Kopfzeile, den JSON-Schlüssel und den XML-Elementnamen. Die Oberfläche verwendet anderswo weiterhin die Namen von easySales, damit Sie und Ihr Team nicht den Überblick verlieren.
  • XML-Elementnamen haben strengere Regeln als CSV oder JSON. Wenn Ihre Umbenennung Leerzeichen oder Satzzeichen enthält, bereinigt easySales sie automatisch für XML — aus Min price (RON) wird min_price_ron in <min_price_ron>-Tags. CSV-Kopfzeilen und JSON-Schlüssel behalten Ihre Umbenennung wörtlich bei.

Wenn zwei Spalten auf denselben Ausgabenamen umbenannt werden, blockiert der Feed-Builder das Speichern und zeigt Ihnen, welche kollidiert. Wählen Sie einen eindeutigen Namen, und es wird gespeichert.

Wann Sie KEINE berechnete Spalte verwenden sollten

  • Echte Produktattribute. Wenn die Daten natürlich am Produkt liegen (Farbe, Größe, Voltage, EAN), verwenden Sie ein reguläres Merkmal und speichern Sie es. Berechnete Spalten sind für Werte gedacht, die nicht in den Katalog gehören.
  • Kanalspezifische Kategorie-Zuordnungen. Wenn Ihr Partner eine Google-Shopping-Kategorie-ID, einen Skroutz-Kategoriecode oder irgendetwas benötigt, das Ihre Kategorie auf seine abbildet, verwenden Sie den kanalspezifischen Feed-Builder — er ist vorab validiert und erspart Ihnen die Zuordnungsarbeit. Der Dynamic Feed ist die offene Option für Partner, für die wir keinen eigenen Builder haben. Den Einstieg zu Kanal-Feeds finden Sie unter Was ist ein Produktfeed?.
  • Statische feste Werte. Wenn jedes Produkt denselben Wert erhält (condition: new, availability: in_stock), verwenden Sie die Aktion auf Wert setzen auf einer regulären Spalte, anstatt ein Merkmal zu synthetisieren — das ist ein bewegliches Teil weniger.

Wenn Sie nicht sicher sind, ob eine Spalte berechnet, gespeichert oder fest sein sollte, kann sich der Support Ihren konkreten Fall ansehen. Die meisten „berechnet-oder-gespeichert?“-Fragen lösen sich in zwei Minuten, sobald Sie den Anwendungsfall skizzieren.

Keine Karte erforderlich
14 Tage kostenlos
Jederzeit kündbar

Erstellen Sie die Spalten, die Ihre Partner wirklich wollen

Öffnen Sie Feeds → Dynamic in easySales und liefern Sie in wenigen Minuten eine partnerfertige Datei mit berechneten Spalten. Neu hier? Testen Sie easySales 14 Tage kostenlos, keine Kreditkarte erforderlich.

Häufig gestellte Fragen

Nein. Berechnete Spalten werden im Speicher ausgewertet, während der Feed gerendert wird, und danach verworfen. Öffnen Sie die Produktseite nach der Neugenerierung des Feeds, und Sie sehen dieselben Merkmalwerte wie zuvor — im typischen Fall leer. Der Katalog ändert sich nie. Das ist so beabsichtigt: Es ermöglicht Ihnen, viele verschiedene berechnete Spalten in viele verschiedene Feeds zu veröffentlichen, ohne dass Ihre Produktdaten zum Chaos werden.

Nein. Das Merkmal ist nur ein Slot, in den die Formel zum Render-Zeitpunkt schreibt. Die meisten Setups für berechnete Spalten erstellen ein brandneues Merkmal und geben ihm an keinem Produkt jemals Werte. Wenn das Merkmal an einigen Produkten doch Werte hat und Sie eine Regel schreiben, die es überschreibt, gewinnt die Regel — für diese eine Feed-Generierung — und die ursprünglichen Werte bleiben im Katalog unverändert erhalten.

Produktfelder: sale_price, full_price, sale_price_with_tax, full_price_with_tax, acquisition_price, tax_rate, stock, reserved_stock, weight. Andere Merkmale anhand des Namens: ${product.product_characteristic:&lt;Name&gt;}. Währungsumrechnung: ${other.currency_rate:FROM:TO} gibt den aktuellen Wechselkurs zwischen zwei Währungscodes zurück. Die Funktion round() rundet einen Ausdruck auf eine angegebene Dezimalgenauigkeit. Standard-Arithmetikoperatoren (+, -, *, /) und Klammern zur Gruppierung funktionieren wie erwartet. Der Formeleditor stellt all dies als Chips zum Anklicken und Einfügen bereit, sodass Sie sich die genaue Syntax nicht merken müssen.

Die Standardfrequenz ist stündlich, und die Datei wird nur dann neu generiert, wenn Ihr Partner sie liest (sodass inaktive Feeds keine Ressourcen verschwenden). Bei jeder Neugenerierung wird die Formel erneut gegen die aktuellen Produktdaten ausgewertet — eine Preisänderung an einem Produkt fließt bei der nächsten Generierung automatisch in die berechnete Spalte ein. Für ERP-Katalogexporte können Sie den Support bitten, sie auf täglich zu reduzieren; für schnelllebige Partner-Synchronisierung kann der Support sie erhöhen.

Ja. Die Feed-Regel hat sowohl eine Wenn-Seite als auch eine Dann-Seite. Setzen Sie eine beliebige Bedingung auf die Wenn-Seite — Merkmal ist gleich X, Kategorie enthält Y, Marke ist Z, Bestand größer als 0 — und die Formel läuft nur für passende Produkte. Andere Produkte überspringen die Regel, und die berechnete Spalte erscheint für sie in der Ausgabe leer. Kombinieren Sie mehrere Regeln, um verschiedene Produktgruppen mit verschiedenen Formeln zu behandeln.

Im Dynamic-Feed-Spalten-Builder hat jede Spaltenzeile ein Feld Umbenennen neben dem Spalten-Dropdown. Geben Sie den Namen ein, den Ihr Partner erwartet („price“, „min_price“, „cost“, was auch immer), und dieser Name erscheint als CSV-Kopfzeile / JSON-Schlüssel / XML-Elementname in der generierten Datei. Das Umbenennen funktioniert bei jeder Spalte, ob berechnet oder nicht. XML-Elementnamen werden automatisch bereinigt, wenn Ihre Umbenennung Leerzeichen oder Satzzeichen enthält; CSV und JSON behalten das, was Sie eingegeben haben, wörtlich bei.

Ja. Der einfachste Weg ist, sale_price_including_tax oder full_price_including_tax direkt als Dynamic-Feed-Spalte hinzuzufügen — sie sind reguläre Spalten im Spalten-Dropdown und tragen den MwSt.-inklusiven Wert bereits in sich. Keine Formel nötig. Wenn Sie eine individuelle Form benötigen (Verkaufspreis plus MwSt. plus eine Marge oder MwSt.-inklusiv in einer zweiten Währung), greifen Sie zu einer Formel: round(${product.product_sale_price} * (1 + ${product.product_tax_rate} / 100), 2) bildet die Mit-MwSt.-Rechnung von Hand nach. Beachten Sie, dass ${product.product_tax_rate} eine ganze Zahl wie 19 oder 21 zurückgibt — teilen Sie sie durch 100, bevor Sie 1 addieren, um den richtigen Multiplikator zu erhalten.

War dieser Leitfaden hilfreich?