By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.
Cookie illustration

Use code: BF2021

Special Black Friday offer: 50% off any plan! (For new accounts).

Start Free Trial!
Close
Cómo pedir el número de IVA (VAT number) en WooCommerce

Cómo pedir el número de IVA (VAT number) en WooCommerce

Si vendes en la Unión Europea a través de WooCommerce, tienes que preparar tu tienda para aceptar y validar los números de operador intracomunitario (también conocido como número de IVA o VAT number) de tus clientes.

Según la normativa europea, si tu cliente reside en un país comunitario diferente al tuyo y tiene un número de IVA válido, no debes aplicar ningún impuesto en la venta y además debes enviarle una factura con inversión de sujeto pasivo.

En este artículo te vamos a dar dos opciones para añadir un campo para el número de IVA en tu tienda WooCommerce. Antes de entrar en detalles, hagamos una pequeña comparativa entre ellas:

Opción 1: WooCommerce Quaderno

Te recomendamos esta opción en primer lugar porque creemos que es la más sencilla y eficiente.

Necesitarás instalar nuevo plugin: WooCommerce Quaderno. Este plugin no solo añade el campo de número de IVA a tu checkout, sino que además muestra dicho campo solo cuando el cliente reside en un país de la UE y es capaz de validar el número introducido por tu cliente a través del servicio oficial VIES.

Una vez instalado, lo único que debes hacer es introducir tus credenciales API de Quaderno en la página de configuración del plugin y ya está.

Además, si el número de IVA es válido, el plugin genera una factura automática con dicho número y la nota de inversión de sujeto pasivo que es obligatoria por ley.

Opción 2: Hazlo tú mismo

Para aplicar esta opción debes tener conocimientos básicos de programación en PHP.

Copia y pega el siguiente código en el fichero functions.php de tu tema:

/**
Show VAT Number in WooCommerce Checkout
*/
function woocommerce_vat_field( $checkout ) {
 echo '<div id="woocommerce_vat_field"><h2>' . __('VAT Number') . '</h2>';</div>

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 '';
}
add_action( 'woocommerce_after_order_notes','woocommerce_vat_field');

/**
Save VAT Number in the order meta
*/

function woocommerce_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'] ) );
 }
}
add_action( 'woocommerce_checkout_update_order_meta', 'woocommerce_checkout_vat_number_update_order_meta' );

/**
Display VAT Number in order edit screen
*/

function woocommerce_vat_number_display_admin_order_meta( $order ) {
 echo '<strong>' . __( 'VAT Number', 'woocommerce' ) . ':</strong> ' . get_post_meta( $order->id, '_vat_number', true );
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'woocommerce_vat_number_display_admin_order_meta', 10, 1 );

Este código mostrará un campo para el número de IVA en el checkout de WooCommerce, guardará dicho número al finalizar el pedido y lo mostrará posteriormente en el área de administración.

Recuerda que este código no valida números de IVA y no actualiza los impuestos del pedido, pero puede ser de utilidad cuando quieres ofrecer a tus clientes la posibilidad de mostrar el número de IVA en sus pedidos.

¿Estresado con la facturación y los impuestos?

Imagina tener todos los datos para tus declaraciones de impuestos con un solo clic. Con Quaderno podrás calcular impuestos y enviar facturas automáticamente. Sin esfuerzo.

* En Quaderno nos encanta ofrecerte información sobre impuestos y contabilidad pero, ¡ojo, no somos asesores fiscales! Si necesitas más información o tienes dudas, te recomendamos que consultes con expertos en la materia.