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_stockist 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:
- Ein Merkmal — der Slot, in dem der Wert liegt. Sie erstellen es einmal, geben ihm einen Namen und lassen es bei allen Produkten leer.
- Eine Dynamic-Feed-Spalte — die Verdrahtung, die das Merkmal in die Ausgabedatei bringt.
- Eine Feed-Regel mit einer Formel-Aktion — die Berechnung, die den Slot zum Exportzeitpunkt füllt.
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.
Ein paar Tipps zur Namensgebung:
- Wählen Sie Namen, die Sie in sechs Monaten wiedererkennen.
Minimum sale price (RO)ist besser alsmin_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
Voltageein 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.
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.
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} / 100ergibt1.21fü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 SieUSD:EURdurch 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.
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 = Spaltestock. (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.
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)wirdmin_price_ronin<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.
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.