Gestione progetti e cantieri con Odoo

Dal colore della data di avvio o della data di fine dell’attività è subito evidente se è in ritardo:

  • in giallo le date di avvio non rispettate;
  • in rosso le date di fine non rispettate.

(questa immagine è relativa ad oggi 12 luglio 2016)

Attività-in-ritardo-nell-avvio

La stessa cosa è visibile anche nella vista elenco:

Attività-in-ritardo-nell-avvio-tree

Per creare un progetto, è bene avere dei template, come prevede già la versione base di Odoo.

E’ preferibile però avere dei template componibili per gestirli meglio, in pratica poter mettere insieme diversi modelli, senza dover creare un unico super-modello da cui poi si deve magari togliere un sacco di attività inutili.

Per questo è stata creata la funzionalità “Includi il progetto”, che permette di inserire le attività di un progetto (modello) all’interno di un altro progetto (creato o no da un altro modello).

Per farlo, basta entrare in un qualsiasi modello e dal menu a tendina in alto (visibile quando non in modifica) scegliere l’opzione “Includi il progetto”. Se viene tolta la spunta da “duplica” le attività verranno spostate e non copiate, svuotando il progetto corrente.

includi-il-progetto

Registrazione fattura acquisti CEE con Odoo!

Per registrare una fattura CEE, il processo è automatico. Bisogna solo configurare la prima volta alcune opzioni.

1. Configurare nella posizione fiscale “Regime Intra CEE acquisti” un sezionale standard (da creare al volo) per gli acquisti CEE, attivare la Gestione Reverse Charge e indicare il Conto Transitorio, il Sezionale Giroconto (per il movimento di giro dei conti transitori), il Sezionale Autofattura e il partner su cui verrà emessa l’autofattura.

Acquisti-CEE-posizione-fiscale

e nel codice IVA utilizzato nelle fatture di acquisto, il codice IVA che verrà utilizzato nelle fatture di vendita:

Codice-iva-reverse

2. Nel fornitore CEE, è preferibile già impostare la posizione fiscale “Regime Intra CEE acquisti”, in modo che venga selezionata in automatico alla selezione del fornitore. Inoltre verrà preselezionato il sezionale acquisti di default indicato nella posizione fiscale.

Acquisti-CEE

3. Quindi si procede all’inserimento come una normale fattura di acquisto. Dopo l’approvazione, verranno creati in automatico:
– l’autofattura
– il giroconto dei conti transitori
– la fattura di acquisto
come si può vedere nella scheda “Altre informazioni”

Acquisti-CEE-movimenti

4. E’ possibile quindi verificare i movimenti creati per l’acquisto:

Acquisti-CEE-movimenti-acquisto

5. quelli per l’autofattura

Acquisti-CEE-autofattura

6. e per il giroconto

Acquisti-CEE-giroconto

Creazione codice IVA con Odoo

Creazione codice IVA

Creare un codice IVA con Odoo è molto semplice usando il metodo mostrato in questo video, in cui viene duplicato semplicemente l’oggetto imposta.

Nel video sopra però è stato usato un database con dei dati di prova, in particolare con le imposte di test, che hanno un conto imposta* unico per le vendite, un’altro per gli acquisti e così via.

Nelle localizzazioni utilizzate normalmente i conti sono suddivisi (per le stampe fiscali) per cui è necessario creare dei conti imposta ad ogni creazione di una nuova imposta.

Inoltre con la duplicazione viene duplicata solo l’imposta, non gli oggetti collegati, che non vanno quindi modificati ma ricreati a loro volta. Creare questi conti non è molto pratico, per cui abbiamo modificato l’oggetto imposta e la vista per permettere una creazione automatica, come da video seguente:

 

Le modifiche eseguite sono sempre nella logica simple, estendendo la logica esistente dove possibile e creando il meno possibile nuovi oggetti. Questo tipo di approccio è stato possibile solo grazie ad una pre-configurazione completa delle imposte (con tutti i vari campi aggiunti per le norme italiane), che si trovano già pronte all’installazione.

*in Odoo le imposte hanno un proprio conto – che non va sul pdc ordinario – e creano un vero e proprio pdc imposte.

Valutazione del magazzino in Odoo 8.0

Periodicamente le aziende con uno o più magazzini devono fare una valutazione del magazzino

con un inventario dei prodotti in stock, assegnando un valore ad ogni prodotto o categoria di prodotti secondo una delle modalità di valutazione previste dal Codice Civile (FIFO, LIFO o costo medio ponderato, per un dettaglio vedi l’articolo Giacenze_di_magazzino su Wikiversity).

Dalla versione 8.0 di Odoo la gestione del magazzino è stata notevolmente migliorata, in particolare:

  1. si può fare un inventario per periodo, per cui non è un problema farlo anche a posteriori per un qualsiasi periodo
  2. si può modificare a posteriori il tipo di valorizzazione dell’articolo: i movimenti già registrati vengono ricalcolati secondo la modifica fatta

Nel prodotto è possibile scegliere che la valutazione degli scarichi (n.b.: quella dei carichi è sempre al costo d’acquisto) sia fatta a:

    1. Standard price: con questo metodo il prezzo viene aggiornato manualmente, tipicamente a fine anno (in questo caso ci si prende la responsabilità di fare i conti manualmente della valorizzazione degli articoli secondo la normativa)
Tipo di valorizzazione del prodotto
Tipo di valorizzazione del prodotto
  1. Average price: in questo caso il prezzo viene aggiornato ad ogni acquisto alla media ponderata calcolata sulla quantità esistente a magazzino, la forma tecnica è “Costo medio ponderato per movimento”
  2. Real price: in quest’ultima situazione il prezzo viene inserito secondo il metodo FIFO (standard) o il metodo LIFO (continuo) se nella configurazione della categoria del prodotto è stato impostato il “Force removal strategy” (vedi immagine seguente).
Impostazione FIFO/LIFO categoria prodotto
Impostazione FIFO/LIFO categoria prodotto

Da questa impostazione si desume che si può scegliere il tipo di valorizzazione (LIFO o FIFO) solo per categoria di prodotti, che sembrerebbe un limite ma è molto più comodo da gestire in caso di variazioni.

Fin qui non fa una grinza, ma

dove si trova il valore totale del magazzino?

Il sistema previsto da Odoo è la creazione di un movimento contabile di entrata per ogni acquisto (o reso da clienti o surplus di inventario) e un movimento di uscita (o reso a fornitori o perdita di inventario) nel registro Stock Journal. Nella stessa schermata della categoria prodotto sono infatti configurabili 3 conti:

  1. Contabilità stock in ingresso
  2. Contabilità stock in uscita
  3. Conto valorizzazione di magazzino

Questa soluzione sarebbe perfetta (vedi successive note), in quanto si ha la possibilità di recuperare la valutazione del magazzino a qualsiasi giorno dal passato fino ad oggi, attraverso il saldo del conto inserito per la valorizzazione del magazzino alla data, senza tra l’altro dover fare alcuna registrazione contabile. Notare che il valore è ricavabile sia dalle righe di movimentazione del magazzino che dal conto contabile, in pratica con una ridondanza di dati (vedi immagini seguenti), per cui si può scegliere in piena autonomia se fare:

  1. registrare automaticamente un movimento contabile per ogni movimento di magazzino (possono essere anche decine di migliaia di righe per anno in una piccola azienda di produzione o commerciale, che non sono un granchè a livello di database);
  2. registrare manualmente una singola registrazione quando serve dai valori ricavati dal magazzino.
Valuazione inventario dal conto di contabilità
Valuazione inventario dal conto di contabilità
Valuazione inventario dal magazzino
Valuazione inventario dal magazzino
Nota1:

se viene cambiato il tipo di valorizzazione a livello di categoria prodotto da LIFO a FIFO o viceversa, non viene eseguita alcuna modifica sui movimenti, sia di magazzino che eventualmente contabili, già creati, per cui è importante che la scelta venga fatta e applicata all’inizio del periodo.

Nota2:

se viene cambiato il metodo di determinazione costi da Real price a Costo medio ponderato o Costo standard, i valori nei movimenti di magazzino vengono aggiornati, mentre non vengono toccati i movimenti contabili creati (dovrebbero in teoria essere eliminati). Vale quindi sempre la raccomandazione di scegliere se effettuare la valutazione con il metodo Tempo reale (automatico) all’inizio.

Nota3:

per avere un totale che coincida con i calcoli fatti sul sito Wikiversity nel caso “media ponderata”, utilizzare 3 decimali, vedi immagine seguente:

Impostazione decimali prezzo del prodotto
Impostazione decimali prezzo del prodotto

Marketing, pubblicità di software erp e mondo reale

Il marketing è una materia complessa e di cui vediamo particolarmente la parte relativa alla pubblicità. Personalmente di solito evito di guardarla, però a volte è intrigante, altre divertente, qualche volta perfino utile.

Nell’attività aziendale è necessario farne, e spesso nel messaggio si punta all’esagerazione per ottenere l’attenzione. Che va bene in alcuni casi, in altri meno, in altri per nulla.

Nel settore di cui si parla in questo blog non va bene esagerare, anzi non va bene dire nulla di più di quello che è. Il motivo è semplice, le funzionalità di un software partono da stampare un bel “Hello world!” sullo schermo, fino a… cosa? Non c’è un limite superiore che non si possa raggiungere con gli strumenti adatti (e gli investimenti relativi).

Per questo credo che il cambiamento di rotta che ha preso Fabien Pinckaers [fondatore e CEO di OpenERP SA] in un recente post sia molto importante e un segno di maturità: “It’s important to tell what WE DON’T DO, not only what we will do”.

Il messaggio è chiaro: dire quello che il nostro software erp non fa, specificarlo a chiare lettere subito, quando si ha il primo incontro con il cliente. Non limitarsi a dire quello che fa e lasciare il resto all’immaginazione del potenziale cliente.

Un software è specializzato per fare determinate cose, non può esserci un software specializzato a fare tutto (sarebbe un controsenso in termini, perchè sarebbe de-specializzato).

Completamente d’accordo.

A che serve un software erp?

Molti anni fa sono andato a fare il militare. Erano i primi anni ’90, avevo appena completato le superiori e prima di ricevere la famosa cartolina, avevo seguito un corso di computer (su a quei tempi potenti 486dx).

Quindi avevo imparato qualcosa in più di quello che passava la scuola statale. Mi ero perfino comprato un paio di manuali (su Lotus 1-2-3 e DBaseIV, che tenevo come oracoli).

Quindi, superato il primo periodo di CAR [addestramento reclute],  mi sono cimentato con l’inventario dello spaccio militare di una caserma da 800~1200 reclute, a seconda del periodo.

Tenuto ovviamente su efficientissimi registri cartacei, il tutto molto gestibile, dato anche l’abbondanza di manodopera a basso costo in caserma…

Cosa potevo fare io se non cimentarmi nel mio primo decente foglio di calcolo kilometrico? Mica mi  facevo scoraggiare dal pc (un 286), o dall’ambiente (chi te lo fa fare?), anche perchè almeno il Lotus 1-2-3 c’era, e quindi…

A questo serve il software: a semplificare e migliorare il lavoro d’ufficio.

Dei software d’ufficio, il software dedicato a gestire l’azienda nel suo complesso è il software erp, spesso integrato con altri strumenti esistenti. Mi vengono in mente alcune caratteristiche di questo software a cui non rinuncerei: intuitività, solidità, velocità, accessibilità.

Intuitivo vuol dire che se quel tasto sembra che funzioni così, deve funzionare così (almeno secondo il 9x% degli utenti).

Solido vuol dire che deve stare in piedi almeno per x mesi senza disturbare.

Veloce vuol dire che deve eseguire quello che impiegherei x tempo a fare con altri strumenti in una frazione di x.

Accessibile vuol dire che lo posso vedere da dove mi serve.

Ai tempi dei 286 non si poteva pensare a questi “dettagli”, ma ora non è più accettabile lavorare con strumenti senza queste qualità, e altre non meno importanti (sicurezza, gestione permessi, utenti, ecc.), perchè ci mettiamo fuori gioco, fuori da un mercato competitivo come non è mai stato.

OpenERP e l’integrazione dei gestionali.

L’integrazione dei gestionali con Openerp

Alla nascita di un’azienda, solitamente, si acquistano le cose essenziali per il proprio business. Un software gestionale è necessario per fare DDT e fatture (anche la contabilità e il bilancio se si ha del personale adeguato). In seguito, se tutto fila liscio, ci si trova a dover gestire la produzione, o i cantieri, o gli autisti, con sistemi più o meno manuali, per cui si finisce con l’acquistare un altro gestionale, specifico per questa necessità.

struttura gestionali
struttura gestionali

Alla fine si possono arrivare ad avere due, tre, diversi gestionali per coprire esigenze specifiche della nostra attività. E’ evidente che non è il massimo, perchè molto dati sono comuni ai vari gestionali (anagrafiche soprattutto) e comportano un aumento dei tempi di gestione, come pure la possibilità di errori nell’inserimento doppio/triplo dei dati.

E, cosa non ultima, ci limitano (e di molto) la possibilità di avere dati aggiornati in tempo reale, anzi di solito non ce li danno proprio. Questo perchè i vari sistemi non dialogano tra di loro, a meno di soluzioni di integrazione.

Il passaggio successivo è infatti l’integrazione dei vari gestionali, che avviene solitamente con delle procedure automatiche eseguite una volta ogni tot tempo, tra i diversi database. Soluzione che ovvia ad alcuni problemi, ma che alla fine è solamente un rattoppo ad una situazione non ottimale.

struttura gestionali connessi
struttura gestionali connessi

L’integrazione con OpenERP non è a questo livello, ma è al livello successivo: i gestionali spariscono, l’ERP contiene tutte le funzionalità che avevamo nei precedenti software gestionali. Ciò è possibile tramite una personalizzazione dell’ERP, resa molto più comoda dalla struttura framework dell’ERP. Permette inoltre di avere i dati in tempo reale e di avere degli extra-dati aggiuntivi, che danno quel quid in più che spesso serve per prendere decisioni, anche di fondamentale importanza.

struttura erp
struttura erp

Software gestionali

Usabilità e test

I commerciali delle software-house sanno elencare in maniera esaustiva cosa fanno i loro software gestionali: vendite, acquisti, magazzino, crm, produzione, chi aggiunge la procedura d’assunzione e valutazione del personale, ecc.

Il “come” lo fanno possono provare a spiegarlo, almeno in maniera teorica: di solito i commerciali usano una parte molto limitata del gestionale. E’ anche un fattore logico e di economia: i test dei software gestionali sono affidati a chi fa la QA, o test di qualità, che spesso avviene con l’uso diretto misto ai test su diversi database, ed è eseguito da personale che ha esperienza delle stesse operazioni, maturata ovviamente anche su altri sistemi gestionali.

E’ in questo “come” e nel sistema di QA che si nota la differenza tra le aziende che producono software.

test software gestionali

Non è possibile testare e quindi vendere un software per la produzione se non si ha idea di cosa voglia dire gestire un magazzino. Né si può pensare di dare un gestionale per fare la contabilità se non si sa cosa sia una chiusura contabile.

E’ per questo motivo che aziende anche di un certo spessore si trovano impantanate in questioni banali (banali per chi non ne ha esperienza) come distinta base o registro IVA: perchè non hanno personale con un’esperienza in materia.

Il valore di un software gestionale sta nella capacità di ridurre l’intervento umano per generare valore aggiunto, riducendo il margine d’errore e guidando l’utente nei processi: ma se questa guida non è stata provata da persone che lo fanno di mestiere, che valore può avere?

Questo è il punto cruciale che abbiamo messo in cantiere per arrivare ad un gestionale usabile con un’ottica italiana, ma con uno spirito internazionale.

Stay tuned

Regole di riordino sul venduto

Modulo di riordino sul venduto

Grazie alla richiesta di un utente del forum italiano di OpenERP in questo thread
abbiamo sviluppato un piccolo modulo per il riordino sul venduto che è stato integrato nel branch stock-logistic-warehouse nella rev. 29.

La descrizione della funzione del modulo è questa (tradotta):
Questo modulo permette di migliorare le norme di riordino del modulo magazzino. Funziona prevedendo lo stock necessario per ogni prodotto per n giorni di vendita, con la successiva formula: ((quantità vendute in days_stats * (1 + forecast_gap)) / * days_stats days_warehouse) dove:
– days_stats = giorni sul quale calcolare le statistiche di vendita;
– forecast_gap = previsione di aumento / diminuzione delle vendite (%);
– days_warehouse = giorni di magazzino da tenere a magazzino.
Uso: inserire le variabili days_stats, forecast_gap e days_warehouse nel form del prodotto e creare una regola di riordino per lo stesso prodotto, senza inserire nulla (né la quantità massima né la minima sono obbligatorie). Il cron job viene eseguito tutti i giorni e aggiornerà il quantitativo massimo nella regola riordino (è possibile forzare il cron cambiando la data e l’ora di esecuzione). Questo modulo non ha bisogno del modulo purchase per funzionare, ma è utile con quel modulo.

In sostanza con questo modulo non è più necessario calcolare la quantità da tenere in magazzino per i vari articoli, che viene presunta in base al venduto tramite le variabili inserite.

riordino sul venduto
riordino sul venduto