Nel prima parte di questo articolo, abbiamo analizzato la configurazione di OpenERP al fine di poter eseguire delle lavorazioni conto terzi.
In questa seconda parte invece, testeremo le configurazioni applicate seguendo un flusso di vendita completo del prodotto finito creato in precedenza.
Ci aspetteremo quindi che OpenERP crei ordini di acquisto, di produzione e di lavorazione conto terzi in base alla configurazione dei singoli prodotti e che venga movimentato il magazzino di conseguenza siccome è necessario che OpenERP preveda l’uscita della materia prima e l’ingresso del semilavorato.
Creazione dell’ordine di vendita
Procediamo quindi con l’inserimento di un ordine di vendita.
Vendiamo a “Cliente Uno” una unità di “Prodotto Finito“.
Ai fini del test possiamo non curarci di prezzi, imposte ed altri elementi che non andrebbero comunque ad influire sul risultato atteso.
L’importante ovviamente, è creare un cliente ed associare correttamente i fornitori ai prodotti configurati come da acquistare, altrimenti il processo di approvvigionamento genererà delle eccezioni in quanto non sarebbe possibile creare correttamente i movimenti di magazzino.
Non appena confermato l’ordine di vendita, potremo vedere nella dashboard della sezione “Magazzino” che è attesa della merce in uscita.
Il prefisso INT nel codice del movimento, indica un movimento interno, in questo caso la preparazione della merce per la spedizione del prodotto finito al cliente finale.
Non è il movimento di magazzino associabile al DDT, siccome è interpretabile come un “prendi la merce dalla zona produzione e spostala nella zona carico/scarico merci“.
Elaborazione delle operazioni di produzione
L’elaborazione degli ordini di produzione è compito del modulo “procurement” che deciderà cosa è da produrre, cosa da acquistare ed eventualmente cosa deve essere sottratto dalle giacenze di magazzino.
Quest’operazione viene eseguita in automatico da OpenERP ed è gestita da un’operazione pianificata configurabile dalla sezione “Amministrazione”.
Tuttavia, ai fini della nostra guida, possiamo invocare manualmente il task, dal sotto menù “Pianificazione” della sezione “Magazzino“.
Approvvigionamento del materiale
Possiamo vedere che la pianificazione MRP di OpenERP ha creato degli ordini di acquisto e di produzione.
Per poter mandare avanti la produzione dobbiamo ovviamente confermare gli ordini di acquisto così che possa essere ricevuta la materia prima richiesta dalla produzione.
In questo caso, il sistema sta ordinando “Componente 1 e 2” a “Fornitore 1“. Materiale che verrà in seguito inviato al terzista per la lavorazione.
Gli ordini di acquisto ancora da approvare prendono il nome di “Richieste di preventivo” e tecnicamente sono degli ordini di acquisto in stato “Bozza“.
Prima di convalidare gli ordini di acquisto, possiamo eventualmente, visto che il fornitore e le date dell’ordine sono i medesimi, unire gli ordini così da poter inviare al fornitore uno solo ordine risparmiando in operazioni ed eventualmente carta.
Per unire gli ordini, dobbiamo prima di tutto selezionare gli ordini che ci interessa unire.
Se non selezioniamo nessun ordine, OpenERP tenterà di raggruppare tutti gli ordini usando diverse chiavi tra cui fornitore, date, magazzini e conti analitici.
Richiamiamo quindi l’azione “Unione ordini di acquisto“, nella barra destra che compare selezionando almeno un record nella vista ad albero.
Una volta raggruppati gli ordini, noteremo che il documento di riferimento dell’ordine risultante riporta entrambi i riferimenti degli ordini singoli precedenti.
Una volta confermato l’ordine di acquisto, potremo notare nell’area dei logs, che sono stati creati alcuni documenti, tra cui la fattura a fornitore.
Il documento di nostro interesse per i nostri fini è invece “IN/00017” che identifica l’ingresso in magazzino della merce.
Dalla dashboard della sezione “Magazzino” possiamo monitorare la merge attesa.
La merce è in stato “Disponibile”. Possiamo quindi convalidare l’ingresso premendo sull’icona a forma di freccia.
Noteremo a questo punto la presenza di altri due movimenti merce, senza riferimenti a documenti o partners.
Si tratta dei movimenti di ingresso della merce nel magazzino virtuale del terzista che abbiamo configurato in precedenza.
Non è assolutamente necessario convalidare a mano questi movimenti, siccome sarà compito degli ordini di lavorazione.
E’ anzi consigliato filtrare viste e dashboard, così da non elencare questi movimenti, per migliorare l’usabilità del sistema siccome potrebbero confondere gli operatori di magazzino.
Ordini di produzione
L’approvvigionamento, come visto in precedenza, ha creato anche gli ordini di produzione da cui dipende il nostro ordine di vendita.
Come possiamo vedere, OpenERP ci avverte che l’ordine di produzione presso “Fornitore 2” del “Prodotto semilavorato” è “Pronto per entrare in produzione“.
Oltre agli ordini di produzione, OpenERP crea gli “Ordini di Lavorazione” associati ai routings configurati.
Nel nostro caso, sono presenti le due operazioni di lavorazione associate al semilavorato e al prodotto finito, siccome in fase di configurazione delle distinte base, abbiamo optato per far eseguire assemblaggio e lavorazione finale allo stesso terzista piuttosto che altro fornitore o centro di lavoro locale.
Entrando nel dettaglio dell’ordine di produzione invece, possiamo notare come nel campo “Prodotti da Utilizzare” venga specificato “Laboratorio Fornitore 2” come “Punto di Stoccaggio Sorgente” della materia prima.
Siccome l’ordine di produzione è pronto, possiamo premere il pulsante “Avvia Produzione”.
Avviando l’ordine di produzione del semilavorato, automaticamente verrà avviato anche l’ordine di lavorazione associato al routing.
Raggruppando gli ordini di lavorazione per stato, potremo tenere sotto controllo l’avanzamento della produzione.
Ovviamente, nessuna ordine di lavorazione è ancora stato completato, quindi non sono presenti ordini di produzione pronti.
Possiamo a questo punto entrare nell’ordine di lavorazione e completare l’operazione.
E’ comprensibile che il totale delle operazioni da eseguire possa risultare un po’ oneroso e complesso.
OpenERP di base prevede ad esempio che il terzista, in questo caso, abbia un proprio accesso limitato al sistema in modo da poter aggiornare lo stato della produzione in tempo reale.
E’ comunque possibile personalizzare il workflow per automatizzare alcune operazioni nel caso in cui risultassero superflue.
L’ordine di produzione verrà automaticamente avviato ed il suo stato apparirà come “In Produzione“.
Entrando nell’ordine di produzione potremo quindi premere il pulsante “Produrre” per terminare la produzione.
Solo dopo aver premuto su “Produrre” verrà effettivamente prodotto il materiale.
OpenERP ci chiederà dopo la pressione, di confermare la quantità di merce prodotta nel caso in cui il risultato fosse risultato differente.
Terminato l’ordine di produzione del semilavorato, vediamo che è tutto in ordine per eseguire anche la produzione del prodotto finito.
OpenERP avrà a questo punto anche aggiornato le giacenze di magazzino e generato i movimenti necessari.
Possiamo notare che presso il terzista, il semilavorato è disponibile per essere prelevato e lavorato.
Come già accennato, non è necessario confermare questi movimenti di magazzino, siccome è compito degli ordini di lavorazione.
Dalla dashbord produzione, possiamo notare quindi che il secondo ordine di produzione, quello relativo al prodotto finito, è pronto per entrare in produzione.
Il routing riporta anche in questo caso il laboratorio del terzista come luogo dove avviene la produzione (una verniciatura ad esempio).
Possiamo eseguire la lavorazione del prodotto finito (nel caso in cui non sia il fornitore a farlo, tramite il suo accesso limitato al nostro OpenERP), così da poter concludere il processo di produzione di “Prodotto Finito“.
Vediamo che in quest’ultimo caso, la materia prima del nostro ordine di produzione consiste nel semilavorato, prodotto dal ciclo produttivo precedente.
Possiamo come di consueto, premere il pulsante “Produrre” e confermare o meno la quantità di merce prodotta dall’ordine.
Evasione della merce
In magazzino è quindi disponibile la quantità di “Prodotto Finito“, richiesta da Cliente Uno.
Possiamo ovviamente evadere la merce premendo l’apposito pulsante a forma di freccia verde.
Ricordiamoci che OpenERP, prevede un doppio step per l’evasione della merce equivalente a “prelevo la merce dalla zona produzione e la metto nella zona di carico -> prendo la merce dalla zona di carico e la passo al corriere”.
Questo flusso è comunque personalizzabile, siccome deriva dalla selezione delle politiche di spedizione selezionate in fase di configurazione del database.
In fine possiamo notare come sia stato aggiornato lo stato dell’ordine di vendita e come la barra di progresso relativa all’evasione della merce sia al 100%.
Analisi dei movimenti di magazzino
Per completare la guida, possiamo infine recarci nella sezione “Magazzino” e ad esempio raggruppare, dalla vista “Prodotti in uscita“, i movimenti al fine di notare come OpenERP abbia, parallelamente agli ordini di produzione, creato i movimenti di magazzino in uscita verso “Fornitore 2” dai quali eventualmente (previa installazione della localizzazione italiana) stampare i DDT con cui accompagnare l’invio del materiale al terzista.