Source-Prioritätsalgorithmus

Benutzerdefinierte Lager enthalten eine zugewiesene Liste von Quellen für den Verkauf und Versand des verfügbaren Produktbestands über Ihre Storefront. Der Source-Prioritätsalgorithmus verwendet die Reihenfolge der zugeordneten Bezugsquellen im Lager, um beim Fakturieren und Versand der Bestellung Produktabzüge pro Bezugsquelle zu empfehlen.

Beim Ausführen des Algorithmus:

  • Durchläuft die konfigurierte Quellreihenfolge auf der Lagerebene, beginnend oben.
  • Empfiehlt je nach Bestellung in der Liste, verfügbarer Menge und bestellter Menge eine zu liefernde Menge sowie eine zu beschaffende Menge pro Produkt
  • Fahren Sie in der Liste nach unten, bis die Bestellanlieferung ausgefüllt ist
  • Deaktivierte Quellen werden übersprungen, wenn sie in der Liste gefunden wurden

Zum Konfigurieren, Zuweisen und Sortieren von Quellen zu einem benutzerdefinierten Lager. Siehe Priorisieren von Quellen für einen Bestand.

Im folgenden Beispiel werden die zugeordneten Quellen in der Reihenfolge, die verfügbare Menge und die empfohlene Quelle und der empfohlene Betrag beschrieben, die abgezogen und versendet werden sollen. Die Top-Quelle ist ein Drop-Shipper in Großbritannien mit einer verfügbaren Menge von 240.

Beispiel SSA-Empfehlungen für ein Mountainbike

Algorithmus für Abstandspriorität

Der Distance Priority Algorithm vergleicht den Standort der Versandzieladresse mit den Quellorten, um die nächstgelegene Quelle für die Erfüllung von Sendungen zu ermitteln. Die Entfernung kann durch die physische Entfernung oder die Zeit bestimmt werden, die auf Reisen von einem Ort zum anderen verbracht wurde, indem importierte Datenbankstandorte oder Google-Richtungen (Fahren, Gehen oder Fahrradfahren) verwendet werden.

Sie haben zwei Möglichkeiten, die Entfernung und die Zeit zu berechnen, um die nächstgelegene Quelle für die Sendungserfüllung zu finden:

  • Google MAP - Verwendet Google Maps Platform-Services zur Berechnung der Entfernung und Zeit zwischen der Versandzieladresse und den Quellorten (Adresse und GPS-Koordinaten). Diese Option verwendet den Breiten- und Längengrad der Quelle. Ein Google-API-Schlüssel ist erforderlich, wenn Geocoding-) und Distanzmatrix- aktiviert sind. Diese Option erfordert einen Google-Abrechnungsplan und kann über Google Gebühren verursachen.

  • Offline-Berechnung - Berechnet die Entfernung anhand heruntergeladener und importierter Geocode-Daten, um die Quelle zu ermitteln, die der Versandzieladresse am nächsten liegt. Diese Option verwendet die Länder-Codes der Lieferadresse und der Quelle. Um diese Option zu konfigurieren, benötigen Sie möglicherweise die Unterstützung eines Entwicklers, um Geocodes zunächst über eine Befehlszeile herunterzuladen und zu importieren.

Wählen Sie zur Konfiguration Konfigurationen aus und führen Sie zusätzliche Schritte durch, z. B. den Google-API-Schlüssel oder das Herunterladen von Versanddaten. Siehe Konfigurieren des Distance Priority Algorithm.

Benutzerdefinierte Algorithmen

Commerce unterstützt benutzerdefinierte Entwicklung und Erweiterungen zum Hinzufügen alternativer Algorithmen, um Quellen zu priorisieren. Sie können beispielsweise einen Prioritätsalgorithmus basierend auf der Geografie und einen anderen basierend auf den Lagerkosten oder einem Kundenattribut verwenden. Wenn sich die Lagerkosten ändern, kann Ihre Implementierung die Algorithmen einfach ändern, um die niedrigsten Kosten sicherzustellen.

Vorbehalte

Anstatt sofort Produktinventarmengen abzuziehen oder hinzuzufügen, behalten Reservierungen Lagerbeträge bis zum Versand oder zur Stornierung von Bestellungen. Reservierungen funktionieren vollständig im Backend, um Ihre Verkaufsmenge automatisch auf Lagerebene zu aktualisieren.

NOTE
Nur PaaS Für die Reservierungsfunktion muss die inventory.reservations.updateSalabilityStatus Nachrichtenwarteschlange kontinuierlich ausgeführt werden. Um zu überprüfen, ob es ausgeführt wird, verwenden Sie den bin/magento queue:consumers:list. Wenn der Nachrichtenwarteschlangenbenutzer nicht aufgeführt ist, starten Sie ihn: bin/magento queue:consumers:start inventory.reservations.updateSalabilityStatus.

Reservierungen bestellen

Reservierungen für Lagermengen, die bei der Auftragserteilung von der Verkaufsmenge abgezogen werden, werden zurückgestellt. Die Reservierungen werden auf Lagerebene durchgeführt und zählen mit den Mengen, bis die Bestellung fakturiert und versendet, storniert wird usw. Beim Versand der Bestellung können Sie die SSA-Empfehlungen verwenden oder manuell Mengenabzüge pro Quelle eingeben. Beim Versand werden die Reservierungen automatisch gelöscht und die Menge abgezogen. Die verkaufbare Menge berechnet für den Bestand mit einer aktualisierten Menge und allen im System verbleibenden Reservierungsbeträgen neu.

Das folgende Diagramm hilft bei der Definition des Prozesses der Reservierung während einer Bestellung und bis zum Versand.

Reservierungen von Bestellung bis Lieferung

Ein Kunde reicht eine Bestellung ein. Commerce prüft die aktuelle Lagerverkaufsmenge. Wenn auf Lagerebene genügend Lagerbestand vorhanden ist, wird eine Reservierung eingetreten, die einen temporären Sperrstatus für die Produkt-SKU (für diesen Bestand) anlegt, und die verkaufbare Menge wird neu berechnet.

Nachdem Sie die Bestellung fakturiert haben, bestimmen Sie die Produktbeträge, die Sie von Ihren Quellen abziehen und versenden möchten. Die Lieferung wird verarbeitet und von einer oder mehreren ausgewählten Quellen an den Kunden gesendet. Die Mengen werden automatisch von der Quellinventarmenge abgezogen und die Reservierungen werden gelöscht. Umfassende Details und Beispiele finden Sie Über den Bestellstatus und Reservierungen.

Reservierungsberechnungen

Das System erstellt eine Reservierung für jedes Produkt, wenn die folgenden Ereignisse eintreten:

  • Ein Kunde oder Händler gibt eine Bestellung auf.
  • Ein Kunde oder Händler storniert eine Bestellung ganz oder teilweise.
  • Der Händler erstellt eine Sendung für ein physisches Produkt.
  • Der Händler erstellt eine Rechnung für ein virtuelles oder herunterladbares Produkt.
  • Der Händler gibt eine Gutschrift aus.

Reservierungen sind reine Anlagenvorgänge, die einem Ereignisprotokoll ähneln. Der ursprünglichen Reservierung wird ein negativer Mengenwert zugewiesen. Alle nachfolgenden Reservierungen, die bei der Verarbeitung der Bestellung erstellt wurden, sind positive Werte. Wenn die Bestellung abgeschlossen ist, ist die Summe aller Reservierungen für das Produkt 0.

Bevor das System eine Reservierung als Antwort auf eine neue Bestellung ausstellen kann, bestimmt es, ob genügend verkaufbare Artikel vorhanden sind, um die Bestellung zu erfüllen. Die folgenden Mengen fließen in die Berechnung ein:

  • LagerArtikel Menge. Die Lagerartikelmenge ist die aggregierte Lagermenge aus allen physischen Quellen für den aktuellen Verkaufskanal. Betrachten wir ein Beispiel, bei dem die Quelle von Baltimore 20 Einheiten eines Produkts enthält, die Quelle von Austin 25 Einheiten desselben Produkts enthält und die Quelle von Reno 10. Wenn alle diese Quellen mit Lager A verknüpft sind, beträgt die StockItem-Anzahl für dieses Produkt 55 (20 + 25 + 10). (Wenn Artikel versendet werden, aktualisiert der Inventar-Indexer die verfügbaren Mengen an jeder Quelle.)

  • Ausstehende Reservierungen. Das System summiert alle anfänglichen Reservierungen, die nicht kompensiert wurden. Diese Zahl ist immer negativ. Wenn Kunde A eine Reservierung für zehn Artikel hat und Kunde B eine Reservierung für Artikel 5, dann ausstehende Reservierungen für die Produktsumme -15.

Daher kann der Händler eine eingehende Bestellung erfüllen, solange der Kunde weniger als 40 (55 + -15) Einheiten bestellt.

Wenn Sie die Verarbeitung einer Bestellung abgeschlossen haben (abgeschlossen, storniert, geschlossen), sollten alle Reservierungen im Umfang dieser Bestellung auf 0 aufgelöst werden. Dadurch werden alle Lagerbestände für die verkaufsfähige Menge gelöscht.

NOTE
Nachbestellungen (mit Schwellenwerten für nicht vorrätige Artikel) und Benachrichtigungen bei einer Menge unterhalb des Schwellenwerts wirken sich auch auf die Berechnung von Verkaufsmengen aus, sie sind jedoch nicht Gegenstand dieses Themas. Weitere Informationen zu diesen Einstellungen finden Sie unter Konfigurieren Inventory Management.