Woocommerce es el plugin más utilizado para dotar al gestor de contenidos WordPress de las funcionalidades de una tienda online.
Woocommerce a diferencia de otros CMS específicos para ecommerce como Prestashop, no pide el NIF o DNI cuando un usuario rellena los datos necesarios para realizar un compra online.
DISFRUTA DE TODOS MIS CURSOS PREMIUM POR SOLO 10€/MES
En España es necesario incluir el NIF o DNI en la factura realizada a un particular para que dicha factura sea válida.
Woocommerce también tiene otra deficiencia, y es que no dispone de la funcionalidad de generación de facturas automáticas en su núcleo. Este punto es más sencillo de solucionar ya que simplemente tendremos que instalar un plugin gratuito: Woocommerce PDF Invoices & Packing Slips
Vamos a ver como añadir esta funcionalidad de solicitar el NIF en Woocommerce de dos maneras: A.- añadiendo código y B.- a través de un plugin gratuito (NUEVO – punto 3)
Primero lo vamos a ver añadiendo un código:
Primero instala el plugin para generar facturas en Woocommerce y después sigue los pasos para editar el archivo functions.php
1.- Añadir facturas a Woocommerce.
Como antes hemos comentado, para añadir a Woocommerce la capacidad de generar facturas de manera automática solo tendremos que instalar el plugin: Woocommerce PDF Invoices & Packing Slips
Verifica en la página oficial del plugin que éste es compatible con tu versión de WordPress: Ir a página oficial
Añadir facturas a Woocommerce
Para instalar el plugin para generar facturas en Woocommerce accederemos a nuestro panel de administración de WordPress y en el menú lateral izquierdo pulsaremos la opción “plugins”.
Una vez estemos en la página de administración de plugins, pulsaremos el botón que aparece en la parte superior con el nombre: “Añadir Nuevo”.
Ahora veremos que aparece una barra de búsqueda de plugins en el lateral derecho. Pues bien, escribiremos el nombre exacto del plugin en dicha barra (Woocommerce PDF Invoices & Packing Slips) y pulsaremos enter.
El plugin nos debe aparecer el primero de la izquierda, pero comprueba antes el nombre para asegurarte que se trata del plugin que estamos buscando.
A continuación pulsa el botón: Instalar ahora. Una vez instalado verás un enlace que dice: “Activar plugin”. Pulsa sobre “Activar plugin”.
En la pantalla de gestión de plugins podrás configurar el plugin para crear facturas en Woocommerce pulsando sobre el enlace: “Ajustes” que aparece bajo el nombre de dicho plugin.
2.- Añadir NIF DNI a las facturas en Woocommerce con un código.
Lo que ahora pretendemos es:
a.- Solicitar DNI-NIF Woocommerce: que Woocommerce solicite introducir el DNI-NIF de un cliente cuando dicho cliente esté aportando sus datos para la realización de una compra en la tienda online.
b.- Guardar NIF-DNI Woocommerce: que dicho DNI o NIF se guarde en la base de datos y que podamos visualizarlo cuando estemos gestionando el pedido que se generará con la compra del cliente.
c.- DNI-NIF en Factura Woocommerce: que el DNI-NIF aparezca en la factura que se generará asociada al pedido realizado por el cliente.
d.- DNI-NIF obligatorio: que sea obligatorio que el cliente que está aportando los datos necesarios para realizar una compra, aporte su DNI o NIF.
Para realizar todo esto vamos a incluir un código en el archivo functions.php incluido en la carpeta de nuestra plantilla o tema.
2.1.- El código a añadir al archivo functions.php
El código a añadir al final del archivo functions.php lo puedes descargar desde uno de los enlaces que te dejo a continuación. Uno será el código en caso de que queramos que el campo NIF sea obligatorio de rellenar por parte del cliente y otro en caso de que no queramos que sea obligatorio:
En caso de querer que el campo NIF NO sea obligatorio de rellenar:
En caso de querer que el campo NIF SI sea obligatorio de rellenar:
2.2.- Editar el archivo functions.php
Si no tienes un editor de código lo más recomendable es que instales Notepad ++ en tu ordenador. Entra en la página de Notepad++ a través del siguiente enlace y haz clic sobre el enlace: Notepad ++ Installer: Take this one if you have no idea which one you should take.
Una vez descargado el Notepad++ haz doble clic con el botón izquierdo del ratón e instalaló.
Más adelante utilizaremos el editor de código para abrir el archivo con el código que te has descargado.
Para editar el archivo functions.php iremos a “Apariencia > Editor” en el menú lateral izquierdo del panel de administración de nuestro WordPress.
En el lateral derecho tienes los diferentes archivos que podemos editar desde esta herramienta.
El archivo que tenemos que editar puede tener diferentes nombres según la plantilla que estemos utilizando (en mi caso, utilizando la plantilla DIVI el archivo se denomina: “Funciones del tema”). Pero sea el nombre que sea, bajo dicho nombre aparecerá entre paréntesis: (functions.php).
Archivo a modificar (functions.php) para incluir dni en facturas Woocommerce
Una vez localizado el archivo pulsamos sobre él.
Ahora iremos a la parte final del contenido del archivo desplazando la barra de scroll hacia abajo. El código que te descargarte lo añadiremos al final.
Ahora en primer lugar descomprime el archivo que te descargarte, y ábrelo utilizando el Notepad ++. Pon el puntero del ratón sobre el archivo que antes te descargaste, haz clic con el botón derecho y selecciona: “Edit with Notepad++”.
Copia todo el código que te aparece en el Notepad ++ y pégalo al final del archivo functions.php (asegúrate que has copiado todo el código y pegado todo el código).
Ahora pulsa el botón azul que aparece más abajo que dice: “Actualizar archivo”.
Ya puedes hace un pedido de prueba y comprobar si todo es correcto.
3.- Añadir NIF DNI a las facturas con un plugin (nuevo).
Por fin podemos añadir la funcionalidad de solicitar el NIF/CIF/NIE en Woocommerce a través de un plugin. Y no solo eso, sino que también dicho Nif quedará reflejado en la factura.
Funciona correctamente si utilizas el plugin de facturas Woocommerce PDF Invoices & Packing Slips. Si utilizas otro plugin para la crear facturas con Woocommerce, prueba y nos cuentas si te sirve o no. En teoría debería de funcionar con la mayoría de plugins de generación de facturas con Woocommerce
El plugin se llama: «WC – APG/NIF/CIF/NIE Field», es gratuito y lo puedes descargar desde aquí.
La principal ventaja de utilizar este plugin en vez de introducir el código es que además de ser más sencillo, recordará los datos del nif cuando el usuario inicie sesión y realice otra compra.
Podemos configurar en las opciones del módulo si queremos que sea obligatorio o no rellenar el campo del NIF.
Vamos a ver las opciones de configuración del módulo:
a.- ¿Campo de facturación requerido?:
Con este plugin para Woocommerce podrás insertar el nif en la factura.
Si marcas este checkbos el NIF/CIF/NIE aparecerá reflejado en la factura generada por Woocommerce. Mejor dicho, por el plugin que tengas instalado para crear facturas con Woocommerce.
Y así debe ser, según marca la legislación. En la factura debe aparecer el NIF/CIF/NIE para que ésta sea válida.
b.- ¿Campo de envío requerido?:
Si marcas este checkbos será obligatorio rellenar el campo NIF/CIF/NIE a la hora de realizar un pedido con Woocommerce. Como debe ser, según marca la legislación vigente en España, ya que no es válida una factura sin NIF, CIF o NIE
c.- ¿Validar campo?:
Esta opción sirve para validar el campo NIF/CIF/NIE. Es decir, para que el cliente no pueda introducir un NIF/CIF/NIE no válido.
Yo en principio prefiero dejar esta opción desmarcada, por si hay algún fallo en el sistema de verificación, o simplemente el cliente lo introduce mal y eso provoca la pérdida de alguna venta. Prefiero rectificarlo después si no es correcto, pero que permita al cliente realizar la compra.
d.- ¿Permitir número VIES? (Número de IVA intracomunitario):
Para los autónomos y empresas dentro de la comunidad Europea existe lo que se conoce como el número de IVA Intracomunitario.
Si eres autónomo tu número de IVA será ES + el NIF (Te tienes que dar de alta).
Este número de IVA Intracomunitario sirve para realizar compras en países de la comunidad europea y no pagar el IVA. Es decir, que si compras en una tienda online Alemana y eres autónomo o empresa con tu número de IVA intracomunitario no te deben cobrar el IVA.
De igual forma tú debes ofrecer lo mismo si vendes a países de la comunidad Europea con tu Woocommerce.
Pues bien, este check box sirve para validar el número de IVA (que se realiza a través el VIES). Aquí tienes un enlace a la página oficial de validación del número de IVA intracomunitario
Configurar Plugin wordpress/woocommerce para pedir NIF DNI CIF NIE
Me encanta el diseño web y el mundo del ecommerce. Apasionado de Prestashop, Woocommerce/Wordpress y de la formación. Me gustaría que este blog te sirviera de ayuda para poner en marcha e ir mejorando y evolucionando tu tienda online. Ya seas un profesional del sector o no, seguro que encontrarás mucha información de valor e interés aquí.
Buenas.
Muy buen aporte, solo una pregunta, es un campo que es como información adicional y sale al final de los datos que se solicitan, podría ser que este campo este debajo del nombre o de la dirección del cliente?
Voy a echarle un vistazo a tu academia, ya que puede ser interesante.
Gracias y saludos
Excelente ayuda… pero me surje una pregunta, hay alguina manera de que aparezca debajo del campo nombre?
Muchas gracias
Había probado varias cosas antes y no me funcionaron. El plugin me ha funcionado a la perfección, gracias!
Hola Diego,
me alegro que te haya sido de utilidad el post.
Me gustaría también invitarte a que eches un vistazo a mi plataforma de formación https://cursotiendaonline.com/ desde donde puedes Acceder a TODOS mis cursos online por solo 10 €/mes (Incluye ¡¡SOPORTE!!). En la plataforma tienes cursos sobre WordPress, Curso Blog WordPress, Curso como crear una tienda online de éxito, Curso Woocommerce, Curso seguridad y actualizaciones en WordPress, Curso Divi, Curso Flatsome, Curso Elementor, Curso Prestashop, Curso Shopify, Curso alta e indexación web en google, cursos Analytics ecommerce, Curso como gestionar un blog, SEO general, SEO tiendas online, Curso copywriting, plantillas wordpress como flatsome, etc… (Más de 30 cursos)
Genial, funciona a la primera 🙂
Hola Sergio, genial, me alegro que te haya servido el post.
Me gustaría también invitarte a que eches un vistazo a mi plataforma de formación https://cursotiendaonline.com/ desde donde puedes Acceder a TODOS mis cursos online por solo 10 €/mes (Incluye ¡¡SOPORTE!!). En la plataforma tienes cursos sobre WordPress, Curso Blog WordPress, Curso como gestionar un blog, Curso como crear una tienda online de éxito, Curso Woocommerce, Curso Divi, Curso Flatsome, Curso Elementor, Curso Prestashop, Curso Shopify, Curso alta e indexación web en google, cursos Analytics ecommerce, SEO general, SEO tiendas online, Curso copywriting, plantillas wordpress como flatsome, etc… (Más de 30 cursos)
Como siempre un 10 Joaquín. Estoy suscrito a tus cursos y es de las mejores decisiones que he tomado. Tus respuestas son rápidas a casi cualquier hora y tu implicación total. Enhorabuena. 100% recomendable
Hola José Manuel.
Me alegro que te estén gustando mis cursos de https://cursotiendaonline.com/ , muchas gracias
Te mereces un primicia, este mes publicaré un nuevo curso sobre Copywriting, muy útil para la creación de cualquier tipo de web en la cual tengas un objetivo para el lector
un saludo
Hola Joaquín, muchas gracias por compartir tus conocimientos, son verdaderamente útiles en mi día a día.
He instalado el plugin WC – APG Campo NIF/CIF/NIE y he marcado las casillas de:
– ¿Campo de facturación requerido?
– ¿Campo de envío requerido?
Pero veo que en la factura sigue sin aparecer el DNI del cliente, que sí lo ha indicado.
¿Es posible que sea porque es una compra anterior a la instalación del plugin? O no tendría por qué tener este problema.
¡Muchas gracias!
Hola Carlos.
En una compra realizada anterior a la instalación del plugin no puede mostrarse el NIF. Has de probar con compras posteriores.
Me gustaría también invitarte a que eches un vistazo a mi plataforma de formación https://cursotiendaonline.com/ desde donde puedes Acceder a TODOS mis cursos online por solo 10 €/mes (Incluye ¡¡SOPORTE!!). En la plataforma tienes cursos sobre WordPress, Curso como crear una tienda online de éxito, Woocommerce, Curso alta e indexación web en google, cursos Analytics ecommerce, SEO general, SEO tiendas online, plantillas wordpress como flatsome, Divi, Astra pro, , etc. etc. Seguro que sería de gran ayuda durante la creación de tu web y después de la creación de la misma.
Muchas gracias por tu respuesta Joaquín. Valoraré seriamente inscribirme a tus cursos si me vuelven a surgir dudas con la tienda que estoy realizando.
¡Saludos!
Gracias a ti Carlos
aquí te esperamos!!!!
un saludo
Hola!
Gracias por tus post, me salvan la vida muchas veces.
He usado el código, pero el NIF no me sale en las facturas. No sé si es porqué como ya están generadas esas ya no se pueden modificar, o si es porqué tengo algo mal en el código. Uso la plantilla que viene por defecto con el plugin.
Podrías decirme qué es lo que pasa?
Hola Elena.
Prueba, en vez del código a usar el plugin que se comenta en el post. También te invito a que eches un vistazo a mi plataforma de formación https://cursotiendaonline.com/ desde donde puedes Acceder a TODOS mis cursos online por solo 10 €/mes (Incluye ¡¡SOPORTE!!). En la plataforma tienes cursos sobre WordPress, Curso como crear una tienda online de éxito, Woocommerce, plantillas wordpress como flatsome, Divi, Astra pro, cursos Analytics ecommerce, seo general, SEO tiendas online, etc. etc.
Muchas gracias,
Pero intento no usar muchos plugins. Además dicho plugin sólo es para añadir el NIF, y quiero poder añadir algún campo más, por eso quiero poder usar el código.
Hola Elena,
Entonces tendrías que buscar un código más actualizado. Es posible que con las últimas actualizaciones de Woocommerce se hayan realizado cambios en la aplicación y que el código ya no funcione correctamente. Lo bueno de los plugins es que se van actualizando, los códigos no y en cualquier momento pueden dejarte de funcionar al ir actualizando woocommerce o wordpress.
Muchas gracias!
Seguiré buscando 😉
Hola,
Muy interesante el artículo. Al agregar el snippet me devuelve el siguiente error:
Notice: id ha sido llamada de forma incorrecta. Order properties should not be accessed directly. Backtrace: require(‘wp-admin/edit-form-advanced.php’), do_meta_boxes, WC_Meta_Box_Order_Data::output, do_action(‘woocommerce_admin_order_data_after_billing_address’), WP_Hook->do_action, WP_Hook->apply_filters, mostrar_campo_personalizado_en_admin_pedido, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong Por favor, visita Depuración en WordPress para más información. (Este mensaje fue añadido en la versión 3.0). in /home/web/www/wp-includes/functions.php on line 5167
¿A qué puede ser debido?
Solucionado, en la linea 50 donde dice $order->id hay que reemplazarlo por $order->get_id()
Y el error…. desaparece.
Buenas. Me alegro que lo hayas conseguido solucionar tan pronto. Me gustaría también invitarte, si es posible, a que eches un vistazo a mi plataforma de formación https://cursotiendaonline.com/ desde donde puedes Acceder a TODOS mis cursos online por solo 10 €/mes (Incluye ¡¡SOPORTE!!). En la plataforma tienes cursos sobre WordPress, Curso como crear una tienda online de éxito, Woocommerce, plantillas wordpress como flatsome, Divi, Astra pro, cursos Analytics ecommerce, seo general, SEO tiendas online, etc. etc.
Buenos días Joaquín,
Estoy probando el incluir el DNI con código (no obligatorio) y con plugin, me ocurre lo siguiente:
-Para el código donde no es obligatorio, veo que el «required» está en «false». ¿es la única diferencia con el código done sí es obligatorio?
Cuando no relleno el campo en el checkout, me salta el warning diciendo que debo rellenarlo.
-Cuando lo hago con el plugin, se me duplica el email del cliente en la factura. ¿Está planeado así? ¿o tengo yo alguna «duplicidad»?
Gracias por todo.
Hola David.
Creo que lo que comentas del plugin ocurre con algunas plantillas y otras no.
Consulta en el foro de sporte del plugin. Además, es posible que puedas ver ahí la solución en cuestiones que hayan planteado otros usuarios
Es de bien nacidos, ser agradecidos.
Pedazo de artículo, paso 1, instalo el plugins de facturas, (me salto el 2 que de tiempo voy regular como para probar cosas con código), me voy al paso 3, plugins del dni, que además me soluciona lo del VIES….
Sobresaliente!!
Valor a raudales. Enhorabuena. Eso es ayudar en la red.
Saludos. Mil gracias
Jesús Bédmar
Hola Jesús.
Me alegro que te haya sido de utilidad el post
un saludo
Me ha ido genial. Muchas gracias.
Hola tengo instalados los plugin´s «woocommerce pdf invoices and packing slips» para generar las facturas y el plugin «WC – APG/NIF/CIF/NIE Field» para añadir el campo del NIF en el area de cliente, finalizar compra y en las facturas. Me funciona todo correcto, únicamente me gustaría añadir la palabra «NIF» antes del número de identificación en cuestión en las facturas para que fuera más visual y más fácil de localizar…. pero no encuentro la manera de hacerlo ¿alguién me puede echar un cable?
Hola Miguel,
En el plugin no hay ninguna opción para poner un prefijo al número de NIF del cliente en la factura. Además, podría ser NIF, CIF O NIE, no solo NIF
Buenas y gracias por el las opciones
En mi caso el codigo no me sirve porque utilizo una plantilla personalizada y evoca a un error. Utilizando el plugin ha ido todo casi que perfecto solo tuve que editar la plantilla para ocultar el email y telefono ya que el plugin los añade.
Un saludo y Gracias
Hola Joaquín,
¿habría alguna manera, teniendo el plugin «WC – APG/NIF/CIF/NIE Field», o mediante código, de hacer que sí este campo «NIF/DNI» se rellena, se elimine el IVA o VAT del precio final?
Hola Victor.
No hay ninguna opción en el plugin para hacer lo que quieres. Te lo tendrían que desarrollar, puedes consultar a los creadores del plugin
Muchas gracias por tu post, todo perfecto. Plugin de facturas y dni. Genial!!!
Buenas noches,
Funciona perfectamente el código, también con algunas variaciones en algún texto.
Pregunta: ¿Hay manera de colocarlo en un sitio especifico? Por ejemplo el primer campo de todos en lugar de al final.
Saludos, Gracias y Gran trabajo y aportes.
Hola Alfonso.
No, no es posible cambiarlo de posición.
Hola, muchas gracias por la información aportada, he hecho todos los pasos, pero al pegar el código en el functions.php me da el siguiente error:
«No ha sido posible comunicar con el sitio para comprobar los errores fatales, así que el cambio de PHP se ha revertido. Tendrás que subir el cambio a tu archivo PHP por otros medios, como por ejemplo usando SFTP.»
que puedo hacer ?? muchas gracias
Buenas,
Prueba a utilizar el plugin que se menciona en el post, para añadir NIF o DNI a Woocommerce
Genial, código perfecto.
Muchas gracias, da gusto encontrar verdaderos profesionales, gracias por la ayuda!
Hola Manu,
Lo primero agradecerte los comentarios,
aunque he de decir que el código no es mío.
Pero, me alegro de que te funcione correctamente.
Hola y gracias por el aporte.
He instalado el plugin WC – APG NIF/CIF/NIE FIELD y perfecto. Pero en las facturas del plugin Woocommerce PDF Invoices & Packing Slips no me aparece el DNI del cliente (lo he añadido a mano en el perfil).
¿Hay alguna forma de que aparezca?
Un saludo y gracias
El plugin sirve precisamente para solicitar el NIF/CIF/NIE y que éste aparezca en la factura,
¿has marcado la opción en la configuración del plugin para que aparezca el nif en la factura?
Hola buenas, he puesto tu código y me funciona de maravilla, pero en los parametros que le mandas para crear el campo nif, el required= false; no funciona, me sigue diciendo que es un campo obligatorio, he probado eliminando ese parametro pero nada, en verdad aunque este en true, inspeccionando el el elemento en el navegador no tienen el atributo required, por lo que imagino que lo comprobara por JS si esta rellenado o no, sabes algo?? es que tengo clientes de todo el mundo y lo del DNI/NIF les desorienta
jejeje olvídalo, revisando el código copiado también copie la función de comprobar el campo, fallo mio. Eres un crack
Gracias Adria
un saludo
Hola Joaquín,
He estado intentando lo que dices, pero cuando añado el código, el problema es que cuando el cliente recibe el email, el NIF aparece fuera del recuadro «Datos facturación».
Y probando el plugin, lo que me ocurre es que en el email al cliente aparece repetida la información de su email y de su teléfono :-S.
¿Decías en el post que es obligatorio presentar factura? Es que he estado buscando y no encuentro que sea necesario un documento. En muchos sitios web veo que lo que se envía es una referencia de toda la compra, con el total y el DNI, pero nada más, sin documento adjunto.
Muchas gracias!
Un saludo!
Buenas,
el plugin no genera ningún correo ni tiene nada que ver con los correos que genera woocommerce,
En cuanto a la necesidad de factura, lo mejor es que lo preguntes en tu asesoría, ellos te dirán si te hace falta o no.
En mi caso mi asesor me dijo que es imprescindible la generación de facturas para el caso del autónomo, pero puede ser que para determinados perfiles fiscales como empresas u otros se haga de otra manera y no hagan falta facturas.
Sé que el plugin no genera ningún correo, pero sí añade ese dato al correo automático de woocommerce. ¿Hay alguna manera de controlar el cuadro de datos de facturación de los emails de woocommerce? Para poder ver o modificar donde se añade el campo nuevo que he añadido.
Gracias!
Buenas,
que yo sepa no
Hola,
He instalado este plugin y me ocurre el mismo error que no consigo solucionar. En el Mail de confirmación y en la web al confirmar el pedido, se duplican los datos de email y teléfono. ¿Habéis encontrado cómo solucionarlo? Gracias
Prueba con la última versión publicada.
Era un problema generado por la nueva plantilla de direcciones para los correos electrónicos que utiliza WooCommerce. Hemos añadido un par de hooks que bloquean las funciones que hacen que salgan duplicados los teléfonos y las direcciones de correos electrónicos al usar nuestro plugin.
Un saludo.
P.D: la próxima vez notificarnos la incidencia directamente en el formulario de soporte del plugin en WordPress.org o a través de correo electrónico para poder solucionar la incidencia lo antes posible.
Parece que los de Art Project ya lo han solucionado
¡Hola! Tengo la Versión: 1.3.0.2 del pligin instalada y duplica en la factura el teléfono y el email. ¿Hay alguna solución? ¡Mil Gracias!
Hola!!
Funciona bien pero duplica el email y el teléfono del cliente en la factura.
¿¿No lo habéis podido solucionar??
Saludos!
Hola Issac,
Escribe tu consulta también en el soporte del plugin, para que puedan analizar el error y si aún no está solucionado, solucionarlo lo ante posible
Foro Soporte plugin Plugin: WC – APG NIF/CIF/NIE Field
Un saludo
Hola, el fallo sigue existiendo de duplicidad, he visto que en vuestro soporte hay una consulta sobbre este tema de hace un año pero no está resuelta. Sabréis algo pronto?
Gracia!
Hola Xiomara.
Creo que este bug sucede solo con determinadas plantillas.
En cualquier caso echa un vistazo al foro oficial del soporte del plugin, y en su caso pon ahí la consulta:
https://wordpress.org/support/plugin/wc-apg-nifcifnie-field/
También te dejo el formulario de contacto de la empresa creadora del plugin
https://artprojectgroup.es/contacto
un saludo
Genial articulo. Quiero felicitarte por tu página.
Un saludo.
Muchas gracias por tus comentarios
Un saludo Jose
Hola Joaquín,
Excelente parche! A la primera!
Pero me piden si se podría ubicar el campo NIF justo debajo del campo empresa. Ahora está justo por debajo de las notas adicionales.
He probado en vez de
add_action( ‘woocommerce_after_order_notes’, ‘agrega_mi_campo_personalizado’ ); que es el original he puesto
add_action( ‘woocommerce_after_billing_company’, ‘agrega_mi_campo_personalizado’ );
Pero no me da resultado. Podrías indicarme?
Gracias por avanzado.
Hola Manuel,
intenta utilizar el plugin de APG en vez del código, creo recordar que con este plugin si aparece en la columna de la izquierda.
Un saludo
Hola Joaquin, buenas tardes. Hago todo lo que dices en el vídeo, pero cuando me logeo y hago el pedido, relleno el campo del NIF y este no aparece ni en al editar el pedido ni en la factura. ¿por qué?.
Gracias!
Hola Borja,
Por lo que he podido ver en los comentarios del blog, en algunas plantillas no funciona correctamente el código para añadir el NIF a la factura. Es posible que este sea tu caso si has realizado todo correctamente.
Puedes eliminar el código y probar con este plugin que han sacado a ver que tal te va: plugin NIF woocommerce
ya nos cuentas
Un saludo
Buenos días Joaquín.
En primer lugar quería darte la enhorabuena por el post, me ha sido muy útil, aunque se me surge un problema que espero me sepas resolver:
Hace unos meses añadí un nuevo campo en el checkout con el plugin WooCommerce Checkout manager para pedir el NIF a los clientes. Este NIF aparece en la página de pedidos, así que el campo funciona bien, pero como no hemos copiado el código en functions.php, aun no nos aparece el NIF en las facturas. MI pregunta es: al añadir el código, ¿qué pasaría con este campo NIF que ya teníamos hecho previamente? ¿Perderíamos los NIFs de todos los pedidos que teníamos antes de meter el código? ¿Podríamos enlazar con el plugin de las facturas el campo que ya tenemos? Muchas gracias
Hola Jesús,
si has usado un plugin para crear el campo NIF NO te vale el código. El código es para crear el campo NIF y que este aparezca en las facturas. Si has usado un plugin para el campo NIF tienes que buscar otra alternativa. Mira a ver si te vale esta página de la woodemia
Un saludo
Buenas Joaquín,
Gracias por el aporte pero no me ha funcionado; si eliminase el campo NIF que cree con el plugin, ¿podría usar el código para que se crease de nuevo y apareciese en las facturas? En caso de que se pudiera, ¿se me borrarían los NIF de los clientes que ya tenía guardados anteriormente? Muchas gracias.
Hola Jesús,
1.- El código solicita el NIF al cliente y luego lo muestra en la factura. Pero el NIF No se guarda en el cliente por lo que el cliente siempre que haga una compra tendrá que introducir el NIF.
2.- Si quitas el campo del NIF que creaste con el plugin seguramente perdrás los NIF guardados.
3.- También tienes la opción de utilizar este reciente plugin que se encarga de solicitar el NIF y mostrarlo en facturas-> WC APF NIF/CIF/NIE Field
Un saludo
Hola Joaquin, he utilizado tu recurso para añadir el NIF a Woocommerce, (https://www.tiendaonlinemurcia.es/dni-nif-facturas-woocommerce/) y funciona bien, pero me altera algunos colores y detalles del aspecto de la tienda. ¿Cómo puedo solucionar eso?
Imagino que al alterar functions.php suceden los errores.
Mi plantilla es Wroote 2.6
Gracias y un saludo
Hola Nacho,
Seguramente eso es debido a los estilos CSS de la plantilla que estés utilizando. Seguramente para modificar eso tendrás que ir al archivo style.css de tu plantilla (si utilizas un tema hijo mejor).
También puedes probar el plugin que han sacado hace poco para añadir el nif en woocommerce-> WC – APG NIF/CIF/NIE Field
Nacho, funciona, pero me desgorganiza el finalizar compra:
https://www.kimago.es/kmg/finalizar-compra/
Gracias
Buenas
¿Nacho? 😉
Le he echado un vistazo y no veo desorganizada la página de registro,
1.- ¿qué método has utilizado para añadir el NIF a Woocommerce?
2.- Mándame una captura de pantalla por mail con las indicaciones necesarias
Buenas!
Si queremos hacer las traducciones del español al inglés, qué código se tendría que poner en el código del NIF. En mi caso hice un plugin en vez de poner el código en el functions.php. Pero claro para que funcionen las traducciones se necesita un código php para que se traduzca lo que hay en el php
No se si me explico..
Merci!!!
Hola Laura,
Efectivamente para que el mecanismo de solicitar el NIF se muestre en diferentes idiomas habría que hacerlo con un plugin que permita las traduciones.
Puedes probar con el plugin WC – APG NIF/CIF/NIE Field, prueba a ver si funciona correctamente y a ver si permite las traduciones como la mayoría de plugins (Parece que viene de serie traducido en Inglés y Español).
Un saludo
Hola
como puedo hacer para que las facturas solo se generen una vez completado el pedido?, es decir cuando ya he recibido el pago y lo marco como completado
gracias
Hola Pedro,
Con el plugin «Woocommerce PDF Invoices & Packing Slips» has de ir a: «WooCommerce > Factruas PDF».
A continuación verás un apartado que dice: «Permitir descarga de facturas desde » Mi Cuenta»»-> selecciona «solo para estados de orden específicos (definir abajo)» y abajo selecciona «completado».
Un saludo
Muchas gracias Joaquín, el único aporte que añadiría es que se puede subir sin modificar el archivo raíz (config.php) usando un editor de Snippets.
Lo he comprobado y va de perlas!
Un saludo
Hola Joaquín, me gustaría saber si se puede generar y enviar la factura solo cuando el cliente haya rellenado el campo del DNI, sin ser este obligatorio.
Muchas gracias por la ayuda.
Hola Isa,
No se puede hacer lo que comentas de enviar la factura solo cuando se rellene en NIF o DNI. Para hacerlo tendrías que programar dicha funcionalidad.
Un saludo
Hola Joaquín, fantástica aportación… solo una duda, al añadir en DNI al email de envío de validación se coloca un poco donde le da la gana, conoces alguna manera de arreglarlo de forma sencilla? Gracias!
Buenas,
El DNI se coloca en la segunda columna en la zona dedicada a los campos extras. Para modificar la posición habría que realizar modificaciones en los archivos CSS de la plantilla. Tendrás que ir haciendo pruebas para colocarlo donde tu quieras.
Un saludo
Hola.
El código funciona perfectamente.
Pero en lugar de NIF, quiero que sea un area de texto para rellenar por los clientes. ¿Cómo puedo hacerlo? ¿Basta con cambiar el nombre de ‘field’ o hay que realizar más cambios?
Muchas gracias por la información. Es de gran ayuda.
Hola Beatriz,
Para personalizar campos de registro de Woocommerce yo utilizaría el plugin WooCommerce Checkout Manager, que es un plugin específico para personalizar campos del registro y añadir nuevos campos.
Un saludo
Gracias por la solución. Una pregunta, ¿el cliente puede luego modificar el nif desde su zona privada?
Un saludo.
Buenas,
El cliente no lo puede cambiar. De hecho tiene que introducirlo siempre que realice un pedido.
Un saludo
Hola, tengo una tienda virtual en venezuela y el campo del NIF confunde a mis clientes, porque no saben de que se trata, necesito eliminarlo para que no se muestre en el formulario de registro ni en el de completar pedidos.
Saludos
Hola Alfonso,
Woocommerce por defecto no pide el NIF. Hay que realizar modificaciones en el código o instalar algún plugin para que solicite el NIF. Si tu no has realizado ninguna modificación no entiendo porque en tu tienda online se pide el NIF
Un saludo
Hola, genial explicación. No puedo encontrar desde donde puedo cambiar NIF/CIF por otras siglas (hice una revisión de todos los archivos y no me aparece). Sabrías informarme? desde ya muchas gracias
Hola Alejandro,
En la página de registro del cliente no aparece NIF/CIF sino NIF-DNI. Si quieres cambiar esto ve a la línea de código:
'label' => __('NIF-DNI'),
y cambia el texto NIF-DNI por el que quieras.
Un saludo
Hola!! justo lo que andaba buscando pero no consigo que me funcione…. Utilizo el tema AVADA de themeforest en local donde estoy probando antes de añadirlo a la web de un cliente. No me pide el campo nif pero cuando voy a hacer el pedido si que me sale el mensaje donde me indica que el campo nif-cif es obligatorio…. He seguido todos los pasos que indicas pero no consigo que se me visualice el código. Me interesaría añadirlo a un tema hijo pero si con el tema padre funciona no tengo problema.
Gracias
Buenas Fran,
acabo de probar el código para que el NIF sea obligatorio en una instalación limpia con Woocommerce 2.6.4, WordPress 4.5.3 y el plugins WooCommerce PDF Invoices & Packing Slips 1.5.36, las últimas versiones en el momento de escribir este comentario, y el código funciona perfectamente. Lo he probado en un tema hijo y en el tema padre. En ambos funciona, (en mi caso he utilizado Divi)
No se porqué a ti no te aparece, comprueba que has copiado el código completo. Revisa que no te has dejado ni una «coma». Es lo único que se me ocurre, que el código no esté bien copiado.
El nif debe aparecer en el registro del usuario bajo un bloque denominado «información adicional»
Un saludo
Muchas gracias por tu respuesta!!! lo he vuelto a hacer todo tal y como indicas revisando todo pero no consigo que me funcione….. seguro que es una tontería pero no hay manera de que me muestre el campo en el checkout
Saludos
Fran
Buenas de nuevo, es tema de la plantilla, he probado con otra plantilla y me ha funcionado sin problema…. así que para la plantilla AVADA no funciona y no sé por qué!! jejejeje de todas formas muchas gracias
Saludos
Muchas gracias Fran,
No tenía claro que la plantilla pudiera influir en el código para añadir el NIF o DNI en Woocommerce, pero con lo que comentas ya no hay duda. Yo las pruebas siempre las realizo con la plantilla Divi que es la que utilizo para todos mis clientes.
Un saludo
Hola en la nueva version de wordpress, automaticamente me pide ingresar NIF / CIF al rellenar el formulario de compra, Como yo estoy en Chile, no necesitamos ingresar ese campo, por ese motivo quiero eliminarlo, pero no he podido encontrar la opcion para desactivarlo, Me podrias ayudar o decir como eliminarlo, ya sea desde las configuraciones del plugins o buscando el php de los campos. Gracias
Hola Rodrigo,
Acabo de probar con una instalación limpia de WordPress 4.5.3 y Woocommerce 2.6.4 que es la última versión en el momento de escribir este comentario y a la hora de registrarse tras realizar un pedido no me pide el NIF /CIF. No tengo ni idea de por qué a ti si te lo pide sin haber añadido el código para ello.
Además, acabo de probar en tu web y no pide el NIF/CIF
Un saludo
Hola!
Primero darte las gracias por compartir tus conocimientos a esta comunidad.
He leído todos los comentarios, de este post, pero en mi caso le meto el código y no visualizo el campo personalizado para ingresar el cif.
Lo tengo todo actualizado al día de hoy.
Wordpress 4.5.3 Woocomerce 2.6.4
He subido el codigo vía ftp, a la raiz segun tus indicaciones.
La operación la he realizado como unas tres veces, y nada. La cosa es que me dice que ingrese el cif para la realización del pedido pero no aparece el campo ha rellenar.
Estoy desesperado ya que los codigo que hay por ahí cascan todos!
(el tema utilizado también es Divi)
Gracias
Hola Javier,
¿Estás utilizando un child theme?
Indícame exactamente donde has colocado el código
Un saludo
Hola!
Gracias por contestar.
Lo primero que hice y que solo he probado es el código:
«En caso de querer que el campo NIF NO sea obligatorio de rellenar»
Lo he colocado en la carpeta (functions.php). Subido con el filezilla.
La cosa es que no visualizo el campo pero si me indica que especifique el nif pero no tengo donde ponerlo.
Estoy utilizando un tema hijo para modificar el pie de pagina.
Pero el código se lo ingreso en divi
Hola Javier,
Vamos a probar a añadir el código en un functions.php para el tema hijo de Divi. Te mando el functions.php que tienes que insertar en la raiz de la carpeta del tema hijo que estás usando para Divi (no te equivoques debes añadirlo al tema hijo).
Logicamente tendrás que borrar el código que añadiste a la plantilla Divi (tema padre)
Un saludo
Para pedir el DNI al cliente cuando realiza el pedido, aunque no estén activadas las facturas online, hay que hacer todo esto? Puedes concretarme qué tendría que hacer? Gracias.
Hola Irene,
Si no vas a utilizar las facturas en Woocommerce, puedes utilizar el plugin gratuito WooCommerce Checkout Manager que sirve para añadir campos extra al registro en Woocommerce. Con el podrás solicitar el DNI/NIF/CIF al cliente. El plugin es muy intuitivo y sencillo de utilizar.
Un saludo
Estupendo! Sólo le pongo una pega: este código no fuerza a que el DNI esté compuesto por 8 números y una letra! Cualquiera podría ser tan fastidioso de escribir algo tipo «asdfg». ¿Alguna solución para eso?
Buenas Marina,
Efectivamente el código no realiza la validación del DNI. Para implementar eso tendrías que codificarlo tú.
Lo cierto es que no he encontrado por ahí ningún plugin que realice todo este asunto del DNI y que realice la validación del mismo.
Imagino que con el tiempo iran saliendo plugins que realicen todo de un golpe, con validación de NIF incluida.
Un saludo
Buenas tardes! desde que actualice el plugin(WooCommerce PDF Invoices & Packing Slips ), ya no me aparece el campo personalizado de NIF al editar un pedido!
Hola Santiago,
como dije en un comentario anterior, usando las últimas versiones: WordPress 4.5.2, Woocommerce 2.5.5 y WooCommerce PDF Invoices & Packing Slips 1.5.32 el código funciona perfectamente.
Prueba a actualizar WordPress y Woocommerce a las últimas versiones. Siempre previa copia de seguridad por si ocurriera algún problema.
Un saludo
Lo tengo todo actualizado. Ha sido tras actualizar el plugin. Hasta por si acaso he restaurado el código en el functions.php!
Buenas Santiago,
pues no se lo que puede ser.
Acabo de probar el código en una instalación de WordPress 4.5.2, Woocommerce 2.5.5 y WooCommerce PDF Invoices & Packing Slips 1.5.32 y me pide el DNI al realizar el pedido y luego sale impreso en la factura.
Busca alguna alternativa en internet para solicitar el NIF y mostrarlo en la factura en Woocommerce.
Un saludo
Gracias por responder tan rápido. ¿Podrías probar una cosa? Si realizas un pedido SIN meter el dni, cuando vas a editarlo, te permite meterlo? Es lo que me falla!
Gracias de nuevo
Buenas,
Entra al pedido y en la parte inferior busca el bloque: «campos personalizados». Ahí te debe aparecer un campo de nombre «NIF» y una campo denominado «valor». Introduce en el campo valor el número del NIF y pulsa el botón «guardar pedido» de la parte superior.
Un saludo
Si no metes el NIF en el pedido no funciona. lo he solucionado con el codigo que da Jairo aqui: http://woodemia.com/insertar-un-campo-en-la-pagina-de-pago-de-woocommerce/
*leer comentarios!
Un saludo
Gracias por tu aportación Santiago
Un saludo
Hola, en primer lugar gracias por la información. He instalado el plugin y también el código. Mi duda es la siguiente, ¿sería posible editar el campo NIF desde el panel de aministración de wordpress en edición de pedidos?
Estoy trabajando con:
WordPress: 4.5.2
Woocommerce: 2.8.3
WooCommerce PDF Invoices & Packing Slips: 1.5.32
Muchas gracias
Hola Mario,
creo que se puede editar desde el panel de gestión del pedido.
Mira a ver si lo tienes como un campo personalizado.
Un saludo
Buenas.
de repente me ha dejado de mostrar el cif en las facturas. Se guarda en bbdd por que se ve en los datos del pedido, pero no sale en los pdf!
He reinstalado el plugin y vuelto a poner el código pero nada. El functions esta en un child.
Ya no se por donde tirar 🙂
Gracias!!
Hola Juan,
Acabo de realizar una prueba con las últimas versiones y si aparece el nif impreso en las facturas.
He utilizado WordPress 4.5.2, Woocommerce 2.5.5 y WooCommerce PDF Invoices & Packing Slips 1.5.32
Si no estás trabajando con estas versiones prueba a actualizar (previa copia de seguridad)
Un saludo
Perdona, te he puesto este mensaje en otro hilo por error 🙂
»
esas son justo las versiones que tengo ahora mismo, tanto en worpress como woocommerce como WooCommerce PDF Invoices & Packing Slips, y no tengo caches instaladas …
Que puede ser entonces?
Muchas gracias por responder tan pronto!
Saludos, Juan»
Buenas,
pues no se. Supongo que debe ser algo relacionado con tu plantilla o con algún plugin que hayas instalado.
no se me ocurre que puede ser
Un saludo
Estupendo Artículo Joaquín. He seguido los pasos y funciona casi perfectamente.
En primer lugar cuando activo el plugin Woocommerce PDF Invoices & Packing Slips, pero me genera un error en los productos:
«Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method WC_visibility_Tab::show_price_logged() should not be called statically in /usr/home/nonodistributionbrands.com/web/wp-includes/plugin.php on line 235».
Por otro lado, necesito que el NIF se quede guardado en el usuario registrado. ¿Es esto posible?
Muchas gracias
Hola Luis,
He encontrado el siguiente enlace donde se describe un error como el tuyo, y parece que es debido en este caso a la plantilla. Echale un vistazo:
https://wordpress.org/support/topic/cant-print-the-invoice
1.- ¿Que versiones de WordPress, Woocommerce y PDF Invoices & Packing Slips estás utilizando? ¿qué plantilla estás utilizando?
2.- Quita el código que has añadido para el NIF y activa PDF Invoices & Packing Slips. ¿Sigues teniendo el problema?
3.- El nif no queda guardado en el usuario registrado, pues no tiene tal campo. Implementar eso sería mucho más complejo.
Un saludo
Buenos días. Podemos actulizar el plugin a la versión 1.5.31 sin problemas?
gracias
Hola Santiago,
Imagino que te refieres al plugin Woocommerce PDF Invoices & Packing Slips.
Acabo de actualizar WordPress 4.5.2, Woocommerce 2.5.5 y WooCommerce PDF Invoices & Packing Slips 1.5.32 y todo funciona correctamente.
Imagino que no debe haber ningún problema, pero es importante realizar una copia de seguridad antes de actualizar nada, o disponer de un hosting como Webemrpesa que hace copias de seguridad autorecuperables cada 4 horas.
Un saludo
Hola. En primer lugar gracias por tu esfuerzo y dedicación.
He metido tu código en mi php y parece que funciona bien pero tengo alguno fallos «estéticos»
En la palabra «Información adicional» me salen «Infomaci^on adicional» como si no reconociese la tilde.
Po otro lado me descoloca el campo de correo electrónico y teléfono por lo que queda todo el formulario desalineado y muy «feo».
¿Qué puede ser? Puedes echarme una mano?
Gracias y un saludo
Hola Arex,
No se por qué no te muestra la tilde en «información adicional», no me ha ocurrido en ninguno de los ecommerce que he montado con Woocommerce. En cuanto a lo de los campos descolocados tampoco me ha ocurrido (supongo que será debido a la plantilla que utilices). Si quieres dime la url de tu web y le echo un vistazo.
Un saludo
Hola Joaquín,
He bajado el código de Nif no obligatorio e igualmente me dice que es obligatorio. Creo que los dos códigos son iguales
saludos
Buenas Toni,
En el código para que solicitar el NIF/DNI no sea obligatorio en Woocommerce está puesto el required en «false» que es como debe estar en ese caso. En cuanto tenga un ratillo haré una prueba a ver.
En cualquier caso por la normativa española para que una factura sea válida debe incluir el NIF por lo que lo lógico es que sea obligatorio aportar el NIF para el cliente.
Si has probado con los dos códigos, recuerda vaciar la caché para hacer las pruebas
Un saludo
Hola buenas noches!! Un trabajo excelente!!!
Solo tengo una duda/pregunta/peticion?
Verás, cuando voy a revisar un pedido, si quiero editar los campos de «detalle de facturación», el NIF no aparece en un input, es modificable. Y me pasa que la gente que no lo deja, si luego te pide factura, no puedo editarlo.
Gracias un saludo
Me auto respondo… esta abajo en campos personalizados! 🙂
Hola Santiago,
efectivamente, tienes un campo específico para el NIF/DNI en campos personalizados.
Un saludo
Hola Joaquin
¿funciona con woocommerce 2.5.5? mi anterior código dejo de funcionar cuando actualice woocommerce a la ultima versión.
Un saludo
Hola Lola,
Acabo de hacer la prueba y funciona perfectamente con Woocommerce 2.5.5 y la versión 1.5.29 del plugin WooCommerce PDF Invoices & Packing Slips y la versión WordPress 4.4.2
Un saludo
Buenas tardes,
He realizado paso por paso y todo funciona bien excepto que el pdf no muestra el nif.
Gracias,
Hola Marta,
Ten en cuenta que el nif solo aparecerá en la factura de tu tienda Woocommerce y no en el albarán.
Prueba a vaciar la caché de tu WordPress (plugin WP super caché) y luego haz una prueba de compra.
Un saludo
Hola Joaquin.
He instalado el código que has programado y me funciona bien. Pero dispongo de una consulta, he instalado un plug-in para comprobar que los DNI son validos, «Validar DNI NIF NIE y CIF». El ejemplo que he visto es para usarlo con un formulario. Y mi pregunta consiste en si existe alguna posibilidad de añadir alguna variable, etc para que a la hora de realizar el pedido o finalizar la compra y se introduzca un DNI, que el código sea capaz de comprobar si es un DNI valido.
Un saludo.
Hola Miguel,
para eso habría que hecer un código personalizado de verificación de NIF complementario al que has añadido a la web o esperar que salga algún plugin que sirva para añadir el NIF a Woocommerce y realice dicha validación.
Un saludo
hola Joaquín, alucinante, enhorabuena porque es muy bueno tu código
saludos y gracias por tu aportación
sólo una sugerencia, tuve que ir a tu código y poner «true» a required porque si no la gente a lo mejor no lo pone en el formulario y estaríamos con el mismo problema.
Hola Pablo,
Muchas gracias por tu aportación. Pensaba que estaba puesto como obligatorio el rellenar el campo NIF.
He modificado el post y he puesto 2 descargas:
a.- caso en que queramos que el NIF sea obligatorio de rellenar por el usuario
b.- caso en que no queremos que el NIF sea obligatorio
gracias
Un saludo
Muchas gracias.
Gracias a ti
Un saludo
Hola, acabo de hacer la modificacion que comentas, para que pida el NIF, y tengo 2 problemas :
1-No lo guarda en la base de datos… si hago un segundo pedido, me vuelve a pedir el NIF y si miro los datos del comprador, no aparece el NIF
2-No controla la «validez» del NIF, es decir… yo tengo la formula para comprobarlo, y lo tengo puesto en mis programas de visual basic, pero en php no tengo idea de donde y como ponerlo….
Alguna ayuda ??
Muchas gracias
Hola Carlos,
Lo que hace el código es: pedir el NIF al hacer una compra y mostrarlo en la factura. Consultando el pedido se puede ver el Nif del cliente que lo hizo.
El NIF lo puedes ver en el detalle del pedido del cliente, no en los datos del cliente. Ya que en WordPress los usuarios no tienen un campo NIF.
Por el motivo anterior, cada vez que el mismo cliente hace una compra la aplicación recordará todos los datos excepto el NIF. No porque no lo guarde en la base de datos (que si lo guarda) sino por que no existe un campo NIF de usuario.
Efectivamente el NIF no existe verificación del Nif.
Para implementar las funcionalidades que comentas yo de ti buscaría un plugin que implementara dichas funcionalidades.
Un saludo