SmythSys IT Consulting

Añadir NIF, CIF o DNI a los formularios y facturas de WooCommerce.

Como os dijimos el otro día, WooCommerce, aun siendo increíble, no tiene en cuenta cuestiones importantes como el NIF, CIF o DNI en los datos de cliente. Algo obligatorio para las facturas en España.
Hoy vamos a enseñaros a añadirlo con y sin plugin.

1. Añadir el NIF, CIF o DNI a WooCommerce sin plugin.

En este caso añadiremos uno o varios códigos. Por lo tanto o los añades al functions.php de tu tema hijo, o a Snippets (como prefieras).

Sinceramente, con lo que se actualiza WooCommerce, y siendo algo tan vital, yo estoy más cómodo usando un plugin que código personalizado.
Porque si hay errores más adelante los del plugin pueden arreglarlo, y puedes deshabilitar los plugins también rápidamente.
Si no quieres complicarte, vete directamente al siguiente apartado para hacerlo con un plugin.
Pero esto es a gusto del consumidor.

El código ya lo han desarrollado otros, y os dejamos los ejemplos:

Aquí os dejo el primero resumido:

/**  
* MUESTRA EL CIF EN EL FORMULARIO DE PAGO (CHECKOUT) 
*/
add_action( 'woocommerce_after_order_notes', 'wpdesk_vat_field' );
function wpdesk_vat_field( $checkout ) {
    echo '<div id="wpdesk_vat_field"><h2>' . __('VAT Number') . '</h2>';
    
    woocommerce_form_field( 'vat_number', array(
        'type'          => 'text',
        'class'         => array( 'vat-number-field form-row-wide') ,
        'label'         => __( 'VAT Number' ),
        'placeholder'   => __( 'Enter your VAT number' ),
    ), $checkout->get_value( 'vat_number' ));
    
    echo '</div>';
}
/**  
* GUARDA EL NUEVO CAMPO EN EL PEDIDO 
*/
add_action( 'woocommerce_checkout_update_order_meta', 'wpdesk_checkout_vat_number_update_order_meta' );
function wpdesk_checkout_vat_number_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['vat_number'] ) ) {
        update_post_meta( $order_id, '_vat_number', sanitize_text_field( $_POST['vat_number'] ) );
    }
}
/**
 * HACER QUE SE VEA EL CAMPO EN LA ADMINISTRACIÓN DE WOOCOMMERCE
 */
add_action( 'woocommerce_admin_order_data_after_billing_address', 'wpdesk_vat_number_display_admin_order_meta', 10, 1 );

function wpdesk_vat_number_display_admin_order_meta( $order ) {
    echo '<p><strong>' . __( 'VAT Number', 'woocommerce' ) . ':</strong> ' . get_post_meta( $order->id, '_vat_number', true ) . '</p>';
}
/**
* AÑADE EL CAMPO A LOS E-MAILS DE WOOCOMMERCE.
*/
add_filter( 'woocommerce_email_order_meta_keys', 'wpdesk_vat_number_display_email' );

function wpdesk_vat_number_display_email( $keys ) {
     $keys['VAT Number'] = '_vat_number';
     return $keys;
}

2. Añadir el NIF, CIF o DNI a WooCommerce con plugin. (OPCIÓN MÁS RECOMENDABLE)

Como os he dicho, yo prefiero este método. Al final el plugin es el código anterior “empaquetado”. Pero podemos gestionarlo de otra manera, y los plugins más maduros tienen soporte y actualizaciones (con mejoras del código y nuevas funcionalidades).
Hay dos tipos de plugins que podemos usar para esto.

Plugins específicos:

Ya existen plugins específicos para añadir estos campos. Os dejo unos pocos:

Plugins no específicos.

Podéis también usar los plugins que permiten añadir campos a WooCommerce y hacerlos o no obligatorios. Tiene la ventaja que son plugins que llevan mucho tiempo, ya probados para todo tipo de campos y compatibles con otros plugins.
Os recordamos dos de los más importantes.

Os dejamos que probéis y elijáis la opción que más os convenga. Pero con esto, y el artículo del día pasado de la numeración, tendréis las facturas de WooCommerce legales en España.

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).