Aggiornamento codice [maggio 2016]
Ringraziamo tutti voi per gli apprezzamenti relativi al plugin e alle segnalazioni relative ad alcuni bug che ci hanno permesso di rilasciare la nuova versione 1.0.1! Scarica GRATUITAMENTE la nuova versione direttamente dal repository wordpress.
Il seguente articolo è sempre valido ma non verrà più aggiornato ma aggiorneremo direttamente il plugin.
Woocommerce: Aggiungere il campo Codice Fiscale o Partita I.V.A.
Il plugin Woocommerce essendo non di sviluppo italiano, non prevede l’inserimento del codice fiscale o di una partita I.V.A. in fase di creazione di un ordine da parte di un cliente, cosa che per il nostro paese è obbligatoria per emettere fattura dopo aver effettuato la vendita. Il plugin ci mette però a disposizione delle API per poter aggiungere dei campi personalizzati a quelli presenti di default per la spedizione / fatturazione . Le cose che dobbiamo fare per aggiungere il campo sono essenzialmente: aggiungere il campo in visualizzazione per la parte pubblica, cioè quella che vedrà il cliente al momento di inserire i dati di fatturazione, ed aggiungere il campo modificabile in amministrazione nel dettaglio dell’ordine nell’eventualità il cliente sbagli l’inserimento del dato. Procediamo ora per passi. Con il seguente codice, da incollare nel functions.php del vostro tema, aggiungiamo il campo obbligatorio per la parte pubblica:
// Aggiungiamo il campo Codice Fiscale / Partita IVA add_filter( 'woocommerce_checkout_fields' , 'field_cfpiva' ); // Frontend: La funzione field_cfpiva - $fields è l'array dei campi passata tramite filtro! function field_cfpiva( $fields ) { $fields['billing']['billing_cf'] = array( 'label' => __('Codice Fiscale / P.IVA', 'woocommerce'), 'placeholder' => _x('Codice Fiscale / P.IVA', 'placeholder', 'woocommerce'), 'required' => true, 'class' => array('form-row-wide'), 'clear' => true ); return $fields; }
Aggiunto il campo non dovremo fare altro perché verrà salvato automaticamente nel database una volta che il cliente salverà l’ordine. Il nome del campo sarà quello che abbiamo utilizzato nell’array $fields quindi, nel nostro caso, sarà billing_cf . Nel database verrà salvato nella tabella postmeta nel formato _billing_cf. Gli altri elementi inseriti nell’array $fields, sono rispettivamente:
- Label: appunto l’etichetta visualizzata dal cliente. In questo caso localizzata tramite la funzione __()
- Placeholder: il nuovo attributo html5 per l’etichetta di default all’interno del campo utilizzato come aiuto per l’utente
- Required: se il campo è obbligatorio
- Class: la classe da associare all’elemento <p> che contiene il campo. Con questo possiamo personalizzare il campo tramite css
- Clear: Applica un clearfix alla label/campo (non abbiamo capito di quale clearfix si tratta per dire la verità perché abbiamo provato sia true che false ma non è cambiato nulla)
Ora aggiungiamo la funzione per la visualizzazione del campo Codice Fiscale / Partita I.V.A in amministrazione. Dobbiamo semplicemente incollare il seguente codice sempre nel file functions.php del nostro tema:
add_filter( 'woocommerce_admin_billing_fields' , 'admin_field_cfpiva' ); // Backend: La funzione field_cfpiva - $fields è l'array dei campi passata tramite filtro! function admin_field_cfpiva( $fields ) { $fields['cf'] = array( 'label' => __('Codice Fiscale / P.IVA', 'woocommerce'), 'show' => true ); return $fields; }
Quando accediamo all’ordine nell’area di amministrazione, cliccando su modifica nei dettagli dell’indirizzo di fatturazione, troveremo il campo Codice Fiscale / Partita I.V.A. Noi abbiamo anche aggiunto uno stile personalizzato per rendere visibile il campo in amministrazione largo al 100% come ad esempio la ragione sociale. Otterremo l’effetto copiando questo stile nel functions.php del tema in uso:
// Stile personalizzato per il campo Codice Fiscale / Partita I.V.A. function custom_colors() { echo '<style type="text/css"> ._billing_cf_field{clear: both!important;width: 100%!important;} </style>'; } add_action('admin_head', 'custom_colors');
Con queste poche righe di codice abbiamo reso woocommerce valido per il nostro commercio Italiano. P.s.: nell’inserimento del campo, non abbiamo messo il controllo della validità del codice fiscale. Questo è possibile implementarlo con un semplice controllo javascript. [box type=”info”]
Aggiornamento Codice [feb.2015]
Su segnalazione dei nostri lettori aggiorniamo l’articolo inserendo anche il codice che permette a chi accede nella pagina del proprio account nel front-end di poter modificare i campi Codice Fiscale e Partita IVA insieme agli altri campi di Billing:
add_filter( 'woocommerce_billing_fields' , 'billing_field_cfpiva' ); function billing_field_cfpiva( $fields ) { $fields['cf'] = array( 'label' => __('Codice Fiscale / P.IVA', 'woocommerce'), 'show' => true ); return $fields; }
[/box] [box type=”info”]
Aggiornamento Codice [mar.2016]
Da qui è possibile scaricare GRATUITAMENTE la prima versione del plugin che creerà i 2 campi C.F e P.IVA e permetterà anche all’utente di scegliere al momento del checkout se si tratta di un acquisto da Privato oppure da Titolare di Partita IVA in modo tale da inserire solo il campo realmente richiesto. I campi CF e P.IVA saranno presenti anche nell’ordine e nella mail inviata al cliente. Stay Tuned! 😉 [/box]
Aggiornamento codice [aprile 2016]
Ultima versione del plugin che inserisce i campi C.F. e P.IVA integrato perfettamente con il plugin WooCommerce PDF Invoices & Packing Slips per poter generare le fatture/ricevute degli ordini.
Aggiornamento codice [maggio 2016]
Ringraziamo tutti voi per gli apprezzamenti relativi al plugin e alle segnalazioni relative ad alcuni bug. Ci hanno permesso di rilasciare la nuova versione 1.0.1! Scarica GRATUITAMENTE la nuova versione
Buongiorno Mirko,
grazie per averci contattato. Stai usando la versione FREE? O la PRO? Con quale scelta della select non appaiono obbligatori i campi?
Mandaci pure una mail ad assistenza(at)dot4all.it con le specifiche ed il link al sito e ti aiutiamo a risolvere.
Un saluto e grazie
Lo staff
Salve ragazzi… volevo chiedervi come mai i campi P.Iva o Codice fiscale non risultano obbligatori.
Vi chiedo questo perchè, dal mio sito molte persone che acquistano, non selezionano uno dei 2 campi, e quindi poi non riempiono Cod.Fiscale / Pi.va. Ciò mi comporta poi di ricontattarli via email, farmi inviare il dato mancante, per poi emettere la fattura.
Potete suggerirmi qualcosa?
Grazie in anticipo
Buongiorno Daniele,
ci descrivi un comportamento molto strano, non vorrei che per qualche motivo siano presenti 2 campi partita iva magari creati con altri plugin. Se ci invii il link per il test possiamo verificare il problema.
Grazie mille
Un saluto
Buongiorno,
ho scaricato ed installa to il plugin nella versione FREE, ma quando lo abilito nella scermata in cui devo inserire i dati pe completare l’ordine, se scelgo fattura mi da la partita iva obbligatoria anche se la inserisco. Continua a dirmi partita iva obbligatoria in ogni caso. E’ come se ci fossero due campi Partita Iva, uno invisibile che non si riesce a compilare e quinid non mi fa procedere..
Ciao Lisa,
il plugin versione FREE ha tutte le funzionalità attive senza impostazioni in amministrazione. I settings dedicati alla generazione di ricevute vengono invece visualizzati solo installando il plugin Woocommerce Invoice & Packaging Slips che trovi sul repository di WordPress.
Buona giornata
Salve,
ho installato il plugin, ma nella schermata delle impostazioni mi dice che non è attivo (e se voglio posso comprare il pro)
Ciao Pasquale,
quale versione del plugin stai utilizzando?
Buongiorno,
non riesco a mettere il campo nella fattura. Il plugin che utilizzo è WooCommerce PDF Invoices.
Qui il codice utilizzato:
// Frontend: La funzione field_cfpiva – $fields è l’array dei campi passata tramite filtro!
function field_cfpiva( $fields ) {
$fields[‘billing’][‘billing_cf’] = array(
‘label’ => __(‘Codice Fiscale / P.IVA’, ‘woocommerce’),
‘placeholder’ => _x(‘Codice Fiscale / P.IVA’, ‘placeholder’, ‘woocommerce’),
‘required’ => true,
‘class’ => array(‘form-row-wide’),
‘clear’ => true
);
return $fields;
}
add_filter( ‘woocommerce_admin_billing_fields’ , ‘admin_field_cfpiva’ );
// Backend: La funzione field_cfpiva – $fields è l’array dei campi passata tramite filtro!
function admin_field_cfpiva( $fields ) {
$fields[‘cf’] = array(
‘label’ => __(‘Codice Fiscale / P.IVA’, ‘woocommerce’),
‘show’ => true
);
return $fields;
}
// Stile personalizzato per il campo Codice Fiscale / Partita I.V.A.
function custom_colors() {
echo ‘
._billing_cf_field{clear: both!important;width: 100%!important;}
‘;
}
add_action(‘admin_head’, ‘custom_colors’);
Ciao Claudio, se stai usando la versione FREE prova ad aggiornare alla versione 2.0.9, il bug è stato Fixato.
Un saluto
Salve, non mi appare nella fattura il campo Parita iva o codice fiscale del cliente:
Buongiorno Rino,
in realtà disattivando la funzionalità che mostra il numero fattura su quella colonna il plugin funziona correttamente per entrambe le modalità fattura/ricevuta. Per il momento ti consiglio di utilizzarlo senza la visualizzazione della colonna. Stiamo già a lavoro per la risoluzione di quel bug. Grazie per la segnalazione. Un saluto
Buongiorno, vi ringrazio per la vostra tempestività nel valutare le segnalazioni ed effettuare le correzioni.
Ho notato un’altra anomalia nella schermata di elenco ordini.
Se uno o più utenti richiedono Ricevuta, quando si visualizza l’elenco ordini (per più di una volta premendo WooCommerce e/o Ordini), il numero ricevuta viene staccato, e se un ordine inevaso viene cancellato, si ha un “buco” nella numerazione delle Ricevute.
La cosa è evidente se si abilita la colonna “Fattura Numero”
Questo comportamento non si verifica invece se un cliente richiede Fattura: il numero fattura viene staccato, correttamente, solo ad evasione ordine, per evitare “buchi” nella numerazione delle fatture, non importa quante volte si visualizza l’elenco ordini premendo WooCommerce e/o Ordini.
Cordiali saluti
Rino
Ciao Rino,
il problema segnalato verrà risolto nella prossima versione del plugin che verrà rilasciata nei prossimi giorni. È stato corretto un bug di “comunicazione” tra il nostro plugin e Woocommerce Invoice & PAckaging Slips sia nella versione FREE che PRO
Un saluto
Buongiorno,
trovo il plugin WooCommerce P.IVA e Codice Fiscale per Italia molto utile ed efficace, tuttavia utilizzandolo ho notato che nel caso in cui il cliente selezioni Ricevuta, nella mail che gli viene inviata all’evasione dell’ordine, il pdf allegato presenta nelle colonne di destra il n. di ricevuta correttamente valorizzato, ma il titolo in alto a sinistra recita Fattura (mi sarei aspettato Ricevuta).
Se successivamente all’evasione dell’ordine si visualizza il pdf premendo il bottone “ricevuta pdf” dall’elenco ordini, il pdf mostrato presenta nelle colonne di destra il n. di ricevuta correttamente valorizzato, e il titolo in alto a sinistra recita Ricevuta (come mi sarei aspettato).
Non credo sia il comportamento corretto, forse sbaglio qualcosa nella configurazione del plugin?
Cordiali saluti
Rino
Ciao Matteo,
la versione FREE non ha questa possibilità mentre con la versione PRO del plugin puoi decidere quali opzioni abilitare.
Puoi trovare dettagli qui: http://dot4all.it/stage/stage/prodotto/plugin-woocommerce-p-iva-e-codice-fiscale-per-italia-pro/
Grazie mille
Salve, e grazie per il vs.lavoro. E’ possibile eliminare l’opzione ricevuta?
Ciao Elisa,
grazie per averci contattato. La versione PRO del plugin permette di mostrare una utility per la generazione del codice fiscale che aiuta il cliente con la data di nascita e luogo di nascita.
L’aiuto però non è bloccante nel senso che se l’utente però inserisce un codice fiscale “differente” l’ordine viene comunque processato seguendo la seguente normativa:
Attenzione il Codice Fiscale generato corrisponde alle regole del D.M. del 12.3.1974.
Non si può avere l’assoluta certezza della sua esattezza perché nel raro caso di due persone con nome e cognome molto simili, nati lo stesso giorno, nello stesso comune, il sistema può generare due codici identici (omocodia).
Nel caso di omocodia, il Ministero delle Finanze provvede alla sostituzione di uno dei numeri con lettera progressiva.
Un saluto
Buongiorno,
vorrei sapere se il plugin riconosce la corrispondenza dal codice fiscale al nome – cognome – data di nascita
(ESP: se faccio l’ordine non posso usare i miei dati e mettere il CF di mia sorella).
Grazie del vostro tempo.
Ciao Massimo,
ti basterà installare il plugin Woocommerce Invoice & Packaging Slips 2+ che trovi sul repositorty di WordPress (https://it.wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/) e il plugin funzionerà correttamente. Il plugin Woocommerce Invoice & Packaging Slips serve per la generazione di fatture e, nel caso di utilizzo del nostro plugin, anche di ricevute.
Grazie per averci contattato, facci sapere se riscontri ulteriori problemi.
Un saluto
Ciao, purtroppo a me non funziona, l’ho installato e mi restituisce questo errore “Fatal error: Call to a member function get_next_receipt_number() on null in /home/pb1taqfd/beta.yess.energy/wp-content/plugins/woo-piva-codice-fiscale-e-fattura-pdf-per-italia/includes/class-wp-settings.php on line 289”
Ho la versione 8.2 di Wordpres ed il sito in questione è http://beta.yess.energy/
Mi potresti aiutare a farlo funzionare?
Grazie
Ciao Andrea,
il nostro plugin permette ai clienti di poter scegliere se ricevere una fattura oppure una ricevuta. Come da legislazione italiana la ricevuta avrà una sua numerazione a parte e sequenziale.
Tutto il resto è presente nella ricevuta (i dati completi dell’azienda che ogni utente riempie autonomamente tramite l’ottimo plugin delle fatture con il quale comunica il nostro).
Grazie chiaramente per la tua segnalazione molto utile per tutti i clienti di un’eccommerce.
Un saluto
Buongiorno,
il plugin rispetta la normativa italiana? forse no. Ci sono questi dati nella ricevuta? Sono obbligatori, qualsiasi ricevuta che non ha questi dati è illegale.
I dati obbligatori sono i seguenti:
numerazione progressiva prestampata per anno solare attribuita dalla tipografia (è facoltativa invece, la numerazione da parte del contribuente);
data di emissione;
dati identificativi dell’impresa emittente (ditta/ragione sociale, partita IVA, indirizzo del luogo di esercizio dell’attività e indirizzo del luogo in cui sono conservate le ricevute fiscali);
natura, qualità e quantità dei beni venduti e dei servizi prestati;
ammontare dei corrispettivi dovuti comprensivi di IVA.
abilita il debug di WordPress e inviaci via mail a info(at)dot4all.it il risultato dell’errore. In questo modo possiamo capire dov’è l’errore. Oppure se hai un error.log inviaci quello. Grazie
schermata bianca
Ciao Valerio,
che errore ti ritorna per la precisione?
Facci sapere così possiamo darti supporto.
Salve, ho installato il vostro plugin e vorrei aggiungere il campo nella registrazione, ho inserito questi campi qui sotto, ma non funziona sapete perche? grazie mille :
/**
* Add new register fields for WooCommerce registration.
*
* @return string Register fields HTML.
*/
function wooc_extra_register_fields() {
?>
*
<input type="text" class="input-text" name="billing_company" id="reg_billing_company" value="” />
*
<input type="text" class="input-text" name="billing_piva” id="reg_billing_piva” value="” />
<?php
}
add_action( 'woocommerce_register_form_start', 'wooc_extra_register_fields' );
/**
* Save the extra register fields.
*
* @param int $customer_id Current customer ID.
*
* @return void
*/
function wooc_save_extra_register_fields( $customer_id ) {
if ( isset( $_POST['billing_company'] ) ) {
// WordPress default first name field.
update_user_meta( $customer_id, 'billing_company', sanitize_text_field( $_POST['billing_company'] ) );
// WooCommerce billing company.
update_user_meta( $customer_id, 'billing_company', sanitize_text_field( $_POST['billing_company'] ) );
}
if ( isset( $_POST['billing_piva’] ) ) {
// WordPress default first name field.
update_user_meta( $customer_id, 'billing_piva’, sanitize_text_field( $_POST['billing_piva’] ) );
// WooCommerce billing partita iva.
update_user_meta( $customer_id, 'billing_piva’, sanitize_text_field( $_POST['billing_piva’] ) ); }
}
add_action( ‘woocommerce_created_customer’, ‘wooc_save_extra_register_fields’ );
Ciao Stefano,
abbiamo rilasciato 2 template che troverai nella sezione shop per il plugin di fatturazione WooCommerce PDF Invoices & Packing Slips. Quello relativo alla gestione separata fa al caso tuo.
Grazie per averci seguito.
Ciao Stefano,
la cosa potrebbe dipendere dal tema che utilizzi… fammi sapere in caso provo ad aiutarti.
Grazie
Ciao Nicola,
puoi provare con l’ultima versione rilasciata 😉
Buongiorno,
complimenti plugin davvero utilissimo, ho solo avuto un piccolo problemino, appena carico la pagina di checkout, anche se la prima voce selezionata è “Ricevuta”, mi compare sia il campo codice fiscale che partita iva
Per ora ho risolto modificando il file wpcfi_select.js alla riga 12 sotituendo display “block” con “none”
Avete notato anche voi questo piccolo bug?
Grazie
Ciao, da mobile c’è qualche problema quando uno seleziona azienda, o codice fiscale ….
ciao
Ciao Stefano,
la versione 1.0.7 del plugin elimina i campi CF e PIVA se il paese selezionato non è Italia.
In questo modo il plugin funziona solo per il mercato Italiano quindi non crea problemi per il mercato estero.
Salve, grazie per la guida. Ma non è proprio possibile attivare il campo codice fiscale solo per il paese italia?
Ho visto che altri hanno posto la stessa domanda senza risposta…
Cioa Filippo, con la versione 1.0.5 che puoi scaricare dal repository abbiamo fixato il controllo relativo alla P.IVA. 🙂
Buona giornata
Ciao Filippo,
se non vuoi generare fattura o ricevuta basta che non installi o disattivi il plugin WooCommerce PDF Invoices & Packing Slips. Il nostro plugin continua a funzionare correttamente.
Nella prossima versione verranno implementati anche i controlli relativi alla partita IVA.
Grazie e buona giornata 😉
Salve ragazzi, bel plugin, semplice e veloce.
Mi domando però il perchè non avete messo una validazione almeno numerica o di altro genere nel campo partita iva…
Ci vorrebbe anche la possibilità ( mi permetto di suggerire) di disabilitare in toto il discorso relativo alle ricevute o fatture autogenerate. Chi non vuole aggiungere altri plugin dovrebbe poter scegliere.
Grazie mille!
Ciao Stefano, prova la versione 1.0.4 rilasciata oggi che dovrebbe risolvere il tuo problema 😉
ciao
è possibile disabilitare il campo ricevuta? devo emettere per forza la fattura…
Grazie,
Ora funziona perfettamente!
Un saluto.
La versione 1.0.3 è disponibile sul repository 😉 Facci sapere
Ciao Riccardo,
stiamo lavorando per risolvere il bug, entro domani pubblicheremo la versione aggiornata del plugin 😉
Ciao Ragazzi,
Ancora complimenti per il plugin!
Purtroppo ho notato che quando il vostro plugin (v 1.0.2) è attivo, “WooCommerce PDF Invoices & Packing Slips” non riesce ad allegare le fatture/ricevute alle e-mail, quando lo disattivo, le email arrivano con correttamente la fattura/ricevuta allegata.
Ho guardato nei log e mi escono questi tre errori:
[12-May-2016 08:02:46 UTC] PHP Notice: Undefined variable: template_type in /home/danzi187/public_html/new/danzireeds.it/wp-content/plugins/woo-piva-codice-fiscale-e-fattura-pdf-per-italia/includes/class-wcpdf-integration.php on line 91
[12-May-2016 08:02:46 UTC] PHP Notice: Undefined variable: template_type in /home/danzi187/public_html/new/danzireeds.it/wp-content/plugins/woo-piva-codice-fiscale-e-fattura-pdf-per-italia/includes/class-wcpdf-integration.php on line 91
[12-May-2016 08:02:50 UTC] PHP Notice: Undefined variable: show_customer_details in /home/danzi187/public_html/new/danzireeds.it/wp-content/themes/atelier/woocommerce/order/order-details.php on line 85
Spero riusciate a correggere l’errore o aiutarmi a risolvere il problema.
Buona Giornata!
Grazie per la vostra disponibiltà e professionalità.
Ti ringrazio
Luigi
Ciao Luigi,
il modo corretto di includere il campo terms & Conditions è il seguente:
function add_terms_code(){
wc_get_template( ‘checkout/terms.php’ );
}
add_action( ‘woocommerce_register_form’, ‘add_terms_code’ );
function validation_terms_code( $errors, $username, $password, $email ){
if ( empty( $_POST[‘terms’] ) ) {
throw new Exception( __( ‘You must accept our Terms & Conditions.’, ‘woocommerce’ ) );
}
return $errors;
}
add_action( ‘woocommerce_process_registration_errors’, ‘validation_terms_code’, 10, 4 );
Siccome io vorrei che un cliente in fase di registrazione “validi” la privacy e non dopo nel checkout….
Allora siccome io visualizzo tutti i campi nel form di registrazione e no nel checkout…. avrei bisogno di integrarlo nel myaccount… ti scrivo il mio codice:
/**
* Add new register fields for WooCommerce registration.
*
* @return string Register fields HTML.
*/
function wooc_extra_register_fields() {
?>
*
<input type="text" class="input-text" name="billing_first_name" id="reg_billing_first_name" value="” />
*
<input type="text" class="input-text" name="billing_last_name" id="reg_billing_last_name" value="” />
*
<input type="text" class="input-text" name="billing_phone" id="reg_billing_phone" value="” />
*
<input type="text" class="input-text" name="billing_company" id="reg_billing_company" value="” />
*
<input type="text" class="input-text" name="billing_address_1" id="reg_billing_address_1" value="” />
*
<input type="text" class="input-text" name="billing_city" id="reg_billing_city" value="” />
*
<input type="text" class="input-text" name="billing_postcode" id="reg_billing_postcode" value="” />
*
<input type="text" class="input-text" name="billing_country" id="reg_billing_country" value="” />
*
<input type="text" class="input-text" name="billing_state" id="reg_billing_state" value="” />
*
<input type="text" class="input-text" name="billing_cf" id="reg_billing_cf" value="” />
*
<input type="text" class="input-text" name="billing_piva" id="reg_billing_piva" value="” />
add( ‘billing_first_name_error’, __( ‘Error: First name is required!’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_last_name’] ) && empty( $_POST[‘billing_last_name’] ) ) {
$validation_errors->add( ‘billing_last_name_error’, __( ‘Error: Last name is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_phone’] ) && empty( $_POST[‘billing_phone’] ) ) {
$validation_errors->add( ‘billing_phone_error’, __( ‘Error: Phone is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_company’] ) && empty( $_POST[‘billing_company’] ) ) {
$validation_errors->add( ‘billing_company_error’, __( ‘Error: Company is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_address_1’] ) && empty( $_POST[‘billing_address_1’] ) ) {
$validation_errors->add( ‘billing_address_1_error’, __( ‘Error: Address is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_city’] ) && empty( $_POST[‘billing_city’] ) ) {
$validation_errors->add( ‘billing_city_error’, __( ‘Error: City is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_postcode’] ) && empty( $_POST[‘billing_postcode’] ) ) {
$validation_errors->add( ‘billing_postcode_error’, __( ‘Error: Postcode is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_country’] ) && empty( $_POST[‘billing_country’] ) ) {
$validation_errors->add( ‘billing_country_error’, __( ‘Error: Country is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_state’] ) && empty( $_POST[‘billing_state’] ) ) {
$validation_errors->add( ‘billing_state_error’, __( ‘Error: State is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_cf’] ) && empty( $_POST[‘billing_cf’] ) ) {
$validation_errors->add( ‘billing_cf_error’, __( ‘Error: Codice Fiscale is required!.’, ‘woocommerce’ ) );
}
if ( isset( $_POST[‘billing_piva’] ) && empty( $_POST[‘billing_piva’] ) ) {
$validation_errors->add( ‘billing_piva_error’, __( ‘Error: Partita IVA is required!.’, ‘woocommerce’ ) );
}
}
add_action( ‘woocommerce_register_post’, ‘wooc_validate_extra_register_fields’, 10, 3 );
/**
* Save the extra register fields.
*
* @param int $customer_id Current customer ID.
*
* @return void
*/
function wooc_save_extra_register_fields( $customer_id ) {
if ( isset( $_POST[‘billing_first_name’] ) ) {
// WordPress default first name field.
update_user_meta( $customer_id, ‘first_name’, sanitize_text_field( $_POST[‘billing_first_name’] ) );
// WooCommerce billing first name.
update_user_meta( $customer_id, ‘billing_first_name’, sanitize_text_field( $_POST[‘billing_first_name’] ) );
}
if ( isset( $_POST[‘billing_last_name’] ) ) {
// WordPress default last name field.
update_user_meta( $customer_id, ‘last_name’, sanitize_text_field( $_POST[‘billing_last_name’] ) );
// WooCommerce billing last name.
update_user_meta( $customer_id, ‘billing_last_name’, sanitize_text_field( $_POST[‘billing_last_name’] ) );
}
if ( isset( $_POST[‘billing_phone’] ) ) {
// WooCommerce billing phone
update_user_meta( $customer_id, ‘billing_phone’, sanitize_text_field( $_POST[‘billing_phone’] ) );
}
if ( isset( $_POST[‘billing_company’] ) ) {
// WooCommerce billing company
update_user_meta( $customer_id, ‘billing_company’, sanitize_text_field( $_POST[‘billing_company’] ) );
}
if ( isset( $_POST[‘billing_address_1’] ) ) {
// WooCommerce billing address 1
update_user_meta( $customer_id, ‘billing_address_1’, sanitize_text_field( $_POST[‘billing_address_1’] ) );
}
if ( isset( $_POST[‘billing_address_2’] ) ) {
// WooCommerce billing address 2
update_user_meta( $customer_id, ‘billing_address_2’, sanitize_text_field( $_POST[‘billing_address_2’] ) );
}
if ( isset( $_POST[‘billing_city’] ) ) {
// WooCommerce billing city
update_user_meta( $customer_id, ‘billing_city’, sanitize_text_field( $_POST[‘billing_city’] ) );
}
if ( isset( $_POST[‘billing_postcode’] ) ) {
// WooCommerce billing postcode
update_user_meta( $customer_id, ‘billing_postcode’, sanitize_text_field( $_POST[‘billing_postcode’] ) );
}
if ( isset( $_POST[‘billing_country’] ) ) {
// WooCommerce billing country
update_user_meta( $customer_id, ‘billing_country’, sanitize_text_field( $_POST[‘billing_country’] ) );
}
if ( isset( $_POST[‘billing_state’] ) ) {
// WooCommerce billing state
update_user_meta( $customer_id, ‘billing_state’, sanitize_text_field( $_POST[‘billing_state’] ) );
}
if ( isset( $_POST[‘billing_cf’] ) ) {
// WooCommerce billing codice fiscale
update_user_meta( $customer_id, ‘billing_cf’, sanitize_text_field( $_POST[‘billing_cf’] ) );
}
if ( isset( $_POST[‘billing_piva’] ) ) {
// WooCommerce billing partita iva
update_user_meta( $customer_id, ‘billing_piva’, sanitize_text_field( $_POST[‘billing_piva’] ) );
}
}
add_action( ‘woocommerce_created_customer’, ‘wooc_save_extra_register_fields’ );
Ciao Luigi,
Woocommerce prevede già il checkbox per l’accettazione dei termini e condizioni di vendita nel checkout. Basta andare nel menu Woocommerce > Impostazioni > Cassa e definire la pagina “Termini e Condizioni”. In automatico nel checkout ti troverai il checkbox 😉
Ciao Complimenti per il plugin, è possibile integrarlo con un checkbox per accettare la privacy?????
GRAZIE
Ciao Riccardo, problema risolto! Aggiornato definitivamente il plugin. Provalo e dicci se ora funziona 😉
Ciao ho scaricato l’ultima versione (1.0.1 maggio 2016),
Purtroppo il problema segnalato prima da Bruno non sembra essere risolto.
Quando si seleziona “fattura” si visualizza solo il campo p.Iva, ma una volta che si completa l’ordine, esce la finestra di errore “Codice Fiscale è un campo obbligatorio.”
Grazie per il plugin!!
Ciao Bruno,
abbiamo rilasciato oggi la versione successiva del plugin con il bug risolto 😉
Buoni acquisti con Woocommerce!
Ciao grandissimi per questo plugin…
Ho riscontrato solo un problemino nel checkout, dove bisogna scegliere “fattura o ricevuta” se si sceglie solo fattura inserendo la PIVA mostra l’errore che il CF è obbligatorio ma la casella per inserire il CF non viene mostrata, si risolve solo se si sceglie fattura con “piva+codice fiscale “
Ciao Andrea,
puoi provare la nuova versione del plugin 😉
Ciao Stefano abbiamo rilasciato la nuova versione del plugin, se hai bisogno di creare la fattura adatta al tuo lavoro contattaci pure ?
Ciao Stefano,
grazie per averci contattato e scusa il ritardo nella risposta. Il Plugin dell’articolo inserisce i campi P.IVA e C.F. all’interno del checkout. Per ottenere quello che hai descritto nel commento, in base al plugin che usi per la fatturazione, puoi fare un template personalizzato che inserisce quelle informazioni aggiuntive rispetto allo standard. Questo ti permetterà di generare la fattura nel modo corretto in base alla tipologia di cliente. Partendo da questo articolo http://dot4all.it/stage/stage/woocommerce-inserire-codice-fiscale-partita-iva-in-fattura/ puoi inserire tutti i custom field che vuoi come ad esempio la rivalsa del 4% sul netto oppure la ritenuta d’acconto del 2% e così via.
Fammi sapere se hai bisogno di altro.
Ciao e grazie mille per l’articolo!
Risolve un pezzo del mio problema ma non del tutto 🙁
Esattamente: se nel caso di vendita di servizi (come corsi di formazione) ti viene fatta richiesta di fatturazione invece che semplice ricevuta (ad esempio da professionisti che devono scaricarla) la legge italiana impone che la fattura sia diversa dalla solita fattura perché dovrai metterci anche la ritenuta d’acconto.
Mi spiego meglio con un esempio su come si dovrebbe presentare la fattura:
===================================================
PRESTAZIONI ESEGUITE € 273,38
RIVALSA 4% CONT.PREV. € 10,94
TOTALE IMPONIBILE € 284,32 +
IVA 22% € 62,55
TOTALE FATTURA € 346,86
RITENUTA D’ACCONTO 20% -€ 56,86
TOTALE NETTO DOVUTO € 290,00
pagamento tramite bonifico bancario
===================================================
Per caso hai idea di come risolvere la cosa? Sono settimane che cerco qualcosa 🙁
@ Andrea
a riga 4 deve essere $fields[‘billing_cf’] e non $fields[‘cf’]
@ Andrea:
perchè c’è un errore a riga 4
$fields[‘cf’] deve essere $fields[‘billing_cf’]
Dimenticavo. Il campo si duplica solo inserendo la modifica di Febbraio
Ciao e grazie per l’articolo. Ho anche il il problema del campo duplicato nella pagina del checkout. Sai dirmi come posso eliminarlo?
Grazie
http://i.imgur.com/EbogP3T.png
Ciao e grazie mille per lo splendido articolo. Ho solo il problema che nella pagina del checkout, come altri hanno fatto notare, il campo è duplicato come puoi vedere nell’immagine. Sai mica dirmi come posso fare a togliere uno dei due?
Grazie!
http://i.imgur.com/EbogP3T.png
Ciao Paolo, prova a copiarlo ora forse era un problema di apici!
Ciao volevo segnalare che nell’ Aggiornamento Codice Febbraio 2015 io ricevo un errore di questo tipo:
PHP – Parse error, unexpected T_STRING,’Codice Fiscale’
add_filter( ‘woocommerce_billing_fields’ , ‘billing_field_cfpiva’ );
function billing_field_cfpiva( $fields ) {
$fields[‘cf’] = array(
‘label’ => __(‘Codice Fiscale / P.IVA’, ‘woocommerce’),
‘show’ => true
);
return $fields;
}
Io nn essendo un esperto di codice ho capito solo che è uno stupido errore di sintassi, dovuto a qualche virgola mancante, o qualche apice di troppo.. Se lo potete correggere lo aggiungo volentieri visto che il resto funziona benissimo e per questo ti ringrazio per averlo condiviso.
Paolo
Ciao, non so se puoi aiutarmi. Sono riuscito a inserire questo codice e funziona alla grande, quello che vorrei però è che quando a me amministratore arriva l’email che mi avvisa che un nuovo utente si è registrato, nel riepilogo dell’utente fosse visualizzato anche il campo partita iva. Sapresti dirmi come fare?
problema risolto sostituendo il file nella cartella e installando woocommerce italian add on.
Ciao, copiando i tuoi codici il sito é sparito completamente e non é più raggiungibile. Non riesco neanche ad accedere ad altre pagine del pannello di amministrazione di WP.
Non posso perdere tutto il lavoro fatto sull’ecommerce per colpa questo codice.
Come si può rimediare ??
Grazie
Salve. E da un pò che uso il vostro codice che va a meraviglia.
Avrei la necessità di mostrare il campo partita iva e CF solo nella versione italiana e non quella in inglese (come plugin utilizzo WPML). Penso si possa risolvere con JS, ma siccome sono un tronco…:)
Avrei bisogno di aiutino.
Grazie per collaborazione.
Buona giornata a tutti.
Intanto grazie per la fantastica guida!
Segnalo che sembra funzionare tutto alla perfezione, tranne il codice per visualizzare e modificare il campo nella pagina dell’account: ogni volta che aggiungo quella parte al file functions.php del tema, il sito diventa completamente irraggiungibile, sia la visualizzazione che la pagina wp-admin.
Questo è il tema che utilizzo:
https://colorlib.com/wp/unite/
Da cosa può dipendere?
Salve… ottima guida… però 2 problemi:
1. non riesco a vedere il CF/P.IVA nel backend
2. c’è un modo per controllare che almeno la text deve essere di almeno 11 caratteri e non deve contenere punteggiature o altri simboli?
grazie
Salve a tutti premettendo che sono un “autodidatta” di wordpress e woocommerce ho nonostante tutto quasi preparato il mio nuovo sito web.
Ho caricato il codice che riporto in basso per avere il campo partita iva/codice fiscale e tutto funziona bene, ma facendo qualche simulazione noto che il dati fiscali non mi arrivano ne sulla mail di ordine ricevuto ne tanto meno sono visibili dalla parte admin in ordini.
questo è il codice che ho inserito:
// Aggiungiamo il campo Codice Fiscale / Partita IVA
add_filter( ‘woocommerce_checkout_fields’ , ‘field_cfpiva’ );
// Frontend: La funzione field_cfpiva – $fields è l’array dei campi passata tramite filtro!
function field_cfpiva( $fields ) {
$fields[‘billing’][‘billing_cf’] = array(
‘label’ => __(‘Codice Fiscale / P.IVA’, ‘woocommerce’),
‘placeholder’ => _x(‘Codice Fiscale / P.IVA’, ‘placeholder’, ‘woocommerce’),
‘required’ => true,
‘class’ => array(‘form-row-wide’),
‘clear’ => true
);
return $fields;
}
Come posso fare per avere il dato in qualche modo ?
Ringrazio anticipatamente.
Ciao,
ho utilizzato il vostro codice per inserire il campo codice fiscale..sembra funzionare se non fosse per la ripetizione del campo nella pagina checkout.
Sapresti indicarmi una soluzione.
Grazie
Ciao a tutti, grazie Matteo, il codice funziona perfettamente!
L’ultima cosa che manca è che il Codice Fiscale/P.IVA appaia anche nella pagina di riepilogo dei dati subito dopo aver confermato l’ordine. Spero che qualcuno mi aiuti. Grazie
Ottima guida!
Avrei la necessita di far dipendere il campo dallo stato di fatturazione ( billing_country = IT ). Ho provato con la lingua e funziona if(ICL_LANGUAGE_CODE==it){ è possibile farlo anche con il paese?
Grazie!
Grazie mille per l’aiuto,
nel caso in cui si voglia rendere visibile il campo Codice Fiscale solo se viene selezionato lo stato di fatturazione Italia (billing_country==IT) che funzione devo inserire per racchiuderlo.
Ho provato con quella della lingua if(ICL_LANGUAGE_CODE==it){ e funziona , ma penso che sia più corretto farla dipendere dal paese di fatturazione.
Potete darmi una mano?
Ciao Matteo, ti ringraziamo per il codice. Confermo che questo codice è funzionante per le nuove versioni di woocommerce 😉
Grazie per la segnalazione! Aggiorneremo l’articolo!
Ciao a tutti,
per prima cosa ringrazio l’autore dell’articolo per questo grande aiuto.
Anche io ho avuto problemi con la modifica per la visualizzazione nella pagina MY ACCOUNT, dopo vari tentativi ho risolto con questo codice che va a sostituire tutto quello detto sopra nell’articolo:
// Aggiungere il campo Codice Fiscale MYACCOUNT E CHECKOUT
add_filter( ‘woocommerce_billing_fields’ , ‘billing_field_cf’ );
function billing_field_cf( $fields ) {
$fields[‘billing_cf’] = array(
‘label’ => __(‘Codice Fiscale’, ‘woocommerce’),
‘placeholder’ => _x(‘Codice Fiscale’, ‘placeholder’, ‘woocommerce’),
‘required’ => true,
‘class’ => array(‘form-row-wide’),
‘show’ => true
);
return $fields;
}
// Aggiungiamo il campo Codice Fiscale ADMIN
add_filter( ‘woocommerce_admin_billing_fields’ , ‘admin_field_cf’ );
function admin_field_cf( $fields ) {
$fields[‘cf’] = array(
‘label’ => __(‘Codice Fiscale’, ‘woocommerce’),
‘class’ => array(‘form-row-wide’),
‘show’ => true
);
return $fields;
}
Spero si a di aiuto a qualcun altro.
Salve,
anche a me il codice aggiunto a febbraio 2015 prova un doppione del campo codice fiscale nella pagina del checkout.
Francesco
Ciao e grazie del lavoro che state facendo!
Io ho un problema con l’inserimento del codice riguardante la parte di registrazione del cliente
questo:
add_filter( ‘woocommerce_billing_fields’ , ‘billing_field_cfpiva’ );
function billing_field_cfpiva( $fields ) {
$fields[‘cf’] = array(
‘label’ => __(‘Codice Fiscale / P.IVA’, ‘woocommerce’),
‘show’ => true
);
return $fields;
}
Appena lo inserisco e aggiorno la pagina del sito mi riporta il seguente errore:
Parse error: syntax error, unexpected ‘Fiscale’ (T_STRING) on line 1535.
Buongiorno, dopo mille tentativi sono riuscita ad inserire il campo personalizzato cod.Fisc/P.Iva in fattura nella posizione ideale, ma… non mi stampa il codice anche se inserito in fase di check out e presente nel dettaglio rodine nel campo personalizzato. In pratica sotto all’indirizzo del cliente rimane solo la dicitura Cod.Fisc./P.Iva: senza codice alcuno.
Uso Optimizepress ed ho già installato il plugin per la compatibilità.
Inoltre volevo chiedere una cosa che non mi è chiara: dal momento che ho fatto delle prove, che poi in fase di pagamento ho annullato, ho visto che negli ordini mi genera comunque la fattura seguendo la numerazione anche se l’ordine e’ stato cancellato. A questo punto cosa succede? Rimangono dei buchi nella numerazione? In effetti avrei delle fatture che poi in realtà non hanno senso di esistere dal momento che la vendita non è stata effettuata. Volevo un chiarimento se possibile perche’ non ho ben chiara questa procedura. Grazie mille. Simo
Buongiorno,
ho un problema di questo tipo: nonostante il required sia impostato su true, il campo CF / Piva non è obbligatorio, cioè riesco a proseguire senza inserire niente in quel campo.
Cosa posso fare?
Grazie mille
Ciao, ho notato che inserendo l’ultimo codice aggiornato a febbraio 2015, permette correttamente di modificare i dati di fatturazione dall’account dell’utente, ma duplica il campo in fase di checkout.
Risulta anche a voi ?
Grazie
Ciao,
per inserire Fiscale o Partita I.V.A. anche nella pagina di registrazione di woocommerce come bisigna fare ?
Grazie
Emiliano
Ciao Alfredo,
forse questo articolo può aiutarti
http://dot4all.it/stage/stage/woocommerce-modificare-ordine-dei-dati-fatturazione/
Fammi sapere
Salve.
Grazie per il codice. Stavo impazzendo per trovare una soluzione valida.
Una domanda. Ho inserito tutto il codice nel child del mio template. Funziona, vorrei solo spostare il campo posizionato nel fondo del form, dopo il campo “Ragione Sociale”. Potreste aiutarmi? Grazie mille e buon lavoro.
Salve ho utilizzato il plugin WooCommerce PDF Invoices & Packing Slips che consigliavate nei commenti di questo post. Sono riusciuto a configuralo secondo le mie esigenze. Adesso ho un problema rispetto al quale vorrei chiedere il vostro aiuto. In sostanza vorrei inserire nel template della fattura anche i campi IVA ed Aliquota IVA del prodotto che il cliente ha acquistato. Potete aiutarmi con il codice da inserire nel template della fattura per fare in modo che i campi Iva ed aliquota iva già presenti e valorizzati nel woocommerce siano visibili anche nel template della fattura del plugin WooCommerce PDF Invoices & Packing Slips. Grazie infinitamente per tutto l’aiuto che potrete darmi
Salve,
avete provato ad integrare il valore di un custom field (in questo caso, il numero della partita iva) con il campo VAT# del plug in “WooCommerce Eu Vat Number”?
Inoltre, si potrebbe fare in modo che il valore del campo vat# sia salvato nel custom field, in modo da rendere più pratici gli acquisti futuri?
grazie!
Risolto!
Grazie Luca per il supporto.
è un errore di sintassi… mi sono accorto che rispondendo l’editor mi ha eliminato parte di codice… devi inserire questo codice $wpo_wcpdf->custom_field(‘_billing_cf’, ‘Codice Fiscale:’, true); all’interno di tag di apertura e chiusura php php ?>
ciao,
il sistema mi consegna un errore di sintassi appena cerco di vedere il pdf della fattura “Parse error: syntax error, unexpected T_STRING in /web/htdocs/www.uovafarinaemattarello.com/home/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/pdf/Simple/invoice.php on line 49”
il mistero continua…che cosa può essere?
Grazie
Ciao Michele, se mi dici che in fattura ti ritrovi scritto il codice che hai incollato credo che tu non abbia inserito il codice di apertura e chiusura php 🙂 prova a sostituire tutto il codice con questo:
$wpo_wcpdf->custom_field(‘_billing_cf’, ‘Codice Fiscale:’, true);
dovrebbe funzionarti 😉
ciao,
ho scaricato e installato il plugins che mi hai consigliato tu “WooCommerce PDF Invoices & Packing Slips” e ho seguito le tue istruzioni sull’inserimento della stringa di codice qui sotto
$wpo_wcpdf->custom_field(‘_billing_cf’, ‘Codice Fiscale:’, true)
ma non funziona, mi compare in fattura il codice.
Io nel file invoice.php mi trovo questra stringa di codice
billing_address(); ?>.
Considera che ho usato esattamente il codice scritto nell’articolo, senza cambiare “billing_cf”.
Mi potresti scrivere la stringa di codice giusto tenendo conto di quanto scritto nel div?
ps è evidente che non sono un mago del php:-)
Grazie
Ciao Luca,
dai un’occhiata a questo articolo penso ti possa tornare utile 😉
http://dot4all.it/stage/stage/come-inserire-custom-field-nelle-email-woocommerce/
Buonasera e grazie per la risposta,
La mail si è risolta da sola, evidentemente era un problema esterno. Sono anche riuscito a visualizzare i dati da amministrazione attraverso modifica ordine come mi avete consigliato.
Vorrei chiedervi se c’è qualche modo per far inserire nella mail di conferma anche il CF/P.IVA insieme agli altri dati.
Grazie ancora per le risposte e la disponibilità.
Ciao Luca,
in amministrazione i dati partita IVA e Codice Fiscale inseriti nel front-end dai clienti li puoi trovare e modificare cliccando sulla modifica ordine. Tra i dati di billing del cliente puoi modificarli!
Per quanto riguarda la mail è un problema anomalo perché i filtri utilizzati non vanno a modificare il funzionamento delle mail quindi non sembra un problema collegato al codice inserito nel file functions.
Fammi sapere come procede 😉
Buonasera,
Innanzitutto grazie per il plug-in, l’ho inserito all’interno della pagina corretta e funziona. L’unico problema è che dopo l’inserimento del plug-in non riceviamo più l’email contenete l’ordine effettuato dal cliente,inoltre da amministratore non riesco a visualizzare il campo partita iva / codice fiscale dall’interfaccia di modifica utente.
Grazie anticipatamente per la risposta.
Ciao Michele le indicazioni che ti ho dato nel commento precedente sono relative al plugin WooCommerce PDF Invoices & Packing Slips versione 1.5.2 🙂 Fai una prova con quello… nel frattempo posso dare un’occhiata a quel plugin 😉
ciao,
la versione del plugins che ho installato di WooCommerce Print Invoice & Delivery Note è la 4.0.2, e la soluzione che mi hai scritto sopra non funziona.
Il file invoice.php non c’è nella cartella, ho provato ad inserirlo il codice nel file print-content.php ma non funziona, compare solo la stringa di codice nello spazio dove dovrebbe comparire la P.IVa o il CFI.
A quale versione del plugins avete fatto riferimento?
L’incubo continua:-)
Ciao Michele,
il plugin permette di crearti dei template ad hoc per le fatture da utilizzare. All’interno del template puoi utilizzare questa semplice riga di codice:
$wpo_wcpdf->custom_field(‘_billing_cf’, ‘Codice Fiscale:’, true)
e il custom field apparirà in fattura (Sostituisci _billing_cf con il nome del campo creato).
Il template che il plugin utilizza di default si trova in wp-content > plugins > cartella del plugin > templates > pdf > Simple > invoice.php
Puoi inserire il codice subito sotto l’indirizzo di fatturazione che troverai facendo una ricerca di:
$wpo_wcpdf->billing_address().
Chiaramente oltre a modificare direttamente il plugin puoi anche creare un template all’interno del tuo tema e dire in amministrazione di utilizzare quello come default.
Questa operazione è più complessa. La prossima settimana pubblicherò un articolo per permettere proprio la creazione di un template ad hoc nel vostro tema wordpress.
ciao,
quel plugin per la fatturazione lo uso già, ed è proprio in quello che vorrei capire come fare comparire la p.iva e il cf insieme agli altri dati.
Altrimenti che senso ha avere i dati completi nel pannello di gestione ma non averli sulla fattura da stampare.
Mi potete aiutare?
Grazie
Ho risolto… come non detto.. :o)
Scusate il disturbo :o)
E grazie ancora!!!
Buongiorno, innanzitutto grazie per il codice.. Funziona perfettamente ;o)
La mia domanda è questa.. come faccio a far diventare il campo P.I./C.F. NON obbligatorio da compilare?
Grazie mille in anticipo per la risposta…
Un saluto
Andrea
Ciao Michele,
per la fattura devi utilizzare un plugin a parte e configurare i nuovi campi creati nel template.
Un plugin che permette la gestione della fatturazione carino è WooCommerce PDF Invoices & Packing Slips con una buona documentazione sul repository wp.
ciao, ho inserito il codice e funziona, cioè l’utente si trova il campo da compilare per la P.Iva o Cf, però nella fattura però non ci sono.
Sbaglio io o questo codice non permette di suo la scrittura nella fattura?
Grazie
Ciao Massimiliano,
grazie mille a te! Chiaramente il nome del campo è billing_cf e non cf come hai giustamente segnalato.
Buon proseguimento
Perfetto, grazie mille!
L’unica cosa è che il codice sistemato così fa venire un campo doppio nel checkout, di cui uno vuoto, per risolvere il problema sulla stringa:
$fields[‘cf’] = array(
basta sostituire al posto di ‘cf’: ‘billing_cf’
e tutto funziona perfettamente, ho anche testato con il plugin delle fatture che ho sul sito e riesco a prendere anche li la variabile billing_cf e stamparla nella fattura.
Vi ringrazio ancora per l’aiuto
Ciao a tutti,
ringraziamo Rosy e Massimiliano per la segnalazione relativa al fatto che non è possibile modificare il campo cf/.iva nel frontend nella sezione “Mio Account” dell’utente.
Siamo felici di mettervi a disposizione il codice che vi permetterà di rendere disponibile questa possibilità 🙂
add_filter( ‘woocommerce_billing_fields’ , ‘billing_field_cfpiva’ );
function billing_field_cfpiva( $fields ) {
$fields[‘cf’] = array(
‘label’ => __(‘Codice Fiscale / P.IVA’, ‘woocommerce’),
‘show’ => true
);
return $fields;
}
A breve aggiorneremo anche l’articolo!
Grazie
Il codice funziona per la parte di checkout e del backend di woocommerce, ma non funziona per la parte frontend nella pagina edit-address dell’account, quando si prova a modificare i dati di fatturazione non compare il campo della partita iva.
Avete una solunzione per far venire fuori il campo anche li?
Grazie
Grazie dot4all,
si è vero che si può cambiare da amministrazione ma c’è un posto però dove non è possibile cambiare i dati, cioè da lato cliente, dopo averli inseriti la prima volta (che è ben funzionante), se desidera modificare la P.IVA e clicca in “modifica” dalla pagina “mio-account”, appaiono tutti i campi tranne quello.
Ps. mi sarebbe piaciuto ci fossero due campi, codice fiscale obbligatorio e p.iva no, ma niente… non riesco a farlo funzionare 🙁
Come dovrebbe essere il codice da inserire in function.php?
Grazie x l’aiuto 🙂
Ps2. non mi è arrivata la mail di risposta a questo post… strano…
Ciao Rosy,
la parte di codice relativa al filter:
add_filter( ‘woocommerce_admin_billing_fields’ , ‘admin_field_cfpiva’ );
inserisce in amministrazione i campi per la modifica delle informazioni di fatturazione dell’utente (edit billing address).
Il codice che abbiamo postato inserisce sia nel forntend che nel backend un campo unico CF/P.IVA. Se lo scopo è avere 2 campi separati devi duplicare il codice e chiamare un campo CF e l’altro P.IVA. in questo modo i campi che verranno presentati all’utente al checkout e all’amministratore nel backend saranno 2.
Se hai bisogno di altre indicazioni non esitare a scriverci
Buon proseguimento
Buongiorno,
anche io come Marco vorrei sapere come inserire la
partita IVA e CF nella pagina di modifica delle informazioni di fatturazione dell’utente (edit billing address).
Grazie per l’aiuto
Ciao Stefano,
con quale versione di Woocommerce e WordPress stai lavorando?
Quel codice, inserendolo nel file functions.php del tema ti aggiunge il campo partita iva/codice fiscale. Puoi inserirlo in qualsiasi punto del functions.
In caso dacci dettagli maggiori sulla versione di Woocommerce e possiamo provare.
Grazie e a presto
Buonasera ho eseguito le istruzioni per aggiungere il campo P.iva o Cf ma qualcosa è andato storto e ho eliminato le righe di codice. Il sito scompariva.
C’è una posizione preferita in cui inserire le righe sopra elencate?
Grazie Stefano
Grazie mille, funzionaaa!!!
Ciao Elisa,
WPML mette a disposizione la costante ICL_LANGUAGE_CODE che ci permette di fare un check sulla lingua.
Puoi provare ad inserire l’add_filter descritto nell’articolo all’interno di un if tipo:
if(ICL_LANGUAGE_CODE==it){…}
in questo modo dovresti risolvere il tuo problema…
Facci sapere se funziona il codice così lo comunichiamo ai nostri lettori!
Grazie a te
Ciao, grazie per l’utilissimo codice. Sto lavorando su un ecommerce multilingua fatto con woocommerce e WPML (per la gestione delle lingue) . Mi sapresti dire come è possibile inserire questi campi (codice fiscale e PI ) solo nella parte italiana del sito?
grazie mille
Ciao, bella guida, ma mi domandavo se com’era possibile, nella mail che si riceve dell’ordine, vedere la partita iva del cliente.
Ciao avrei una domanda da porvi. ho letto e riletto questo articolo cercando una soluzione nascosta che non ho trovato… ho visto che anche altri utenti hanno avuto il mio stesso problema ma non ho capito se è stato risolto. In sostanza volevo capire come fare ad avere due campi: partita IVA e CF nel checkout ma soprattutto nella pagina di modifica delle informazioni di fatturazione dell’utente (edit billing address)e che questi campi vengano comunicati all’amministratore del sito via mail insieme agli dettagli.
Grazie mille…sto impazzendo!
Ciao Blogghidee,
scusa il ritardo nella risposta. Puoi tranquillamente inserirci in un tuo post. Purtroppo il plugin non siamo riusciti ancora a realizzarlo. Speriamo a breve di completare “l’opera” 🙂
Grazie per l’interessamento
Ciao Federico,
puoi duplicare l’array inserendo ad esempio questo
$fields[‘billing’][‘billing_piva’] = array(
‘label’ => __(‘P.IVA’, ‘woocommerce’),
‘placeholder’ => _x(‘P.IVA’, ‘placeholder’, ‘woocommerce’),
‘required’ => true,
‘class’ => array(‘form-row-wide’),
‘clear’ => true
);
Ciao Marinko,
puoi utilizzate la seguente action per inserire in visualizzazione il campo
add_action(‘woocommerce_admin_order_data_after_billing_address’, ‘my_function’);
my_function(){
echo “Testo da visualizzare”
}
Ciao e grazie per la guida.
Volevo chiedere se esiste qualche possibilità di visualizzare CF o PI senza cliccare su “modifica” nei dettagli dell’indirizzo di fatturazione.
Salve, io vorrei inserire due campi differenziati, uno per la P.IVA ed uno per il codice fiscale, nel caso in cui un libero profesionista , per cui i due dati differiscono, voglia registrarsi.
Come posso fare?
Grazie mille per questo tutorial, ma avete già pubblicato il plugin!?!
Vi sto inserendo in un mio post, spero di farvi cosa gradita… fatemi sapere così recensisco meglio, a presto.
Ciao Silvia,
è possibile renderlo obbligatorio un campo. Leggi questa guida http://dot4all.it/stage/stage/2013/03/15/woocommerce-aggiungere-campi-personalizzati/. Leggendo la sezione “Rendere i campi obbligatori” puoi adattarlo poi alla tua esigenza controllando che la nazione selezionata è Italia.
Ciao Silvia,
dobbiamo analizzare la richiesta ma immagino si possa fare. Ti faremo sapere. Grazie per l’interessamento
Davvero molto utile!!!
Quoto e mi accodo alla richiesta di Silvia
“possibile inserire il campo P.IVA/CF anche nella pagina per la modifica dell’indirizzo di fatturazione (Edit Billing Address )e in amministrazione, nella pagine di modifica dei dati dell’utente?”
e rinnovo anche una domanda fatta sopra, come posso avere scritto il CF del cliente nella fattura generata dal plugin woocommerce delivery notes?
grazie
Ho seguito le istruzioni, e il campo compare.
Se però il cliente inserisce il codice sbagliato e io devo correggerlo, quando ri-salvo l’ordine non mi viene presa la modifica, resta quello di prima.
come faccio?
Ciao a tutti, sapete dirmi se è possibile rendere il campo CF/P.IVA obbligatorio solo per l’Italia?
Grazie,
Silvia
Ciao Emilio,
segui questa guida per aggiungere campi personalizzati in woocommerce: http://dot4all.it/stage/stage/2013/03/15/woocommerce-aggiungere-campi-personalizzati/#.UUM8FRxhX4F
Se invece, volessi inserire un campo check per l’accettazione di termini e condizioni?? come potrei fare? qualche suggerimento?? grazie
Grazie per questo utilissimo codice!
Ho una domanda: è possibile (ed eventualmente come) inserire il campo P.IVA/CF anche nella pagina per la modifica dell’indirizzo di fatturazione (/mio-account/modifica-indirizzo/?address=billing) e in amministrazione, nella pagine di modifica dei dati dell’utente?
Grazie!
PS: news sul plugin? Sarebbe una manna!!!
Buongiorno Fade,
è possibile interagire con le API di WP e WooCommerce per inserire i campi come vuoi in base alle tue esigenze. Dovresti conoscere un pochino le funzionalità di base di WP per poter fare questo.
Ciao sono neofita di WordPress sono infase di valutazione per rifare un mio sito e-commerce sto testando woocommerce dalla modalità test di woothemes.com, sono riuscito a settare tutto x quanto mi interessa, ma il form di registrazione nn permette aggiunta di campi, in italia x essere in regola ci vuole distinzione tra privati e aziende , campi p.iva cod. fiscale ( come visto fare sopra) e l’informativa:
” Pienamente informata/o in base all’art. 13 del D. Lgs. 196/2003 sul trattamento dei propri dati personali, ai sensi dell’art. 23 dello stesso:
Esprimo il consenso al trattamento dei miei dati personali al fine di consentire che venga fornito il servizio o eseguita la prestazione richiesta.
Sì No
Dichiaro di aver preso visione e di accettare le (Condizioni di Vendita)
Sì No ”
come bisogna fare??? bisogna agire sui file??? come??? scusate!!! per il resto è perfetto!!!! ( x le mie necessità )
nessuno a già risolto il problema???
ciao
scusate nel mio template non ho fuction.php ma fuctions.php .. cmq inserento il codice poi nel carello mi restituisce questo errore:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘field_cfpiva’ not found or invalid function name in /web/htdocs/www.collezioneicuccioli.it/home/cuccioli/wp-includes/plugin.php on line 173
devo aggiornare qualche altro file???
Ciao, purtroppo facendo tale modifica al file ricevo errore di header duplicati su file functions.php e pluggable.php
Il flow è questo :
Posso vedere il carrello ma se clicco su “procedi all’acquisto ricevo questo errore, credo sia perchè ho già modificato functions.php
Grazie!
alla fine ho risolto con questo metodo
ho tolto il vostro codice da fuction e ho inserito questo in woocommerce-functions.php
// Hook in nel checkout
add_filter( ‘woocommerce_checkout_fields’ , ‘custom_override_checkout_fields’ );
function custom_override_checkout_fields( $fields ) {
// NOTA shipping: appare nella colonna dx – billing appare sotto la colonna sx di fatturazione
$fields[‘billing’][‘piva’] = array(
‘label’ => __(‘Codice Fiscale/P.IVA’, ‘woocommerce’),
‘placeholder’ => _x(‘Digita il tuo Cod fiscale o partita iva’, ‘placeholder’, ‘woocommerce’),//placeholder del campo input
‘required’ => false, // cambia in true se obbligatorio
‘class’ => array(‘form-row-wide’), //specifica una classe se vuoi
‘clear’ => true
);
return $fields;
}
//Hook Admin
add_action(‘woocommerce_checkout_process’, ‘piva_checkout_field_process’);
function piva_checkout_field_process() {
global $woocommerce;
// Verifica se è presente quando cliccano su acquista
if (!$_POST[‘piva’])
$woocommerce->add_error( __(‘Digita la partita iva o codice fiscale per la fattura.’) );
}
//Aggiorna dati
add_action(‘woocommerce_checkout_update_order_meta’, ‘piva_checkout_field_update_order_meta’);
function piva_checkout_field_update_order_meta( $order_id ) {
if ($_POST[‘piva’]) update_post_meta( $order_id, ‘Partita IVA / Codice Fiscale’, esc_attr($_POST[‘piva’]));
}
e poi ho aggiunto questo nel fuction del tema
/**
* Add the field to order emails
**/
add_filter(‘woocommerce_email_order_meta_keys’, ‘my_custom_checkout_field_order_meta_keys’);
function my_custom_checkout_field_order_meta_keys( $keys ) {
$keys[] = ‘Codice Fiscale/P.IVA’;
return $keys;
}
ha funzionato
grazie cmq e spero ke possa essere utile a qualcuno la mia esperienza
quello ke vorrei capire è se è normale ke non si visualizzi o ho sbagliato qualcosa io
Ciao Raffaele,
cercheremo di aggiungere il campo anche nella scheda del cliente e di inserirlo all’interno della fattura automaticamente. Quale plugin usi per la fatturazione? woocommerce-delivery-notes?
Buongiorno Diego,
nelle prossime implementazioni cercheremo di inserire anche questo controllo. Grazie
Buongiorno Maurizio,
il codice va inserito nel function.php del tema utilizzato.
Cercheremo il prima possibile di aggiungere anche il campo per differenziare tra privati, ditte individuali e professionisti e società.
Grazie per la segnalazione
un altra cosa non ce modo di inserire il campo codice fiscale nella mail di fatturazione? se no come si fa a stampare la fattura?
Ciao, grazie mille per il supplemento, è ottimo davvero. Solo Che il mio cliente mi chiedeva se è possibile aggiungere il campo codice fiscale anke nella scheda cliente. C’è modo?
salve a tutti, e grazie mille per il grosso aiuto che ci avete apportato con questa implementazione del campo codice fiscale/p.iva fatti i primi test tutto sembra funzionare, adesso però quello che vi chiedo è quel semplice script java che accennate nell’articolo per poter avere un minimo di controllo della veridicità del codice fiscale o partita iva inserito dall’utente… potete aiutarmi in tal senso? grazie mille per ogni eventuale vostra risposta.
Buongiorno, ho appena installato wooCommerce ed effettivamente sentivo la necessità di inserire il codice fiscale e/o P.I.
A parte che non ho capito se il codice (delle 3 videate sopra) vada inserito in function.php del tema in uso o in woocommerce-functions.php volevo sapere se poi tale campo apparirà nella fattura.
Nel primo codice dive “vostro tema” nelle due successive “nostro tema”; mi viene da pensare che vada tutto nello stesso file perché sempre di tema si parla.
Inoltre bisognerebbe fare una diversificazione perché fiscalmente in fattura deve apparire (pena sanzione amministrativa):
-privati: codice fiscale
-ditte individuali e professionisti: codice fiscale e partita iva (entrambi)
-società: partita iva
Qui sembra apparire 1 solo campo a scelta tra codice fiscale o P.I. se non erro ma visto che non ho capito in quale dei 2 function.php va aggiunto il codice, per il momento resto in attesa di risposta.
Grazie
Ottima soluzione! Premetto che sono un newbie quindi forse sarà una domanda ovvia e stupida ma … perchè non mi compare la partita iva/codice fiscale nei dettagli di fatturazione? nemmeno il campo personalizzato non mi compare… ma non so dove sbaglio
il campo durante il checkout funziona…
grazie!
Semplicemente non trovavo il campo dove era memorizzato,
a proposito, ma per inserirlo nella mail dell’ordine dove si deve intervenire?
grazie
Ciao Bartolomeo,
potresti dirci quale problema riscontravi effettivamente e come l’hai risolto in modo da condividerlo con tutti gli utenti hanno lo stesso tuo problema?
Grazie mille
grazie, risolto.
Buongiorno Bartolomeo,
cosa intendi per “non si memorizza”? che il cliente deve sempre reinserirlo ad ogni ordine?
Grazie
Salve, ho inserito il codice per l’inserimento della partita iva ma quando un utente si registra la partita iva non si memorizza nonostante venga digitata nel form di registrazione.
Saluti
Buongiorno Bartlomeo,
stiamo mettendo in lavorazione anche questo plugin. Come pronto te lo comunicheremo.
Salve, volevo chiedervi se vi è pronta o in lavorazione qualche soluzione per richiedere agli utenti l’autorizzazione al trattamento dei dati.
In attesa di Vostro cortese riscontro e cogliendo l’occasione per ringraziarvi per la soluzione del problema “partita iva” porgo cordiali saluti.
Bartolomeo
Grazie Mac,
stiamo preparando anche il pacchetto per il plugin. A breve metteremo a disposizione anche quello e lo pubblicheremo anche su wordpress Italia. Vediamo se metterlo anche su wordpress.org, ma essendo una cosa solo Italiana non penso sia conveniente.
Siamo contenti di essere stati utili. A presto e a disposizione per eventuali errori… 🙂
Grandissimi! 🙂
Ho appena installato e sembra funzionare, confermerò dopo una serie di tests.
A parte ringraziare per il vostro lavoro, vorrei consigliare di rendere questa modifica un add on, perché deve avere il risalto che merita e l’unico sistema è essere presenti sul repository di WordPress e Woocommerce.
Tutti gli italiani che usano Woocommerce (e mi viene da pensare che con qualche lievissima modifica anche quelli che usano Jigoshop) o che ancora non lo usano per via di questo limite, ve ne saranno grati e voi avreste la visibilità che meritate.
A presto, dopo le prove 😉