Introductie tot Multi-Source Inventory (MSI)
Sinds Magento 2.3 is Multi-Source Inventory (MSI) de standaard voor voorraadbeheer. MSI vervangt het oude single-source systeem en biedt geavanceerde mogelijkheden voor bedrijven met meerdere warehouses, dropshipping, of click & collect.
Waarom MSI?
- Beheer voorraad over meerdere locaties
- Automatische warehouse selectie bij orders
- Nauwkeuriger voorraadbeheer
- Ondersteuning voor backorders en reserveringen
Kernconcepten uitgelegd
Sources (Bronnen)
Een Source is een fysieke locatie waar voorraad wordt opgeslagen. Dit kan zijn:
- Een eigen warehouse
- Een dropship leverancier
- Een fysieke winkel
- Een fulfillment center
Navigatie: Stores > Inventory > Sources
Stocks
Een Stock is een verzameling van Sources die gekoppeld wordt aan Sales Channels (websites). Hiermee bepaal je welke voorraadlocaties beschikbaar zijn voor welke webshop.
Navigatie: Stores > Inventory > Stocks
Salable Quantity vs Physical Quantity
Dit is waar veel mensen in de war raken:
Physical Quantity (Qty): De daadwerkelijke voorraad in een Source. Dit is wat je fysiek op de plank hebt liggen.
Salable Quantity: De voorraad die beschikbaar is voor verkoop. Dit is Physical Quantity minus reserveringen (producten in winkelwagens, pending orders).
Voorbeeld:
- Physical Quantity: 100 stuks
- Reserveringen: 5 stuks (in winkelwagens of pending orders)
- Salable Quantity: 95 stuks
Stap 1: Sources configureren
Default Source
Magento maakt automatisch een "Default Source" aan. Voor een single-warehouse setup is dit voldoende.
Nieuwe Source toevoegen
- Name: Herkenbare naam (bijv. "Warehouse Amsterdam")
- Code: Unieke identifier (bijv. "warehouse_ams")
- Is Enabled: Yes
- Description: Optionele omschrijving
- Contact Info: Adresgegevens voor shipping labels
Source prioriteit
De volgorde van Sources bepaalt welke locatie eerst wordt geprobeerd bij orderverwerking. Meer hierover bij Source Selection Algorithm.
Stap 2: Stocks configureren
Default Stock
Net als Sources bestaat er een "Default Stock". Deze is standaard gekoppeld aan je Main Website.
Stock aanpassen of toevoegen
- Name: Bijv. "EU Stock"
- Sales Channels: Welke websites deze Stock gebruiken
- Assigned Sources: Welke Sources onderdeel zijn van deze Stock
Multiple Stocks scenario
Stel je hebt een NL en DE webshop:
Stock "NL":
- Sales Channel: Dutch Website
- Sources: Warehouse Amsterdam, Warehouse Rotterdam
Stock "DE":
- Sales Channel: German Website
- Sources: Warehouse Berlin, Warehouse Amsterdam
Zo kan Warehouse Amsterdam voor beide landen leveren, maar heeft elk land zijn eigen primaire warehouse.
Stap 3: Voorraad toewijzen aan producten
Via product edit
Via Mass Actions
Voor bulk updates:
Via Import
Voor grote catalogi gebruik je CSV import:
- stock_sources.csv voor Source toewijzingen
- Quantity updates per Source
Stap 4: Reservations begrijpen
Wat zijn Reservations?
Reservations zijn tijdelijke claims op voorraad. Ze worden aangemaakt wanneer:
- Een product in een winkelwagen wordt geplaatst
- Een order wordt geplaatst maar nog niet verzonden
- Een credit memo wordt aangemaakt (negatieve reservation)
Hoe Reservations werken
Reservations bekijken
Reservations worden opgeslagen in de inventory_reservation tabel. In de admin kun je de Salable Quantity zien, die automatisch rekening houdt met reservations.
Stap 5: Source Selection Algorithm (SSA)
Wat is SSA?
Het Source Selection Algorithm bepaalt welke Source(s) worden gebruikt om een order te fulfillen. Dit is cruciaal voor bedrijven met meerdere warehouses.
Beschikbare algoritmes
Priority:
Selecteert de Source met de hoogste prioriteit die voldoende voorraad heeft. Prioriteit wordt bepaald door de volgorde in de Stock configuratie.
Distance Priority:
Selecteert de Source die het dichtst bij het leveradres is. Vereist geocoding configuratie.
SSA instellen
Stap 6: Out of Stock drempel
Wat is de Out of Stock drempel?
Dit bepaalt wanneer een product als "Out of Stock" wordt getoond. Standaard is dit 0, maar je kunt een buffer instellen.
Configuratie
Backorders configureren
Met een negatieve threshold sta je backorders toe:
- Threshold: -10
- Klanten kunnen tot 10 stuks bestellen als voorraad 0 is
- Salable Quantity toont dan -10 als limiet
Stap 7: Low Stock notificaties
Waarom belangrijk?
Automatische notificaties voorkomen dat je onverwacht zonder voorraad zit.
Instellen
Low Stock rapport
Bekijk producten met lage voorraad via:
Reports > Products > Low Stock
Veelvoorkomende problemen
Salable Quantity klopt niet
Oorzaak: Stale reservations of incorrecte Physical Quantity
Oplossing:
``bash
bin/magento inventory:reservation:list-inconsistencies
bin/magento inventory:reservation:create-compensations
`
Product toont Out of Stock terwijl voorraad er is
Mogelijke oorzaken:
- Product niet toegewezen aan correcte Source
- Source niet in Stock van de website
- Is Salable status incorrect
Checklist:
Check Sources toewijzing op product
Check Stock configuratie voor website
Herindex: bin/magento indexer:reindex inventory`
Orders kiezen verkeerde warehouse
Oorzaak: SSA configuratie of Source prioriteit
Oplossing: Controleer volgorde van Sources in Stock configuratie