DNI del cliente en la factura de WooCommerce con WooCommerce Checkout Manager y WooCommerce PDF Invoices & Packing Slips.

Hace unos días os explicamos que en WooCommerce hay que hacer unos cambios para adecuarse a la legislación española.
En resumen son:
– Hacer que los números de factura sean consecutivos.
– Incluir el DNI del cliente en la factura.
– Desglosar el I.V.A. en la factura.

El punto 1 se resuelve con plugins como PDF Invoices & Packing Slips.
El punto 2 puede resolverse con plugins específicos (pero de poco recorrido probado), como explicamos en este post. PERO, como puede que no nos fiemos de esos plugins o que ya tengamos que usar WooCommerce Checkout Manager para otras cosas (como elegir los campos obligatorios en la compra), vamos a enseñar a añadir el campo de DNI/CIF con estos dos plugins.
Nota: nivel medio de conocimientos.

NIF/CIF con WooCommerce Checkout Manager y WooCommerce PDF Invoices & Packing Slips.

Vamos a suponer entonces que tienes PDF Invoices & Packing Slips y WooCommerce Checkout Manager instalados.

1) Lo primero que vamos a hacer es crear un campo nuevo para el DNI en Checkout Manager. Para ello vamos, en el menú del backend a WooCommerce->Ajustes->Finalizar Compra->Facturación (WooCheckout-> Facturación) y pinchamos en Añadir nuevo campo.

Seleccionamos un Campo de texto, que marcamos como obligatorio, ponemos el nombre que queramos (NIF/CIF) y el aviso que queramos. Es importante el último campo que será parte del nombre de la variable donde se guarde este campo (ya no se puede cambiar el nombre). En nuestro caso nifcif. Debe quedar algo así:

Podemos comprobar que ahora al realizar la compra debería pedirnos este campo. Haced una prueba porque la vais a necesitar luego.

2) Ahora vamos a hacer que se incluya en la factura. Para eso necesitamos hacer dos cosas a) descubrir qué nombre tiene la variable de este campo en el sistema y b) añadirlo a una plantilla de factura.

a) Para descubrir que nombre tiene la variable vamos a instalar el plugin Store Toolkit for WooCommerce (ya hablaremos sobre el otro día).
Una vez activado vamos a ir a un pedido en el que hayamos metido el DNI (hacemos una prueba antes) y, al final, veréis un listado de campos. Debería aparecer uno que acabe en lo mismo que pusisteis en el último espacio al crear el campo (nombre de la variable).
En nuestro caso el campo se llama _billing_nifcif
Una vez sabéis esto podéis desactivar el plugin Store Toolkit.

b) Ahora hay que crear una plantilla nueva en PDF Invoices & Packing Slips . Si os vais al backend a WooCommerce->Facturas PDF-> General tenéis las instrucciones. Ahí dice :
»  Copia todos los archivos de wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/Simple a tu tema (o tema hijo) en wp-content/themes/tutemahijo/woocommerce/pdf/yourtemplate para personalizarlos. «
Por lo tanto es mejor que hayáis creado un tema hijo (nosotros no lo hicimos y la actualización del tema nos borró las modificaciones).

Una vez hayas copiado el contenido de Simple a tu directorio de plantilla, tendrás un fichero invoice.php. Edítalo y, en el apartado de address-billing-address añade la siguiente línea:

<?php $this->custom_field('custom_fieldname', 'Custom field:'); ?>

En nuestro caso: <?php $this->custom_field(' _billing_nifcif', 'NIF/CIF:'); ?>

Tiene que quedar así:

Fijaos que hemos añadido un br antes para que salte una línea.

Ahora en WooCommerce->Facturas PDF-> General , el desplagable debería dejaros elegir la plantilla creada.

Sacad una factura nueva (podéis coger un pedido, mandar la factura a la papelera y regenerarla). Ahora deberíais ver el DNI en el apartado de dirección de facturación.

Esperamos que os sirva.



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).

Time limit is exhausted. Please reload CAPTCHA.