Sviluppo software

Preventivo creazione software gestionale impresa edile

Ipotizziamo di dover fare un'offerta a un'impresa edile per la realizzazione di un software gestionale personalizzato.


Contesto dell'azienda#

L'azienda ipotetica in questione è innovativa nel suo campo e per questo motivo sta subendo una fase di espansione, nonostante il settore sia in crisi.

L'impresa edile è innovativa perché di fatto si tratta di un broker di servizi edili: l'azienda si pone come unico referente per tutti i servizi che si possono offrire in campo edile.

L'azienda quindi si occupa di tutti i settori del campo edile e di tutti quelli collegati. Per fare un esempio l'azienda si occupa di:

  • progettazione;
  • realizzazione di nuove costruzioni;
  • ristrutturazioni;
  • interventi di isolamento termico/acustico;
  • impiantistica elettrica;
  • domotica;
  • sicurezza;
  • impiantistica idraulica;
  • fornitura di arredi;
  • cura del verde;
  • ecc.

Chiaramente l'azienda non ha una struttura tale da realizzare in prima persona tutti i servizi che offre, ma si avvale di una rete di collaboratori specializzati.

Il successo di questa realtà è dovuto al fatto che i servizi sono di qualità e il cliente ha un unico referente con cui interfacciarsi che si preoccupa di tutti gli aspetti: dalla cura del giardino fino al rifacimento dell'impianto idraulico e all'installazione di un impianto di videosorveglianza.

Dato il successo dell'azienda, il titolare si rende subito conto che un grosso limite è la fase di preventivazione che richiede molto tempo. Inoltre, molto di questo tempo è proprio sprecato perché dato il periodo di crisi, molti chiedono preventivi e pochi di questi si trasformano in lavori.

Tutto sommato però le cose vanno bene e l'imprenditore decide di assumere un'impiegata a cui demandare una parte di questa attività. Attualmente questa attività viene svolta con dei fogli excel: ogni preventivo è composto da oltre 100 voci che devono essere ricopiate a mano con gli evidenti problemi di tempo e correttezza. Il foglio excel si limita a fare i totali.

Non è infrequente che un preventivo da un centinaio di voci e un totale di 100'000€, richieda al nostro titolare 4 giornate di lavoro. Inoltre, nonostante il preventivo venga riletto più volte può comunque capitare che venga commesso un errore del 5% sul totale, in questo caso quindi un errore di 5'000€!!

Considerando che vengono fatti circa 100 preventivi all'anno e una decina va in porto stiamo parlando di un errore di 50'000 €.

Il titolare dopo un'attenta riflessione si pone il quesito: se lui, che è il titolare, impiega 4 giornate di lavoro per fare un preventivo e a volte commette errori da alcune migliaia di euro, cosa succederà quando demanderà questa attività a un dipendente?

Ecco allora che realizza che ha bisogno di un software di preventivazione pensato per il suo settore edile.

Purtroppo, dopo una ricerca su Google scopre che esistono vari software di preventivazione, ma nessuno va bene per la sua attività perché innovativa e inusuale.

Decide quindi di chiedere una quotazione per la realizzazione di un software personalizzato per la preventivazione in campo edile.

Visti gli errori commessi nell'ultimo anno e sapendo che l'investimento verrà ammortizzato sui prossimi anni, decide che può investire tranquillamente un budget di 20'000 euro.

Descrizione dei requisiti#

La necessità dell'imprenditore è quella di effettuare preventivi richiamando le voci di ogni preventivo da un'anagrafica articoli che deve contenere tutti i possibili lavori o materiali oggetto di un preventivo.

In questo modo è il software a ricopiare i dati degli articoli nel preventivo: inseriti la prima volta correttamente, verranno ricopiati tutte le volte senza errori. Inoltre, definendo su ogni articolo la percentuale di ricarico, la possibilità di commettere errori sul margine sarà pressoché nulla: all'uscita di un nuovo "listino fornitore" basterà aggiornare i costi riportati nell'anagrafica articoli per fare in modo che i costi al cliente si aggiornino senza errori in modo automatico, con il ricarico definito.

Il preventivo visualizzerà per ogni voce il margine netto, calcolato considerando i prezzi di vendita, i costi dei fornitori, la scontistica applicata e le provvigioni degli agenti. Il software dovrà avvisare quando un margine è negativo impedendo di proseguire. Questo controllo renderà impossibile realizzare preventivi sottocosto.

Dopo l'accettazione di un preventivo dovrà essere possibile convertirlo in un consuntivo con funzionalità di modifica del tutto analoghe a quelle del preventivo.

Il preventivo dovrà essere stampato e per questo motivo si prevede la generazione di un file PDF a partire dai dati del preventivo. Il file PDF così creato dovrà contenere tutte le voci corredate dalle immagini degli articoli (cosa impossibile da realizzare con Excel).

Per finire dovrà essere prevista una procedura di importazione degli articoli da un foglio Excel: l'imprenditore non vuole dover reinserire tutti gli articoli che ha raccolto sul suo foglio Excel, ma giustamente li vuole importare in un sol colpo nel gestionale.

Il foglio Excel è composto da più di 6000 righe e se le dovesse reinserire a mano ipotizzando 3 minuti a riga, ci vorrebbero 300 ore di lavoro. Ipotizzando un costo orariodi 15 euro/ora, sarebbero 4'500€.

Fortunatamente è possibile realizzare la funzionalità di importazione perché il foglio Excel di origine è ben fatto e ha una struttura fissa che l'imprenditore ha mantenuto diligentemente: ogni colonna ha un suo valore preciso.

Ricapitolando le esigenze principali sono:

  • realizzare preventivi in modo rapido e semplice richiamando le voci da un'anagrafica articoli;
  • possibilità di aggiornare i costi fornitori in modo rapido e senza commettere errori;
  • prevenire errori delle seguenti tipologie:
    • errori di copia incolla;
    • errori di scontistiche o provvigioni eccessive;
    • errori di sottocosto;
  • convertire i preventivi in consuntivi modificabili;
  • stampare i preventivi e i consuntivi;
  • poter importare gli articoli da un foglio excel;

Raccolte le esigenze basilari del software, la software house concorda con l'imprenditore che il software di interesse dovrà essere composto da varie anagrafiche.

Le anagrafiche del software si possono suddividere in due macro gruppi: anagrafiche di supporto e anagrafiche primarie.

Le anagrafiche primarie rappresentano il cuore del software: in questo caso gli articoli, i preventivi e i consuntivi.

Le anagrafiche secondarie contengono i dati che verranno richiamati dalle anagrafiche primarie o che comunque sono di contorno all'attività principale che dovrà essere guidata dal software: la realizzazione di preventivi.

Anagrafiche di supporto o secondarie#

Anagrafica Utenti

  • Più utenti diversi potranno accedere al gestionale: il titolare, i dipendenti e gli agenti di vendita.
  • Ogni utente sarà definito dai seguenti campi: nome, nome utente, password, ruolo
  • Saranno presenti 2 ruoli: titolare (può effettuare tutte le operazioni consentite dal software), dipendente (può fare solo preventivi con alcune limitazioni, con l'obiettivo di impedire l'introduzione di errori).

Anagrafica Clienti

Oltre ai soliti dati (Ragione sociale/Nome, Partita IVA/C.F., Referente, Telefono, Fax, Indirizzo, E-mail, Sito) è molto importante poter specificare lo sconto massimo e se si tratta di un Privato o di una Azienda.

Un cliente privato avrà prezzi e scontistiche diverse dai prezzi e dalle scontistiche di un'azienda. Inoltre a parità di tipologia, due clienti privati avranno degli sconti diversi a seconda se si tratta di un cliente di lunga data o di un nuovo cliente.

Anagrafica Agenti

Oltre ai soliti dati (Nome, Telefono, Cellulare, email, Partita IVA/C.F., Indirizzo) è importante poter specificare la percentuale di provvigione. Anche in questo caso se l'agente procura molti lavori sarà possibile ricompensarlo con provvigioni più alte.

Anagrafica Categorie

I lavori e i servizi erogati saranno classificati in categorie e sottocategorie. Questo faciliterà la ricerca degli stessi per categoria e consentirà di totalizzare per categoria gli importi del preventivo.

Ogni categoria è definita da una descrizione. Es. Edile, Elettrico, Idraulico, ecc.

Anagrafica Sottocategorie

Ogni sottocategoria è definita da una descrizione e dalla categoria di appartenenza. Es. Edile-Pavimenti, Elettrico-Illuminazione, Idraulico-Sanitari, ecc.

Unità di Misura

Alcuni articoli/servizi verranno venduti a numero altri a peso ecc.

Ogni Unità di Misura è definita dalla sigla. Es. PZ, KG, ecc.

Anagrafica Fornitori

Ogni servizio o articolo verrà fornito da un fornitore. Di conseguenza servirà un'anagrafica fornitori. Ogni fornitore è definito dai seguenti dati: Ragione sociale/Nome, Partita IVA/C.F., Referente, Telefono, Fax, Indirizzo, E-mail, Sito

Anagrafiche Primarie#

Anagrafica Articoli

Per articolo si intende sia un articolo fisico come può essere un lavandino, una telecamera, ecc. sia la manodopera necessaria alla sua "installazione".

In generale ogni voce del preventivo avrà associato un costo di manodopera e un costo dei materiali. Ad esempio un articolo potrebbe essere: "fornitura e posa lavandino". Associato a questo articolo ci saranno due costi: materiali e manodopera. Inoltre il costo dei materiali potrebbe provenire da un fornitore diverso dal costo del fornitore della manodopera.

Detto ciò, quindi, ogni articolo sarà definito dai seguenti campi:

  • Descrizione
  • Categoria (es. Edile, Elettrico, Idraulico, ecc.): verrà richiamata dall'anagrafica di supporto
  • Sottocategoria (es. Pavimenti, Illuminazione, Sanitari, ecc.): verrà richiamata dall'anagrafica di supporto
  • Unità di Misura (es. Pz,Kg, ecc.): verrà richiamata dall'anagrafica di supporto
  • Note
  • Immagine;
  • Fornitore manodopera: si veda l'anagrafica fornitori;
  • Costo fornitore manodopera;
  • Codice articolo fornitore manodopera: serve nella fase di ordine al fornitore per specificare esattamente il servizio richiesto;
  • Fornitore materiali: si veda l'anagrafica fornitori;
  • Costo fornitore materiali;
  • Codice articolo fornitore materiali: serve nella fase di ordine al fornitore per specificare esattamente l'articolo richiesto;
  • Ricarico percentuale cliente privato;
  • Ricarico percentuale azienda;

Con questi dati il software calcolerà in automatico il prezzo netto di vendita per privati e per aziende.

Preventivi e Consuntivi

I preventivi e i consuntivi saranno visualizzati in una griglia comune e con un apposito filtro sarà possibile visualizzare solo i preventivi o solo i consuntivi.

Il preventivo sarà composto dalle seguenti parti:

  • Testata
  • Righe

Testata Preventivo

La testata del preventivo sarà composta dai seguenti campi:

  • il cliente: preso dall'anagrafica clienti;
  • utente creazione che discende dall'utente collegato al sistema nel momento della creazione;
  • utente ultima modifica che discende dall'utente collegato al sistema nel momento del salvataggio;
  • data di creazione
  • data e ora ultima modifica (Non modificabile)
  • il numero del preventivo, generato in automatico secondo uno schema numero/anno;
  • oggetto del preventivo
  • agente preso dall'anagrafica agenti
  • condizioni di vendita: copiato dalla pagina di configurazione (vedi sotto)
  • aliquota IVA: copiato dalla pagina di configurazione (vedi sotto)
  • tipo di pagamento: sarà possibile scegliere tra i seguenti tipi di pagamento predefiniti
    • 50% e 50%: anticipo 50% alla firma e 50% a fine lavori (per i lavori che durano poche settimane);
    • 30% e 70%: anticipo 30% alla firma e 70% a fine lavori suddiviso in 3 tranches (per i lavori che durano più mesi);
    • 100%: il totale contestualmente al lavoro (per i lavori che durano pochi giorni);

Righe Preventivo

Il preventivo sarà composto da varie righe, ogni riga conterrà i seguenti dati:

  • Campo testuale per indicare il riferimento alla stanza dell'edificio in cui verrà svolto il lavoro: verrà prevalorizzato con l'ultimo valore inserito e sarà modificabile a piacimento (Es. Bagno, Soggiorno, Camera da letto, ecc.).
  • Articolo preso dall'anagrafica articoli;
  • Dati ripresi dall'articolo e modificabili;
  • Quantità: inserito manualmente;
  • Prezzi Vendita
    • Prezzo vendita: copiato dall'articolo;
    • Sconto massimo: copiato dal cliente;
    • Sconto riga applicato: dovrà essere inferiore allo sconto massimo
    • Totale vedita: prezzo vendita scontato * quantità
  • Prezzi Acquisto
    • Fornitore manodopera: riferimento copiato dall'articolo;
    • Costo fornitore manodopera: copiato dall'articolo;
    • Codice articolo fornitore manodopera: copiato dall'articolo;
    • Fornitore materiali: riferimento copiato dall'articolo;
    • Costo fornitore materiali: copiato dall'articolo;
    • Codice articolo fornitore materiali: copiato dall'articolo;
    • Prezzo acquisto: "Costo fornitore manodopera" + "Costo fornitore materiali";
    • Totale lordo: prezzo acquisto * quantità
    • Provvigione percentuale: copiato dall'agente
    • Provvigione in euro: calcolato sul totale vedita
    • Totale acquisto: "totale lordo" + "provvigione in euro"
  • Ricavo: totale vedita - totale acquisto. Se negativo viene evidenziato in rosso e non permette di salvare.
  • Spunta salva articolo: se viene spuntato questo campo, nel momento del salvataggio oltre a inserire la riga nel preventivo verrà anche inserito l'articolo. Questa possibilità è riservata esclusivamente al titolare.

Note:

  • Il titolare può modificare tutto, i dipendenti possono modificare solo la quantità e lo sconto entro i limiti impostati dallo sconto massimo;
  • Se il ricavo è positivo il relativo valore si colora di verde, se è negativo il relativo valore si deve colorare di rosso e non deve essere possibile salvare senza aver prima corretto;

Stampa Preventivo

Sarà presente una funzionalità di "stampa preventivo" che creerà un file PDF non modificabile così composto:

  • Prima pagina: viene indicato l'oggetto, i dati del committente presi dall'anagrafica cliente, il numero del preventivo e la data.
  • Nelle pagine seguenti verranno riportate le righe del preventivo così come inserite, raggruppate per Categoria e Stanza.
  • Per ogni raggruppamento (stanza, categoria) è previsto un subtotale;
  • Per ogni riga verranno riportati i seguenti dati:
    • numero riga incrementale
    • UM
    • Q.TA
    • Prezzo
    • Sconto
    • Totale
    • Immagine dell'articolo
  • Alla fine verrà generata una pagina "Quadro Economico" in cui vengono visualizzati solo i totali per categoria con i seguenti campi: Nome Categoria, Totale.
  • In fondo alla pagina dei totali vengono riportati i seguenti campi:
    • Imponibile;
    • IVA;
    • Totale offerta IVA inclusa;
  • Dopo la pagina dei totali verrà generata una pagina con le CONDIZIONI DI VENDITA contenente il testo preso dal preventivo e una serie di campi calcolati riguardanti le tranches dei pagamenti così come definito nel preventivo;

Consuntivi

  • I Consuntivi vengono generati per copia dai Preventivi e pertanto contengono gli stessi dati;
  • Possono essere modificati;
  • La stampa di un Consuntivo genera un foglio PDF del tutto analogo a quello dei preventivi con le seguenti differenze:
    • Al posto di Preventivo c'è scritto Consuntivo;
    • Non c'è il foglio delle Condizioni di Vendita;

Altre pagine#

Oltre alle anagrafiche descritte saranno necessarie anche le seguenti pagine.

Pagina Login

L'accesso al software sarà regolato da una pagina di Login che richiederà l'inserimento delle credenziali dell'utente.

Configurazione

Da una pagina di configurazione sarà possibile impostare:

  • il testo delle condizioni di vendita
  • l'aliquota IVA in vigore ovvero la percentuale dell'IVA

Trattandosi di preventivi, in ogni momento sarà attiva una sola aliquota IVA (quella più alta).

Procedure batch#

Con il nome procedure batch si intendono tutte quelle procedure automatiche di importazione, esportazione o elaborazione dati. In questo caso l'unica procedura è quella di importazione dell'anagrafica articoli.

Importazione anagrafiche articoli da foglio excel

La procedura dovrà alimentare l'anagrafica articoli con i dati presenti nel foglio excel. La sorgende dati sarà il folgio excel e la destinazione sarà la tabella anagrafica articoli su database.

Scelte realizzative e tecnologiche#

Se dovessimo realizzare un software gestionale di questo tipo sicuramente utilizzeremmo le tecnologie web per le caratteristiche di longevità, affidabilità, manutenibilità, scalabilità, ubiquità e usabilità.

I vantaggi ormai sono ben noti, li abbiamo descritti sul nostro blog e negli approfondimenti del nostro sito:

Stima di tempi e costi per la realizzazione del software gestionale#

Dall'analisi ricapitoliamo gli elementi da realizzare per tipologia:

  • Anagrafiche secondarie:
    • Anagrafica Utenti
    • Anagrafica Clienti
    • Anagrafica Agenti
    • Anagrafica Categorie
    • Anagrafica Sottocategorie
    • Unità di Misura
    • Anagrafica Fornitori
  • Anagrafiche primarie:
    • Anagrafica Articoli
    • Anagrafica Preventivi e Consuntivi
  • Stampe:
    • Stampa Preventivo e Consuntivo: testata, corpo, quadro economico, condizioni di vendita
  • Altre pagine:
    • Pagina login
    • Pagina Configurazione
  • Procedure batch:
    • Importazione anagrafiche articoli da foglio excel

A questo punto nota l'analisi è facile fare il calcolo del preventivo.

Basta considerare che:

  • ogni anagrafica è composta da due schermate:
    • una griglia di manutenzione paginabile, filtrabile, ordinabile e ricercabile;
    • una form di manutenzione con interfaccia semplificata e controlli di validità dei dati inseriti;
  • l'anagrafica dei preventivi e consuntivi essendo una testata righe è composta da 4 schermate;
  • la stampa del preventivo e del consuntivo sono molto simili e si possono considerare come una sola stampa, ma composta da 4 pagine/schermate diverse;
  • ci sono due pagine accessorie: login e configurazione;
  • la procedura batch coinvolge una sorgente e una destinazione: quindi due tabelle logiche.

Contando ci sono quindi:

  • 8 anagrafiche x 2 = 16 schermate
  • 1 anagrafica x 4 = 4 schermate
  • 1 stampa x 4 = 4 schermate
  • 2 schermate
  • 2 tabelle

Quindi in totale: ( 26 schermate x 400 euro ) + (2 tabelle x 400 euro) = 11'200 euro

In questo caso il budget dell'imprenditore è più che sufficiente: 11'200 euro \< 20'000 euro.

Ai prezzi riportati vanno aggiunte le seguenti spese:

  • installazione: 200 euro (da farsi una sola volta sul server web)
  • formazione: 200 euro (per intuitivo che sia il progetto è bene prevedere sempre almeno una mezza giornata di formazione)

Quindi ricapitolando per un progetto come questo l'investimento da fare si aggira intorno agli 11'000 euro.

Hai delle domande? Hai bisogno di una quotazione per la realizzazione di un software gestionale personalizzato? Contattaci senza impegno!

Autore: Giovanni Chiodi
Senior software developer con più di 13 anni di esperienza nello sviluppo di soluzioni web based, enterprise, su misura. Dal 2011 socio fondatore di Garda Informatica Snc condivide questa avventura col fratello Lorenzo.

Che soluzione cerchi?#

Read more!

Newsletter

Ti è piaciuto questo articolo? Iscriviti alla newsletter

Di tanto in tanto pubblichiamo nuovi articoli come questo. Se vuoi essere avvisato lascia il tuo indirizzo e-mail di seguito.

Non invieremo mai SPAM e non condivideremo la tua e-mail con altri. Per maggiori informazioni consulta la privacy policy.

Attendere prego...

closeIcona closesearchIcona searchmore vertIcona more vertmenuIcona menushareIcona sharearrow upwardIcona arrow upward