Skip to Content

Stock Picking Auto Replenish

Quando un operatore clicca Verifica disponibilità e lo stock è insufficiente, Odoo non fa nulla — l'operatore deve navigare manualmente ai rifornimenti, applicare i filtri e lanciare gli ordini. Questo modulo elimina completamente quell'attrito: il rifornimento parte automaticamente per la quantità mancante come parte della stessa azione di verifica disponibilità.

A chi è rivolto

Magazzini che utilizzano le operazioni di stock di Odoo con rifornimento reattivo — attivato quando un picking rivela una carenza — piuttosto che proattivo tramite regole di riordino. Adatto ad aziende che utilizzano percorsi Acquista, Produci o trasferimenti interni multi-step.

Come funziona

  • Abilita la spunta sul tipo di operazione (es. Ordini di consegna) — nessuna configurazione sul prodotto
  • Scegli la modalità: MTS (fornitura autonoma, stock move di domanda invariata) o MTS + MTO (fornitura collegata alla domanda, piena tracciabilità)
  • Attiva opzionalmente la priorità stock locale per consumare merce già presente nell'ubicazione di origine prima di creare nuova fornitura
  • Clicca Verifica disponibilità — il modulo approvvigiona esattamente la quantità mancante tramite il percorso configurato sul prodotto (ordine di acquisto, ordine di produzione o trasferimento interno)
  • Una nota viene pubblicata nel chatter del picking con riferimenti a tutti i documenti creati

Il risultato: zero passaggi manuali di rifornimento dopo la verifica disponibilità — la supply chain è attivata e tracciabile direttamente dal picking.

0.00 € 0.00 €

 Per maggiori info sui nostri moduli non esitare a contattarci

Stock Picking Auto Replenish

Attiva automaticamente il rifornimento quando la Verifica disponibilità trova stock insufficiente — con due modalità selezionabili: MTS autonoma (stock move di domanda invariata) o MTS + MTO con collegamento fornitura-domanda tramite move_orig_ids / move_dest_ids.

Panoramica

Quando un operatore clicca Verifica disponibilità su un picking, Odoo tenta di prenotare la merce dall'ubicazione di origine. Se il prodotto non è disponibile (totalmente o parzialmente), questo modulo attiva automaticamente un rifornimento per la quantità mancante tramite il meccanismo standard di Odoo — ordine di acquisto, ordine di produzione o trasferimento interno, a seconda dei percorsi configurati sul prodotto.

Modalità Stock move di domanda Collegamento fornitura Prevenzione duplicati
MTS Invariata (make_to_stock) Nessuno — fornitura autonoma virtual_available all'ubicazione di domanda
MTS + MTO (default) Impostata a make_to_order Collegata tramite move_orig_ids Somma dei move_orig_ids esistenti

Funzionalità

  • Priorità stock locale — la merce già presente all'ubicazione di origine viene prenotata immediatamente e la fornitura in attesa viene ridotta o annullata; i picking annullati ricevono una nota nel chatter
  • Rifornimento automatico alla verifica disponibilità — nessun intervento manuale necessario
  • Due modalità di rifornimento — MTS (autonoma, stock move invariata) o MTS + MTO (collegata, domanda transita in In attesa di altra operazione); selezionabile per tipo di operazione, sovrascrivibile per picking
  • Prevenzione duplicati — MTS usa virtual_available all'ubicazione; MTS + MTO usa i move_orig_ids esistenti; rieseguire la verifica disponibilità non crea mai ordini duplicati
  • Gestione disponibilità parziale — viene approvvigionata solo la quantità netta mancante
  • Controllo propagazione gruppo di approvvigionamento — impedisce opzionalmente ai documenti di fornitura di ereditare il gruppo del picking di domanda
  • Attivazione selettiva — abilitato per picking; il tipo di operazione funge da template di default; l'operatore può sovrascrivere tutti i flag sul singolo picking
  • Indipendente dal percorso — funziona con Acquista, Produci o qualsiasi percorso personalizzato
  • Note nel chatter — MTS + MTO pubblica link ai documenti creati; MTS pubblica un riepilogo prodotti/quantità

Configurazione

Tutti i flag sono disponibili a due livelli. Vai su Magazzino → Configurazione → Tipi di operazione, apri il tipo desiderato e trova i flag nella scheda Generale dopo Crea backorder. Sui singoli picking gli stessi flag appaiono nella scheda Informazioni aggiuntive nel gruppo Rifornimento. I campi sono nascosti per i tipi In entrata e in sola lettura quando il picking è completato o annullato.

1 — Consuma stock locale alla verifica disponibilità

Se abilitato, i movimenti in attesa di fornitura vengono ispezionati prima: se il prodotto è già disponibile all'ubicazione di origine, viene prenotato dallo stock locale e la fornitura in attesa viene ridotta o annullata di conseguenza.

2 — Rifornimento automatico alla verifica disponibilità

Se abilitato, viene attivato un nuovo approvvigionamento per qualsiasi quantità che non è stata prenotata (né dallo stock locale né dalla fornitura esistente). Viene eseguito dopo il passaggio dello stock locale, quindi le due opzioni si completano naturalmente. Assicurarsi che il prodotto abbia almeno un percorso di approvvigionamento configurato (Acquista, Produci o personalizzato). Se non viene trovata nessuna regola applicabile, la riga viene saltata silenziosamente.

3 — Modalità rifornimento

Visibile solo quando Rifornimento automatico alla verifica disponibilità è abilitato.

Valore Comportamento
MTS La stock move di domanda resta make_to_stock — nessuno split, nessun cambio di stato. La fornitura viene creata come documento autonomo. Il modulo usa virtual_available all'ubicazione di domanda (previsione netta: giacenza + in entrata − in uscita) per determinare quanto richiedere, tenendo conto della fornitura già in transito. Quando la fornitura arriva e lo stock è disponibile, la stock move di domanda può essere prenotata completamente alla prossima verifica disponibilità.
MTS + MTO (default) La stock move di domanda (o una porzione splittata se parzialmente prenotata) viene impostata a make_to_order. _prepare_procurement_values() popola automaticamente move_dest_ids, collegando fornitura e domanda esattamente come nel flusso MTO nativo di Odoo. Dopo un'esecuzione riuscita, _recompute_state() transita la stock move di domanda in In attesa di altra operazione. Una nota nel chatter include link cliccabili a ogni documento creato.

4 — Propaga il gruppo di approvvigionamento nel rifornimento

Visibile solo quando Rifornimento automatico alla verifica disponibilità è abilitato. Se spuntato (default), il documento di fornitura — trasferimento, ordine di acquisto o ordine di produzione — eredita il procurement.group del picking di domanda. Se non spuntato, il documento di fornitura viene creato senza gruppo di approvvigionamento e appare autonomo nelle viste di tracciabilità.

In modalità MTS + MTO il collegamento funzionale (move_orig_ids / move_dest_ids) viene sempre mantenuto indipendentemente da questa impostazione.

Tutti i flag devono essere attivi solo sul picking di origine (o sul suo tipo di operazione). Non sono necessari sul tipo di operazione che gestisce il rifornimento stesso (es. Entrate, Produzione).

Come funziona

① Passaggio stock locale

Viene eseguito prima della prenotazione standard per i movimenti in attesa di fornitura:

  1. Per ogni movimento con fornitura in attesa: calcola qty_to_pull = min(disponibile all'ubicazione di origine, quantità in fornitura, quantità ancora necessaria). Lo stock disponibile viene tracciato in memoria per evitare che due movimenti dello stesso prodotto rivendichino le stesse unità.
  2. Se qty_to_pull > 0: riduce i movimenti di fornitura di quella quantità, annullando quelli che arrivano a zero
  3. Se un picking di fornitura ha tutti i movimenti annullati (nessuno completato): viene annullato e viene pubblicata una nota nel suo chatter
  4. Se tutta la fornitura è stata eliminata: il movimento di domanda transita da in attesaconfermato automaticamente
  5. Se rimane fornitura parziale: viene splittato il movimento di domanda — l'originale mantiene i link di fornitura ridotti (in attesa), la nuova porzione viene impostata a make_to_stock e confermata (prenotabile immediatamente)

② Prenotazione standard

La action_assign standard di Odoo prenota lo stock disponibile per tutti i movimenti confermati, inclusi gli split make-to-stock creati nel passaggio ①.

③ Passaggio rifornimento automatico — modalità MTS

Per ogni movimento ancora non completamente prenotato:

  1. Viene letto il virtual_available all'ubicazione di domanda (in UdM base del prodotto). Un dizionario di aggiustamento in memoria accumula le quantità già richieste durante la stessa chiamata, prevenendo doppie richieste quando più movimenti condividono lo stesso prodotto e ubicazione.
  2. qty_to_request = min(qty_mancante, max(−virtual_available_aggiustato, 0))
  3. Se qty_to_request ≤ 0 → già coperto dallo stock esistente o in transito, skip
  4. procurement.group.run() → OdA / OdP / trasferimento interno autonomo (nessun link move_dest_ids)
  5. Nota pubblicata nel chatter con elenco prodotti e quantità

③ Passaggio rifornimento automatico — modalità MTS + MTO

Per ogni movimento ancora non completamente prenotato:

  1. qty_to_order = (domanda − prenotato) − Σ move_orig_ids non annullati
  2. Se qty_to_order ≤ 0 o nessuna regola di approvvigionamento trovata → nulla accade
  3. Se il movimento è parzialmente prenotato: viene splittato — l'originale mantiene la prenotazione, il movimento splittato riceve qty_to_order
  4. Imposta procure_method = 'make_to_order'_prepare_procurement_values() collega move_dest_ids al movimento di domanda
  5. procurement.group.run() → OdA / OdP / trasferimento interno (collegato)
  6. _recompute_state() chiamato esplicitamente → movimento di domanda transita da confermato a In attesa di altra operazione
  7. Nota pubblicata nel chatter con link cliccabili ai documenti creati

Changelog

Version Descrizione
18.0.1.3.0 Aggiunta selezione Modalità rifornimento (MTS / MTS + MTO): la modalità MTS attiva un approvvigionamento autonomo usando virtual_available all'ubicazione di domanda senza modificare i movimenti di domanda; MTS + MTO mantiene il comportamento originale con collegamento fornitura-domanda
18.0.1.2.1 Fix: esclusione dei movimenti assigned dal ciclo di rifornimento automatico per evitare approvvigionamenti su movimenti già completamente prenotati
18.0.1.2.0 Aggiunto flag Propaga il gruppo di approvvigionamento nel rifornimento: impedisce opzionalmente ai documenti di fornitura di ereditare il gruppo del picking di domanda
18.0.1.1.0 Fix stato movimento di domanda dopo rifornimento automatico (confermato → in attesa); fix doppio approvvigionamento su movimenti splittati; fix consumo eccessivo nello step stock locale; fix gestione ProcurementException con savepoint; miglioramenti viste
18.0.1.0.0 Rilascio iniziale

Crediti

Autori

  • STeSI Consulting

Collaboratori