← Tutti i progetti

In produzione

ERP per un’azienda manifatturiera di strumentazione industriale

Un ERP in uso reale per vendite, commesse, acquisti, magazzino, fatturazione e assistenza tecnica. I due sviluppatori precedenti erano usciti senza passaggio di consegne.

Ruolo
Progetto ereditato
Periodo
Da ottobre 2026
Stato
In produzione, usato ogni giorno dal cliente.
Stack
Laravel 12
Livewire 3
Flux
Pest
Spatie Permission
Browsershot
Reverb
TipTap
Barcode
Forge

In meno di due settimane ho sviluppato e rilasciato in produzione, a lotti, tutte le 97 segnalazioni aperte.

Fatturazione

  • 8 tipologie di documento con serie di numerazione separate, IVA con la natura richiesta dallo SdI.
  • Il numero si assegna solo all’emissione. Da quel momento la fattura è bloccata e si corregge solo con una nota di credito.
  • Scadenze calcolate da 14 termini di pagamento, con le RiBa di agosto e dicembre rinviate.
  • PDF con filigrana BOZZA finché la fattura non è emessa.

Preventivi e consuntivi dal rapportino

  • Ore, viaggio, materiali e chilometri del tecnico diventano un preventivo o un consuntivo, con i prezzi presi dal cliente, poi dal contratto, poi dal listino.

Magazzino, in 9 fasi

  • Impegni su commessa e prelievi.
  • Lettura con pistola barcode su 7 schermate.
  • Scorte per furgone, scaricate dal rapportino del tecnico.
  • Inventario di fine anno.

Evasione ordini

  • Dalla commessa al documento di trasporto, dagli ordini d’acquisto ai carichi di magazzino.
  • Invio dei documenti via email, con lo storico.

Il primo giorno, nessuno riusciva a entrare

Il mio primo giorno sul progetto nessuno riusciva più a fare login. Collegato al server via SSH, ho escluso le cause una alla volta: la cache delle rotte era stata generata in modalità debug e mai rigenerata, così il JavaScript del login non si caricava.

L’ho risolto e l’ho trasformato in una regola di rilascio, perché non succeda più.

Fatture con lo stesso numero

La numerazione delle fatture produceva doppioni. L’ho corretta con un lock sul database, così due emissioni contemporanee non possono prendere lo stesso numero.

Giacenze e prezzi a prova di errore

Un solo servizio può scrivere le giacenze, sempre dentro una transazione. I prezzi vengono ricontrollati sul server, così non si possono manomettere dal browser.

Rilasci prudenti

Prima di ogni rilascio faccio un backup e provo le migration avanti e indietro su una copia della produzione. In un solo rilascio ne sono passate 27.

Codice di altri, senza riscriverlo

Circa 39.000 righe di componenti scritti da altri. Ho seguito le loro convenzioni invece di imporre le mie, così il codice resta coerente.

97/97 segnalazioni sviluppate e rilasciate in meno di due settimane
139 commit in 3 settimane
~37.700 righe aggiunte
2.080 → 3.125 test nella suite
3 rilasci in produzione