Ein Produkt kann in Magento 2 laut Admin noch Bestand haben und im Shop trotzdem als nicht verfügbar erscheinen. Gerade bei aktiviertem MSI ist dafür nicht nur die eingetragene Menge entscheidend.
Magento unterscheidet zwischen dem physischen Bestand einer Source und der tatsächlich verkaufbaren Menge, der sogenannten Salable Quantity. In diese Berechnung fließen unter anderem offene Reservierungen aus Bestellungen ein.
So kann beispielsweise eine Source Quantity von 10 vorhanden sein, während Reservierungen dafür sorgen, dass die Salable Quantity bereits bei 0 liegt. Das Produkt besitzt dann technisch noch Bestand, Magento erlaubt aber keine weitere Bestellung.
Bei konfigurierbaren Produkten kommt noch eine weitere Besonderheit hinzu: Das Parent Produkt besitzt selbst keinen verkaufbaren Bestand. Mindestens eines der zugeordneten Child Produkte muss verfügbar und verkaufbar sein. Sind alle Varianten ausverkauft, deaktiviert oder aus anderen Gründen nicht salable, ist auch das konfigurierbare Produkt im Shop nicht mehr kaufbar.
Weitere Ursachen können ein veralteter Inventory Index, eine falsche Source oder Stock Zuordnung, fehlende Website Zuordnungen, deaktivierte Backorders oder ein entsprechend gesetzter Out of Stock Threshold sein. Auch individuelle Schnittstellen oder Importe können dazu führen, dass Bestand, Reservations und Stock Status nicht mehr sauber zusammenpassen.
Wenn ein Produkt also auf Lager ist, aber nicht gekauft werden kann, sollte nicht nur die angezeigte Menge geprüft werden. Relevant sind unter anderem Salable Quantity, Reservations, Stock Status, Source und Stock Zuordnung sowie bei konfigurierbaren Produkten die tatsächliche Verfügbarkeit der zugeordneten Varianten.