Algoritmo di priorità Source
Le scorte personalizzate includono un elenco assegnato di origini per la vendita e la spedizione dell'inventario dei prodotti disponibile tramite il punto vendita. L'algoritmo Priority di Source utilizza l'ordine delle origini assegnate nelle scorte per consigliare detrazioni del prodotto per origine durante la fatturazione e la spedizione dell'ordine.
Quando viene eseguito, l’algoritmo:
- Funziona in base all'ordine configurato delle origini a livello di magazzino a partire dalla parte superiore
- Consiglia una quantità da spedire e di origine per prodotto in base all'ordine nell'elenco, alla quantità disponibile e alla quantità ordinata
- Continua verso il basso nell'elenco fino al completamento della spedizione dell'ordine
- Ignora le origini disabilitate se presenti nell'elenco
Per configurare, assegnare e ordinare origini a un magazzino personalizzato. Vedi Assegnazione di priorità alle origini per un Stock.
Nell'esempio seguente vengono descritte in dettaglio le origini mappate in ordine, quantità disponibile e origine e importo consigliati da dedurre e spedire. La fonte principale è un corriere espresso nel Regno Unito con una quantità disponibile di 240.
Algoritmo di priorità della distanza
L'algoritmo Distance Priority confronta l'ubicazione dell'indirizzo di destinazione della spedizione con le ubicazioni di origine per determinare l'origine più vicina per evadere le spedizioni. La distanza può essere determinata in base alla distanza fisica o al tempo impiegato per spostarsi da un luogo all'altro, utilizzando le posizioni di database importate o le indicazioni Google (guida, camminata o bicicletta).
Sono disponibili due opzioni per calcolare la distanza e il tempo necessari per trovare l'origine più vicina per l'evasione della spedizione:
-
Google MAP - Utilizza i servizi Google Maps Platform per calcolare la distanza e l'ora tra l'indirizzo di destinazione e le posizioni di origine (indirizzo e coordinate GPS). Questa opzione utilizza i valori di latitudine e longitudine della sorgente. È necessaria una chiave API Google con API di geocodifica e API della matrice di distanza abilitate. Questa opzione richiede un piano di fatturazione Google e può comportare costi attraverso Google.
-
Calcolo offline - Calcola la distanza utilizzando i dati del codice geografico scaricati e importati per determinare l'origine più vicina all'indirizzo di destinazione della spedizione. Questa opzione utilizza i codici paese dell'indirizzo di spedizione e dell'origine. Per configurare questa opzione, potrebbe essere necessaria l'assistenza dello sviluppatore per scaricare e importare inizialmente i geocodici tramite riga di comando.
Per configurare, seleziona le configurazioni e completa i passaggi aggiuntivi, ad esempio la chiave API di Google o il download dei dati di spedizione. Vedere Configurare l'algoritmo di priorità della distanza.
Algoritmi personalizzati
Commerce supporta estensioni e sviluppo personalizzati per aggiungere algoritmi alternativi per assegnare priorità alle origini. Ad esempio, puoi avere un algoritmo di priorità basato sulla geografia e un altro sulla spesa delle scorte o su un attributo del cliente. Quando il costo delle scorte cambia, l’implementazione può modificare facilmente gli algoritmi per garantire il costo più basso.
Prenotazioni
Anziché dedurre o aggiungere immediatamente le quantità di magazzino dei prodotti, gli impegni mantengono gli importi di magazzino fino alla spedizione o all'annullamento degli ordini. Le prenotazioni funzionano interamente nel backend per aggiornare automaticamente la quantità vendibile a livello di scorte.
inventory.reservations.updateSalabilityStatus
. Per verificare se è in esecuzione, utilizzare il comando bin/magento queue:consumers:list
. Se il consumer della coda messaggi non è elencato, avviarlo: bin/magento queue:consumers:start inventory.reservations.updateSalabilityStatus
.Prenotazione ordine
Gli impegni impongono blocchi sulle quantità di magazzino detratte dalla quantità vendibile quando si sottomette un ordine. Gli impegni vengono eseguiti a livello di scorte, conteggiando le quantità fino a quando l'ordine non viene fatturato e spedito, annullato e così via. Durante la spedizione dell'ordine, è possibile utilizzare i consigli SSA o inserire manualmente detrazioni quantità per origine. Al momento della spedizione, gli impegni vengono automaticamente liquidati e la quantità viene detratta. La quantità vendibile viene ricalcolata per le scorte con una quantità aggiornata e gli eventuali importi di impegno rimanenti nel sistema.
Il diagramma seguente consente di definire il processo di impegni durante un ordine e fino alla spedizione.
Un cliente invia un ordine. Commerce controlla la quantità di magazzino corrente vendibile. Se è disponibile una quantità sufficiente di scorte a livello di scorte, un impegno inserisce un blocco temporaneo per lo SKU del prodotto (per tale scorte) e ricalcola la quantità vendibile.
Dopo aver fatturato l'ordine, è possibile determinare gli importi dei prodotti da detrarre e spedire dalle origini. La spedizione viene elaborata e inviata al cliente da una o più origini selezionate. Le quantità vengono detratte automaticamente dalla quantità di magazzino di origine e gli impegni vengono cancellati. Per informazioni ed esempi completi, vedere Informazioni sullo stato degli ordini e sulle prenotazioni.
Calcoli prenotazioni
Il sistema crea una prenotazione per ciascun prodotto quando si verificano i seguenti eventi:
- Un cliente o commerciante effettua un ordine.
- Un cliente o commerciante annulla completamente o parzialmente un ordine.
- Il commerciante crea una spedizione per un prodotto fisico.
- L'esercente crea una fattura per un prodotto virtuale o scaricabile.
- Il commerciante emette una nota di credito.
Le prenotazioni sono operazioni di sola aggiunta, simili a un registro di eventi. Alla prenotazione iniziale viene assegnato un valore di quantità negativo. Tutti gli impegni successivi creati durante l’elaborazione dell’ordine sono valori positivi. Al termine dell'ordine, la somma di tutte le prenotazioni per il prodotto è 0.
Prima che il sistema possa emettere una prenotazione in risposta a un nuovo ordine, determina se ci sono abbastanza articoli vendibili per evadere l'ordine. Nel calcolo vengono considerate le seguenti quantità:
-
Quantità StockItem. La quantità StockItem è la quantità aggregata di scorte provenienti da tutte le origini fisiche per il canale di vendita corrente. Si consideri un esempio in cui la sorgente di Baltimora ha 20 unità di un prodotto, la sorgente di Austin ha 25 unità dello stesso prodotto, e la sorgente di Reno ne ha 10. Quando tutte queste origini sono collegate al magazzino A, il conteggio StockItem per questo prodotto è 55 (20 + 25 + 10). Quando gli articoli vengono spediti, l'indicizzatore magazzino aggiorna le quantità disponibili per ogni origine.
-
Prenotazioni in sospeso. Il sistema totalizza tutte le prenotazioni iniziali che non sono state compensate. Questo numero è sempre negativo. Se il cliente A ha una prenotazione per dieci articoli e il cliente B ha una prenotazione 5 per articoli, allora prenotazioni in sospeso per il totale del prodotto -15.
Pertanto, il commerciante può evadere un ordine in entrata se il cliente ordina meno di 40 (55 + -15) unità.
Al termine dell'elaborazione di un ordine (Completo, Annullato, Chiuso), tutti gli impegni nell'ambito di tale ordine dovrebbero essere risolti in 0
. In questo modo vengono cancellati tutti i blocchi di quantità vendibili.