Raffaello WooCommerce - Codice Fiscale - P.IVA - SDI - PEC WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/danieledignani/raffaello-cf-piva-sdi-pec/releases/download/1.6.1/raffaello-cf-piva-sdi-pec.zipPlugin Name
Requires WooCommerce at least: 9.0 Stable tag: 1.6.1
Il plugin che ti permette di rendere WooCommerce adatto al mercato italiano con l’inserimento del C.F. e della Partita IVA
Description
Rende Woocommerce adeguato al mercato italiano e permette la gestione della Fatturazione Elettronica. Aggiunge i campi P.IVA, CF, PEC e Codice Identificativo in base alla tipologia di fattura richiesta. Fondamentale per Aziende, Ditte Individuali, Liberi Professionisti e Privati. Possibilità di generare anche Ricevute.
Versione di Woocommerce richiesta: 9.0
Testato fino alla versione di Woocommerce: 10.0.4
Grazie al plugin è possibile:
- Aggiungere i campi relativi alla Fatturazione Elettronica: Codice Identificativo e PEC utili per l'export della Fattura Elettronica in XML possibile con la versione PRO in vigore dal 1 gennaio 2019
- Check VIES delle partite iva comunitarie automatico al checkout - in caso di azienda comunitaria rimuove l'imposta al checkout
- Inserire in fase di checkout i campi Codice Fiscale e Partita IVA
- Scegliere la tipologia di cliente (Privato, Azienda, Libero Professionista) che sta effettuando l’acquisto
- Modificare in amministrazione i campi Codice Fiscale e Partita IVA
- Ricevere nel dettaglio ordine e via mail i campi C.F e P.IVA creati
- Generare automaticamente la fattura/ricevuta lato amministrazione grazie al plugin WooCommerce PDF Invoices & Packing Slips.
Credits & Copyrights: labdav • the plugin is a fork of WooCommerce PDF Invoices Italian Add-on
Per acquistare la versione PRO vai sul sito ufficiale
Translations in your language
- English
- Italian (it_IT)
- Our plugin is certified fully WPML Compatible.
Installation
- Caricare la cartelle del plugin all'interno di
/wp-content/plugins/oppure installare il plugin attraverso la sezione WordPress plugins. - Attivare il plugin attraverso la sezione 'Plugins' di WordPress.
Changelog
1.6.1
FIX Doppio messaggio di errore al checkout: il .rcfpsp-error custom introdotto in 1.6.0 conviveva col span.error di WC/Flux mostrando due messaggi sovrapposti con stili diversi. Ora la validazione client-side scrive direttamente nel span.error esistente del campo (creandolo se assente), garantendo un solo messaggio coerente con il tema del checkout. Aggiunti aria-live="polite" e aria-hidden dinamico per migliore accessibilità.
1.6.0
ADD Validazione client-side dei campi italiani (CF/P.IVA/PEC/SDI) con setCustomValidity() + messaggio inline rosso. Risolve UX di Flux Checkout (multi-step): l'errore viene mostrato già sullo step "details" e blocca il passaggio al pagamento, invece di emergere solo all'invio finale. Algoritmi JS speculari al PHP (regex CF, Luhn P.IVA, regex SDI/PEC); l'omocodia CF resta server-side per non duplicare logica pesante.
ADD Supporto prefisso "IT" sulla P.IVA: l'utente può inserire "IT01835920669" o "01835920669", il sistema accetta entrambi. Server-side strip del prefisso prima del salvataggio per mantenere il DB canonico (11 cifre nude). Hook applicati:
woocommerce_checkout_posted_dataper il classic checkout (Flux/Default)- normalize di
$_POST['billing_piva']insave_address()per My Account sanitize_piva()del Block Checkoutcheck_piva()accetta entrambi i formati internamente
UPDATE Field HTML billing_piva: maxlength 11 → 13, pattern [0-9]{11} → (IT)?[0-9]{11}, rimosso inputmode="numeric" (nasconde le lettere su mobile, incompatibile con prefisso IT).
1.5.1
REMOVE comando WP-CLI wp raffaello cleanup introdotto in 1.4.0. Strategia cleanup
spostata su SQL ad-hoc da eseguire direttamente in DB (case-by-case) per maggior
controllo. Il tool generico è risultato over-engineered per il volume di dati sporchi
(~73 record una-tantum).
1.5.0
ADD Supporto WooCommerce Block Checkout (Gutenberg) via API woocommerce_register_additional_checkout_field (richiede WC 8.6+):
- Registra invoice_type (select), CF, P.IVA, PEC, SDI nel namespace
raffaello/ - Storage block sotto
_wc_other/raffaello/{field}con mirror automatico ai legacybilling_*/_billing_*→ tutti i lettori esistenti (PDF invoice, email templates, admin columns) continuano a funzionare senza modifiche - Validazione condizionale server-side (CF richiesto solo per private_invoice/professionist_invoice, P.IVA+PEC per invoice/private_school_invoice/professionist_invoice) — emula la stessa logica del classic checkout
- Sanitization automatica: trim + uppercase su CF/SDI, strip spaces su P.IVA
- Migrazione lazy una-tantum: alla prima visita di un utente loggato copia i legacy
billing_*→_wc_other/raffaello/*così i campi appaiono pre-popolati - Auto-detect dell'API WC 8.6+: se non disponibile la classe esce silenziosamente — il classic checkout (Flux Checkout / Default) continua a funzionare come prima
NB su Flux Checkout: nessuna modifica necessaria, il plugin Iconic gira sopra al classic checkout e i nostri hook woocommerce_billing_fields continuano a funzionare invariati.
1.4.0
ADD comando WP-CLI wp raffaello cleanup per ripulire user_meta italiani (vedi tools/cleanup-italian-billing.php):
- trim + uppercase su CF/P.IVA/SDI
- swap automatico CF↔P.IVA quando un campo contiene il valore dell'altro e il target è vuoto
- fix typo PEC (trailing dot, spazi interni)
- azzeramento valori spazzatura (Roma, -, No, ecc.)
- notifica email opzionale agli utenti con campi richiesti mancanti dopo cleanup
- dry-run di default, throttling 30gg sulle email per evitare spam
Modalità: wp raffaello cleanup (dry-run) → wp raffaello cleanup --live (applica) → wp raffaello cleanup --live --notify (applica + email)
1.3.0
FIX my_account_my_address_formatted_address leggeva da _billing_* (convenzione ordermeta) invece di `billing*(convenzione user_meta) — i dati italiani non comparivano nell'indirizzo del cliente ADD check_piva() ora verifica il checksum Mod10 (Luhn modificato) oltre alla regex 11 cifre ADD save_address() agganciato a woocommerce_after_save_address_validation — la validazione italiana ora gira anche quando l'utente edita l'indirizzo da My Account FIX bootstrap del plugin spostato suplugins_loadedpriorità 20 — risolve race condition in cui is_wc_active() restituiva false se il nostro plugin caricava prima di WooCommerce FIX XSS hardening su colonne admin (legacy + HPOS): label e color delle icone ora escapate via esc_attr FIX text domain literale'raffaello-cf-piva-sdi-pec'ovunque (necessario per estrazione POT) invece della costante WCPIVACF_IT_DOMAIN FIX trailing space in colore hex270dff che causava CSS invalido FIX isset() guard su billing_phone/email/city/company in billing_fields() per temi che li rimuovono FIX?? ''fallback su tutte le chiavi $args in formatted_address_replacements per evitare warning su indirizzi non-IT REMOVE load_custom_wp_admin_style e assets/wcpicfi_admin.css (riferivano a una pagina admin inesistente) REMOVE costante WCPIVACF_IT_DOMAIN,include_once wp-admin/includes/plugin.phpnon necessario,'optional' => false` (non è un arg WC valido), commenti dead code residui
1.2.1
FIX limita lunghezza input client-side (maxlength HTML5) e tronca display in notice di errore (fino a 32 caratteri + ellipsis) per evitare scrolling orizzontale con payload abnormi
1.2.0
ADD aggiornamento automatico via Plugin-Update-Checker e GitHub Actions
ADD validazioni SDI (regex [A-Z0-9]{6,7}) e PEC (RFC 5321 max 254 char)
ADD escape XSS via esc_html nei messaggi wc_add_notice (CF/P.IVA/PEC/SDI)
ADD sanitizzazione $_POST con wp_unslash + sanitize_text_field
FIX classe CodiceFiscale rinominata in RaffaelloCF_CodiceFiscale per evitare collisione con altri plugin
FIX dynamic property force_required dichiarata esplicitamente (PHP 8.2+)
FIX bug ordinamento campi checkout (clear sovrascritto con array invece di bool)
REMOVE class-session.php (clone Pantheon Sessions inutilizzato e potenzialmente pericoloso)
REMOVE include/inc/* di supporto a class-session.php
1.0.2
FIX check_cf errore validazione
1.0.1
FIX bug generazione numero ricevuta nello stato cancellato NEW Variabile [order_year] per ricevute da usare nel prefisso FIX script js NEW campo pec visibile non obbligatorio per privato FIX campo ricevuta nascosto in admin se Woocommerce Invoice & Packing Slips disattivato
FIX billing_cf - Order properties should not be accessed directly FIX billing_piva - Order properties should not be accessed directly FIX billing_invoice_type - Order properties should not be accessed directly FIX bug numerazione ricevute - fatture sull'invio delle stesse nella mail cliente FIX bug intestazione ricevuta mail cliente FIX bug numerazione ricevute quando è visualizzata la colonna del numero fatture tramite amministrazione di Woocommerce Invoice & Packaging Slips
1.1.0
ADD compatibility with WooCommerce HPOS
Releases
8 releases. Each count is every asset in that release; expand a row for the breakdown.