Alex Kovacic

Pegaso: gestionale per un'azienda di linee vita

Per un'azienda che installa linee vita e sistemi anticaduta: preventivi con le regole sugli sconti, cantieri con le squadre, rapportini dal telefono, timbrature GPS e furgoni.

Preventivo a blocchi: per ogni blocco il totale dei materiali e lo sconto suggerito, in giallo gli sconti oltre la fascia
Cliente
Pegaso Anticaduta
Lavoro
gestionale web e PWA
Tecnologie
Laravel 10, PHP 8, MariaDB, Tailwind CSS, Alpine.js, DomPDF, PWA con timbrature offline, Web Push, API Contabilità Facile, API CERVED, API Geotab

Cosa fa

Pegaso Anticaduta progetta, installa e revisiona linee vita, parapetti, scale e reti di sicurezza, per capannoni, condomini ed enti pubblici. Il gestionale segue un lavoro dalla prima telefonata alla fattura: richiesta, preventivo, ordine, commessa, cantiere, DDT, proforma. L'ho sviluppato insieme a Manzoli Software, sullo stesso codice: 400 commit in nove mesi, metà ciascuno.

Preventivi con le regole dell'azienda

Il preventivo si compone a blocchi, uno per lavoro: la linea vita del capannone A, quella del capannone B, la scala di accesso, la posa. Ogni blocco mostra il totale dei materiali e lo sconto suggerito per la fascia in cui cade quel totale. Due blocchi possono stare nella stessa fascia, come i fissaggi con la loro linea vita. Uno sconto si può scrivere anche "10+10", e diventa il 19%.

Se uno sconto supera il tetto della categoria, o se il pagamento è più comodo di quello che il punteggio CERVED del cliente permette, il preventivo va in approvazione. Finché un responsabile non lo approva, non si stampa e non diventa un ordine. Il prezzo unitario non scende mai sotto il listino: chi vuole fare un prezzo usa lo sconto, che resta visibile. Con "Forza totale" il programma trova lo sconto che porta il preventivo alla cifra concordata con il cliente, al centesimo.

Ci sono anche le revisioni numerate (82/PG, 82/PG_REV_1), le soluzioni alternative per lo stesso cantiere con un PDF che le mette a confronto e il promemoria per richiamare il cliente dopo 30 giorni. Un cliente con un insoluto aperto non riceve preventivi nuovi, a meno che l'amministratore non lo sblocchi.

Dall'ordine al cantiere

Un ordine diventa programmabile solo quando ha il progetto e la conferma allegati e l'acconto è incassato. Da lì nasce la commessa, con una o più attività (installazione, revisione), ognuna con date, stato e squadra. Quando si assegna una persona il programma dice subito chi è libero, chi è già su un altro cantiere e chi è in ferie o in malattia. Un'assenza approvata blocca l'assegnazione; un permesso di qualche ora la segnala soltanto.

Il caposquadra chiude il cantiere dal telefono con il rapportino. Per ogni materiale dell'ordine scrive quanto ne ha montato e le differenze escono in rosso; il responsabile vede anche quanto costano. Le ore della squadra arrivano dalle timbrature fatte sul cantiere.

Persone, furgoni e magazzino

Si timbra dal telefono con la posizione GPS. Fuori dal raggio della sede o del cantiere la timbratura vale lo stesso, ma l'ufficio riceve un avviso. Senza campo si timbra comunque: il telefono la manda quando torna la rete. Le ferie maturano da sole ogni notte, in proporzione per chi entra a metà anno.

I furgoni sono collegati a Geotab, che ogni 10 minuti manda posizione e chilometri: il tagliando scade a una data o a un chilometraggio. Ogni furgone è anche un magazzino, e quando si carica il materiale per un cantiere i mezzi compaiono in ordine di distanza da quel cantiere. Il magazzino scarica a lotti FIFO e monta i prodotti composti dalla distinta base. Ogni cantiere ha la sua posizione di magazzino, che si chiude da sola quando è vuota.

Come è fatto

Laravel 10 su PHP 8 con MariaDB, pagine generate dal server con Tailwind CSS e Alpine.js. Sul telefono è una PWA, senza passare dagli store. Le anagrafiche si completano con il punteggio CERVED, che decide anche quali pagamenti si possono concedere. Proforma, fatture e incassi passano da Contabilità Facile; sulle proforma del mese si calcolano le provvigioni degli agenti, con lo storno se il cliente non paga. Ogni modifica finisce in uno storico leggibile campo per campo, e il tema chiaro o scuro si sceglie dal profilo.

Le schermate dei programmi vengono da copie di prova con dati inventati.