Validazione Campi Fiscali Italiani in WHMCS (SDI, PEC, Codice Fiscale)
Se utilizzi WHMCS per il mercato italiano, sai bene che la gestione dei campi fiscali può diventare rapidamente un problema.
SDI, PEC, Codice Fiscale e Partita IVA non possono essere resi obbligatori in modo condizionale in maniera pulita utilizzando solo i custom field standard. Inoltre, durante il checkout, quando un utente già registrato effettua il login direttamente nella pagina di pagamento, WHMCS nasconde dinamicamente la sezione di registrazione, causando spesso il blocco del carrello.
Abbiamo quindi sviluppato un hook gratuito che risolve definitivamente questo problema, senza modificare template e senza compromettere il flusso di acquisto.
Il problema tecnico
WHMCS non consente di rendere obbligatori i custom field in modo realmente condizionale. Se si imposta un campo come required ma questo viene nascosto dinamicamente (ad esempio quando un cliente si logga durante il checkout), il browser blocca l’invio del form.
Risultato:
- Checkout che non procede
- Nessun messaggio chiaro per l’utente
- Carrello apparentemente “bloccato”
- Esperienza utente compromessa
Il problema non è WHMCS in sé, ma la combinazione tra validazione HTML5 e campi nascosti.
Cosa fa questo hook
- Rende obbligatori SDI, PEC e Codice Fiscale solo per il mercato italiano
- Mantiene la Partita IVA sempre visibile
- Nasconde automaticamente i campi per utenti non italiani
- Rileva quando la sezione di registrazione viene nascosta durante il checkout
- Disabilita correttamente la validazione quando necessario
- Non richiede alcuna modifica ai template
- Compatibile con WHMCS 8.13+
Come funziona
Il sistema intercetta il parametro lingua nell’URL e determina se l’utente si trova nel contesto italiano.
Durante il checkout controlla lo stato del contenitore #containerNewUserSignup. Se WHMCS lo nasconde (caso login durante il checkout), l’hook rimuove dinamicamente l’attributo required dai campi fiscali per evitare che il browser blocchi l’invio.
Tutto viene gestito tramite ClientAreaHeadOutput, senza interventi strutturali sul tema.
Installazione
1. Crea i Custom Field in WHMCS
Vai in Setup → Custom Client Fields e crea questi campi:
SDI
PEC
Codice Fiscale
VAT / Partita IVA
Importante: puoi impostare l’ordine come preferisci, ma NON spuntare Required in WHMCS. La validazione viene gestita dall’hook.
2. Annota gli ID dei campi
Dopo aver creato i custom field, prendi nota dei rispettivi ID. Li trovi nell’URL quando modifichi il campo oppure nel database.
3. Carica l’hook
Carica il file nella cartella:
/includes/hooks/4. Imposta gli ID nel file
Apri il file dell’hook e inserisci gli ID:
$SDI_FIELD_ID = 1;$PEC_FIELD_ID = 2;$CF_FIELD_ID = 3;$VAT_FIELD_ID = 4;Non sono richieste modifiche ai template: l’hook entra in funzione automaticamente su registrazione e checkout.
Perché lo abbiamo reso gratuito
Questo hook nasce da un problema reale riscontrato in diversi progetti WHMCS italiani. Abbiamo deciso di renderlo disponibile gratuitamente perché riteniamo che una base tecnica solida migliori l’intero ecosistema.
Se utilizzi WHMCS per il mercato italiano, questo piccolo intervento può evitarti molte ore di debug.
Hai bisogno di personalizzazioni WHMCS?
Se stai sviluppando soluzioni avanzate su WHMCS o vuoi implementare funzionalità personalizzate, contattaci.
Realizziamo moduli, hook e integrazioni su misura.