Logo
Guide

Lagerverwaltung in Magento 2

Bestandsverwaltung & Multi-Source Inventory (MSI)

6. October 2025 David Lambauer Minuten Lesezeit
run_as_root decoration

Inhaltsverzeichnis

Die Lagerverwaltung in Magento 2 umfasst alle Funktionen zur Bestandssteuerung von Produkten im Shop. Magento bietet dabei zwei Ansätze: die klassische Single-Source Bestandsverwaltung (ein zentrales Lager ohne Erweiterungen) und das moderne Multi-Source Inventory (MSI), das ab Magento 2.3 standardmäßig integriert ist. Im Folgenden werden die grundlegenden Funktionen der einfachen Lagerverwaltung erläutert und dann das Konzept von MSI, die Anlage mehrerer Lagerorte, die Verteilung von Beständen auf mehrere Quellen sowie Vorteile, Anwendungsfälle, Verwaltung im Backend, CLI-Befehle und API-Schnittstellen beschrieben.

Grundlegende Funktionen der Lagerverwaltung (ohne Erweiterungen)

Ohne zusätzliche Erweiterungen, also im traditionellen Single-Source Modus, verfügt Magento über eine einfache Lagerverwaltung pro Produkt. Für jedes Produkt wird ein globaler Lagerbestand geführt (auf Wunsch auch auf Website-Ebene konfigurierbar), aus dem alle Bestellungen bedient werden. Bis Magento 2.2 gab es nur diesen einen globalen Lagerbestand je Produkt. Händler können grundlegende Einstellungen vornehmen, etwa:

  • Soll der Lagerbestand verfolgt werden?

  • Sind Backorders (Rückbestellungen) erlaubt, wenn der Lagerbestand 0 erreicht?

  • Darf ein Checkout bei ausverkauften Produkten stattfinden?

  • Diese Regeln werden global unter Stores > Configuration > Catalog > Inventory festgelegt.

Jedes Produkt hat im Standard-Modus Felder für Menge (Qty) und Stock-Status („Auf Lager“ oder „Nicht auf Lager“). Magento aktualisiert die Bestände in Echtzeit, d. h. nach einer Bestellung wird der Lagerbestand des Produkts sofort reduziert und das System setzt den Status bei Erreichen von 0 automatisch auf „Nicht auf Lager“. Es können Mindest- und Höchstbestellmengen definiert werden, ebenso Schwellenwerte für niedrigen Lagerbestand zur internen Benachrichtigung. Standardmäßig verhindert Magento Overselling durch diese Mechanismen, doch bei hohem Bestellaufkommen und gleichzeitigem Checkout bestand im alten System ein Risiko von Überverkäufen (fehlende Reservierung bei parallel aufgegebenen Bestellungen). Insgesamt eignet sich der Single-Source Ansatz für kleinere Shops mit einem Lagerstandort, da er wenig Konfiguration erfordert und alle Bestellungen aus demselben Lager bedient werden.

Information
Für kleine Shops die lediglich eine simple Lagerverwaltung nutzen, lohnt es sich die PHP Pakete der MSI-Extensions aktiv zu entfernen. Das Entfernen hat keinerlei negative Effekte, sorgt aber für einen kleinen Performance-Boost. Sprechen Sie uns an, wenn sie Schwierigkeiten dabei haben.

Multi-Source Inventory (MSI) – Konzept und Funktionsweise ab Magento 2.3

Mit Magento 2.3 wurde Multi-Source Inventory (MSI) als Kernfunktion eingeführt, um die Bestandsverwaltung über mehrere Lagerstandorte hinweg zu ermöglichen. MSI erlaubt es, mehrere Lager (Quellen) in einer Magento-Installation zu verwalten und diese flexibel den Verkaufskanälen zuzuordnen. Das System besteht aus einer Gruppe von Modulen, die in Magento Open Source (kostenfrei) und Adobe Commerce ab 2.3 standardmäßig enthalten sind. Händler können MSI also ohne Drittanbieter-Module nutzen.

Grundprinzip von MSI

Anstelle eines einzigen globalen Lagerbestands führt Magento nun die Begriffe “Source” (Quelle/Lagerort) und “Stock” ein. Eine Source repräsentiert einen physischen Lagerort, z.B. ein Warenlager, ein Ladengeschäft, ein Lieferantenlager (Dropship) etc. Ein Stock wiederum verknüpft einen Verkaufskanal (in Magento meist eine Website) mit einer oder mehreren Quellen und bildet so den für diese Website verfügbaren Gesamtbestand ab. Standardmäßig gibt es den Default Stock (Hauptbestand), der initial mit der Default Source (Standard-Lagerort) und allen Websites verknüpft ist. Pro Website kann jedoch nur ein Stock aktiv sein. Wenn man weitere Lagerorte nutzen will, kann man zusätzliche Stocks anlegen und den Websites zuweisen – dadurch lässt sich z.B. pro Shop oder Region ein eigener Bestand steuern, der aus mehreren Quellen zusammengesetzt ist.

Information
Dem vordefinierten Default Stock können derzeit keine zusätzlichen Sources hinzugefügt werden, Stand Magento 2.4.1. Stattdessen erstellt man einen neuen Stock für Multi-Source-Szenarien.

Salable Quantity & Reservierungen

Ein wesentliches neues Konzept unter MSI ist die Trennung zwischen tatsächlichem Lagerbestand je Quelle und der verkaufbaren Menge (Salable Quantity) pro Verkaufskanal. Die Salable Quantity eines Produkts ist der aggregierte Bestand über alle einer Website zugeordneten Quellen. Sobald ein Kunde eine Bestellung aufgibt, reduziert Magento sofort die Salable Quantity (durch Anlegen einer Reservation), ohne den physischen Lagerbestand der Quelle direkt zu vermindern. Erst beim Versand der Bestellung wird der tatsächliche Lagerbestand der entsprechenden Source abgebucht und die Reservierung wieder ausgebucht. Dieses Reservierungssystem dient als Concurrent Checkout Schutz, um Überverkäufe bei gleichzeitigen Bestellungen zu verhindern. In früheren Versionen sank der Produktbestand direkt bei Bestellung, was bei parallelen Checkouts zu Inkonsistenzen führen konnte – MSI löst dies durch das Reservations-Modell.

Source Selection Algorithmus

Wenn ein Produkt in mehreren Lagerorten verfügbar ist, stellt sich die Frage, aus welcher Quelle eine Bestellung bedient wird. Magento 2.3+ bietet dazu konfigurierbare Sourcing-Algorithmen. Standardmäßig gibt es zwei Optionen: den Quellen-Prioritäts-Algorithmus, der strikt der vom Admin vorgegebenen Prioritätenreihenfolge der Lager folgt, und den Distanz-basierten Algorithmus, der anhand von Geodaten die nächstgelegene Quelle zum Kunden ermittelt (bzw. die schnellste Lieferzeit). So kann Magento z.B. automatisch das nächstgelegene Warenlager für die Auslieferung wählen, was Versandzeiten und -kosten optimiert.

Information
Hinweis: Für den Distanz-Algorithmus können Geokoordinaten der Lager hinterlegt und per CLI Geodaten importiert werden, siehe weiter unten.

Insgesamt ist MSI eine erheblich erweiterte Bestandsverwaltung: Sie wurde maßgeblich mit Hilfe der Community entwickelt und umfasst über 10% des Magento-Core-Codes. Dank MSI können nun hohe Bestellvolumina und parallele Bestellungen besser verarbeitet werden, da das System darauf ausgelegt ist, Inventarbewegungen sauber zu verbuchen. Für Händler mit sehr komplexen Omnichannel-Szenarien bietet Adobe zwar ein separates Order Management System (OMS) als externe Lösung, doch MSI deckt bereits die meisten Anforderungen für Händler mit einer überschaubaren Anzahl von Lagerorten ab.

Lagerorte (Sources) anlegen und verwalten

In Magento 2 (ab Version 2.3) lassen sich beliebig viele Lagerorte (Sources) im Admin-Panel definieren. Die Verwaltung erfolgt unter Stores > Inventory > Sources im Backend. Direkt nach Installation existiert hier bereits eine Default Source (Standard-Lagerort), die in Single-Source-Shops alle Bestände enthält und nicht deaktiviert oder gelöscht werden kann. Um das Multi-Source Inventory zu nutzen, legt man neue Quellen an: Über den Button Add New Source öffnet sich ein Formular, in dem die Felder für den Lagerort auszufüllen sind.

Bei der Anlage einer neuen Source sind folgende Angaben wichtig: Name des Lagerorts und ein eindeutiger Code ( Pflichtfelder), optional eine Beschreibung (nur intern sichtbar). Außerdem kann – insbesondere für die Nutzung des Distanz-Algorithmus – die exakte GPS-Position (Breitengrad, Längengrad) hinterlegt werden. In separaten Abschnitten werden dann die Kontaktdaten (Ansprechpartner, Telefon, E-Mail etc.) und die Adresse des Lagerorts erfasst. Nach dem Speichern steht der neue Lagerort im System zur Verfügung.

Jede Source kann bei Bedarf deaktiviert werden, falls dieser Standort vorübergehend nicht für den Verkauf genutzt werden soll. Deaktivierte Quellen werden bei der Zuteilung von Bestellungen und im Checkout nicht berücksichtigt. Dies ist z. B. nützlich, wenn ein Lager wegen Inventur oder Urlaub temporär stillgelegt wird. Löschen von Sources ist ( außer der Default Source) ebenfalls möglich, jedoch sollte man vorsichtig sein, da dabei Bestandsdaten verlorengehen könnten. Stattdessen bevorzugt man meist das Deaktivieren, um den Verlauf zu behalten.

Bestände mehreren Quellen zuweisen (Produkte auf mehrere Lager verteilen)

Mit aktiviertem MSI kann ein Produktbestand auf mehrere Lagerorte verteilt werden. In der Praxis bedeutet dies, dass man jedem Produkt einzelne Quellen mit jeweiliger Menge zuordnet. Im Admin-Panel erfolgt dies über die Produktbearbeitung: Unter Catalog > Products wählt man das betreffende Produkt und findet dort den Abschnitt * Sources* (Lagerorte). Standardmäßig ist hier zunächst nur die Default Source mit einer Gesamtmenge eingetragen. Über den Button Assign Sources kann man zusätzliche Lagerorte für das Produkt auswählen. Für jede zugewiesene Source lässt sich dann eine Menge (Qty) festlegen sowie der Status (In Stock/Out of Stock) angeben. So kann man beispielsweise ein Produkt “T-Shirt” mit 100 Stück Gesamtbestand aufteilen in 60 Stück im Lager A und 40 Stück im Lager B. Magento führt diese Zahlen getrennt und addiert sie automatisch zum gesamt verfügbaren Bestand für den Shop.

Wichtig: Wenn neue Quellen hinzukommen, sollte der Händler entsprechend die Bestände umschichten. Fügt man einem Produkt etwa eine zweite Source hinzu, die bisher nicht genutzt wurde, muss man entscheiden, ob die Stückzahlen aus dem ursprünglichen Lager teilweise in die neue Source “umgezogen” werden (z. B. von Default Source 100 Stück → Lager A 60, Lager B 40) oder ob es sich um zusätzlichen Bestand handelt. Magento selbst nimmt keine automatische Aufteilung vor – diese muss der Admin manuell einpflegen. Für Massenänderungen von Beständen über viele Produkte hinweg gibt es Hilfsmittel: Zum einen kann man den Import/Export nutzen (CSV-Datei mit SKU, Source und Menge exportieren, bearbeiten, re-importieren). Zum anderen gibt es Mass-Action Tools sowie die Möglichkeit, Bestände programmgesteuert über die API zu aktualisieren (siehe API-Unterstützung unten).

Durch die Verteilung von Beständen auf mehrere Quellen und die oben beschriebene Salable Quantity Logik ergibt sich folgendes Verhalten: Die “verfügbare Menge” im Shop (Salable Quantity) eines Produkts entspricht der Summe aller zugeordneten Source-Bestände innerhalb des für die Website relevanten Stocks. Kunden sehen im Frontend also weiterhin einen Gesamt-Lagerbestand pro Produkt (sofern die Anzeige der Menge aktiviert ist) und Magento entscheidet intern, aus welcher Quelle die Ware kommt. Bei Eingang einer Bestellung reduziert Magento umgehend die Salable Quantity (also den verfügbaren Gesamtbestand) – dies verhindert, dass ein zweiter Kunde zeitgleich dieselben Artikel überbestellt. Erst in dem Moment, in dem der Versand ausgelöst wird, wird der konkrete Lagerort bestimmt und dessen physischer Bestand verringert. Sollte eine Bestellung storniert werden, gibt das System die reservierte Menge wieder frei, indem die Salable Quantity entsprechend erhöht wird. Insgesamt sorgt dieses System dafür, dass Bestände über mehrere Lager synchron gehalten werden und trotzdem keine Überverkäufe stattfinden.

Vorteile von MSI gegenüber der klassischen Bestandsverwaltung

Die Einführung von Multi-Source Inventory bringt gegenüber der alten Single-Source-Verwaltung zahlreiche Vorteile und neue Möglichkeiten:

Step

Mehrere Lagerstandorte verwalten

MSI ermöglicht es, mehrere physische Lager in einer Magento-Installation abzubilden. Händler mit mehreren Warenlagern oder Filialen können so alle Bestände zentral im Shop-System pflegen, ohne separate Magento-Instanzen oder Extensions. Jeder Lagerort kann individuell geführt und bei Bedarf priorisiert werden.

Step

Bestände pro Website oder global

Während früher alle Websites auf denselben globalen Bestand zugriffen, können nun je Website eigene Stocks geführt werden. So lässt sich z.B. ein Lager nur für bestimmte StoreViews/Websites nutzen.

Step

Automatische Quellenauswahl bei Bestellung

Dank der Source Selection Algorithmen wählt Magento bei einer Bestellung automatisch den optimalen Lagerort für die Fulfillment aus – basierend auf Priorität oder Distanz.

Step

Vermeidung von Überverkäufen

Durch das MSI-Reservierungssystem mit getrennter Salable Quantity werden zeitgleiche Bestellungen sauber gehandhabt. Magento reserviert Bestände in Echtzeit beim Checkout, was das Overselling-Risiko deutlich senkt.

Step

Teilbestellungen & Teillieferungen

MSI unterstützt es, eine Bestellung aus mehreren Lagern zu bedienen, z.B. Teillieferungen.

Step

Dropshipping-Integration

Händler können Dropship-Lieferanten als eigene Source im System anlegen und Bestellungen automatisiert weiterleiten.

Step

Omnichannel & BOPIS

Multi-Source Inventory begünstigt Omnichannel-Strategien, z. B. “Buy Online, Pick Up in Store”.

Step

Skalierbarkeit & Erweiterbarkeit

MSI ist modular, API-fähig und lässt sich um eigene Algorithmen oder externe ERP-Integrationen erweitern.

Typische Anwendungsfälle für Multi-Source Inventory

Typische Einsatzszenarien für MSI sind:

  • Mehrere geografisch verteilte Lager
  • Regionale Lager für verschiedene Websites
  • Omnichannel-Filialverfügbarkeit (Click & Collect)
  • Dropshipping und externe Fulfillment-Lager
  • Teillieferungen aus mehreren Lagern
  • Reserve- oder Pufferlager
  • Spezielle Fulfillment-Prozesse (z. B. Reparatur- oder Produktionslager)

Diese Beispiele zeigen, dass MSI vielseitige Szenarien abdeckt – von Multi-Warehouse-Management über Omnichannel bis hin zu Dropshipping.

FAQ

Was ist der Unterschied zwischen Single-Source und Multi-Source Inventory in Magento 2?
Im Single-Source-Modus gibt es nur einen globalen Lagerbestand pro Produkt. Alle Bestellungen werden daraus bedient – ideal für kleine Shops mit einem Lager. Das Multi-Source Inventory (MSI) erlaubt dagegen mehrere physische Lager (Sources), die zu einem oder mehreren Verkaufskanälen zusammengefasst werden. So kann Magento z. B. Bestellungen automatisch aus dem nächstgelegenen Lager bedienen.
Kann ich MSI deaktivieren und wieder die alte Lagerverwaltung nutzen?
Ja, theoretisch kann MSI über die CLI deaktiviert werden, indem die Magento_Inventory*-Module abgeschaltet werden. Praktisch ist das aber nicht empfehlenswert, da Magento seit Version 2.3 vollständig auf MSI aufbaut. Wer nur ein Lager nutzt, kann MSI einfach mit einer einzigen Default Source betreiben — ganz ohne Mehrarbeit.
Wie wird entschieden, aus welchem Lager eine Bestellung verschickt wird?
Das steuert der sogenannte Source Selection Algorithm (SSA). Magento liefert zwei Varianten mit: * Priority Algorithmus: folgt der vom Admin definierten Reihenfolge der Lager. * Distance-based Algorithmus: nutzt Geokoordinaten, um das nächstgelegene Lager zum Kunden zu wählen. Der Algorithmus wird beim Versandprozess ausgeführt – nicht beim Checkout.
Was ist die “Salable Quantity”?
Die Salable Quantity ist die verkaufbare Gesamtmenge eines Produkts über alle Lager hinweg, die einem Verkaufskanal zugeordnet sind. Sie unterscheidet sich vom physischen Bestand je Lager, da Magento beim Checkout Reservierungen anlegt. Diese verhindern Überverkäufe, selbst bei parallelen Bestellungen.
Wie kann ich Lagerbestände über mehrere Produkte hinweg importieren oder aktualisieren?
Unter System > Import/Export kann man Lagerdaten (SKU, Source, Menge, Status) als CSV exportieren, anpassen und wieder importieren. Alternativ lassen sich Bestände über die REST API oder via CLI-Skripte in Bulk aktualisieren. Für automatisierte ERP-Synchronisation ist das der bevorzugte Weg.
Kann ein Produkt gleichzeitig in mehreren Lagern vorrätig sein?
Ja. Genau das ist der Hauptvorteil von MSI. Ein Produkt kann z. B. in Lager A (50 Stück) und Lager B (30 Stück) liegen. Magento führt beide Mengen zusammen und zeigt im Frontend den Gesamtbestand an. Beim Versand entscheidet der Algorithmus, welches Lager liefert.

Verwaltung über das Backend und wichtige CLI-Befehle

Backend-Verwaltung:
Unter Stores > Inventory verwaltet man Sources (Lagerorte) und Stocks.
Unter Catalog > Products > Sources lassen sich Bestände pro Produkt verwalten.
Globale Einstellungen wie Backorders oder Low-Stock-Notifications befinden sich unter Stores > Configuration > Catalog > Inventory.

CLI-Befehle:

  • bin/magento inventory:reservation:list-inconsistencies – prüft Inkonsistenzen in Reservierungen
  • bin/magento inventory:reservation:create-compensations – korrigiert Reservierungsfehler automatisch
  • bin/magento inventory-geonames:import <Ländercode> – importiert Geodaten für Distanz-basierte Algorithmen

API-Unterstützung für MSI (REST/GraphQL)

Das Multi-Source Inventory ist vollständig über REST und GraphQL APIs steuerbar.
Beispiele:

  • GET /V1/inventory/sources – Liste aller Quellen
  • POST /V1/inventory/sources – Neue Quelle anlegen
  • GET /V1/stockItems/<SKU> – Aggregierten Bestand abrufen
  • POST /V1/products/<SKU>/stockItems/<source_code> – Bestand einer Quelle aktualisieren

MSI folgt dem Service-Contract-Prinzip und erlaubt Integrationen mit ERP-Systemen, Marktplätzen oder individuellen Lagerlösungen.

Bereit, Ihre Lagerverwaltung in Magento 2 zu meistern?

Hören Sie auf, Umsatz durch falsche Bestände und langsame Lieferzeiten zu verlieren.

What you get:

  • ✓ Einrichtung und Optimierung Ihres Multi-Source Inventory (MSI)
  • ✓ Automatische Lagerzuordnung für schnellere Lieferzeiten
  • ✓ Vermeidung von Überverkäufen durch saubere Reservierungslogik
  • ✓ Nahtlose Integration mit Ihrem ERP oder Fulfillment-Dienstleister

Guarantee: Keine Drittanbieter-Abhängigkeiten. Kein Vendor-Lock-in. Keine komplizierten Prozesse.