This post only works for installations on WooCommerce 2.0. If you are looking for the way to do it under WooCommerce 2.1, you should visit How do you configure VAT for the Canary Islands, Ceuta and Melilla in WooCommerce 2.1?.

Taxes in WooCommerce

Taxes in WooCommerce

Having finished configuring our first online shop under the WooCommerce plugin for WordPress, and discovering its glories and its miseries, we are going to publish a series of posts in which we are going to tell you about a few small tricks that are going to make the task of configuring your WooCommerce much simpler.

WooCommerce’s official documentation explains very well how to configure the various types of tax (VAT) we need in our online shop, but we can tell you now that for our particular case, Spain, it is absolutely no use at all and it does not work.

So how do we configure VAT?

Standard VAT in WooCommerce

Standard VAT in WooCommerce

To do it properly we have to follow the path WooCommerce -> Settings -> Tax and, once there, create all the VAT rates we need for our eCommerce project.

In our particular case, just as we can see in the screenshot on the right, we have needed and configured three VAT rates:

VAT at 21% in WooCommerce

VAT at 21% in WooCommerce

  • VAT at 10%: which has been configured as the standard tax and which is the one used by default by the online shop. As we can see in the screenshot, it is a universal VAT that affects all the supported countries and that is not applied to the shipping costs.
  • VAT at 21%: which has been configured exactly the same as the previous one, just as we can see in the screenshot, although this time with a rate of 21% and affecting the shipping costs, since this is the VAT rate that is going to be used to calculate their amount correctly.
  • VAT at 0%: which, as in the previous case, has also been configured to affect the shipping costs, although for this to work a plugin we have created and that we will publish in the next few days, called WC - APG Weight Shipping, is needed.

Once we have the 3 VAT rates configured, and given that WooCommerce is not going to know when to use them, we need to introduce some modification in the functions.php file of our WordPress child theme. Specifically this handful of lines of code:

Copy to clipboard

Thanks to them, our online shop will use the 0% VAT rate, called Excluido in our particular case, whenever the customer is in the Canary Islands, Ceuta or Melilla.

Is everything done now?

Not really; if we want everything to work properly we have to configure WooCommerce so that the products have VAT added, just as we can see in the first screenshot, and we have to enter the net prices, without VAT, in the products, and state the VAT rate we want to be applied, in our particular case, 10% or 21%.

The problem arises when we go to our online shop and find that the prices of the products are shown just as we entered them, that is, without VAT added. To solve it we need to add another handful of lines of code to our functions.php file:

Copy to clipboard

With these configurations and small modifications we will see that our shop will show the prices with their corresponding VAT throughout Spain, and in the Canary Islands, Ceuta and Melilla it will show us the prices without VAT.

By the way, you will notice that a message will come up saying (incl. IGC) instead of (incl. IVA); to fix it, which has to be done every time WooCommerce is updated, we have to edit the WooCommerce language files: woocommerce-es_ES.po and woocommerce-es_ES.mo. To do that we can use a plugin such as CodeStyling Localization, which will be a great help to you. What we cannot quite understand is why this bug is still with us, when it is a known bug that has been reported over and over again.

Everything explained here can be seen working in the Herves-Vida online shop. We hope you find this post useful and, if so, we look forward to your comments.

Another day we will explain to you how to add a NIF/CIF field easily and simply, although we are already thinking about creating a plugin to make it even more straightforward and, obviously, we will let you know about the release of WC - APG Weight Shipping, but that will be another day.

Update: thanks to the heads-up from Jose Costa Ros we have found that the precio_con_iva function was not correct when the product used a sale price or any other combination. Now, with the new function we are publishing, it works properly.

Related posts

Comments

Suscríbete
Notificar de
24 Comments
Más antiguos
Más recientes Más votados
Jorge
25 de noviembre de 2013 12:41

Hola. Muchas gracias por la aportación pero tengo una duda: dejando en Canarias exenta de aplicar el IVA no aplicamos ningún impuesto, pero en Canarias ¿no habría que aplicar el IGIC que sustituye al IVA en ese territorio?
En tal caso supongo que habría que configurar otro impuesto más, el IGIC con sus variantes, para ese territorio.
Gracias

Art Project Group
27 de noviembre de 2013 11:04
Responder a  Jorge

De todas formas en tus Condiciones de compra, debes dejarle claro al cliente este punto. Por ejemplo en las Condiciones de compra de Herves-Vida tienes el punto 2.6 que dice:
2.6. Moneda,impuestos y precio

De acuerdo con la legislación vigente, toda la compra desde nuestro sitio web estará sujeta al impuesto sobre el valor añadido, excepción hecha de Canarias, Ceuta y Melilla. El tipo aplicable será el legalmente vigente en cada momento.

En los pedidos con destino a Canarias, Ceuta y Melilla, las entregas se considerarán exentas de IVA, sin perjuicio de la aplicación de los impuestos y aranceles derivados de la entrada del producto en dichos territorios (según normativa vigente), y que deberán ser pagados directamente por el cliente al operador logístico encargado de la entrega del producto.

Todos los precios se muestran en euros (€) y deben ser considerados como el precio final a pagar por el cliente (incluyendo el IVA o no en función del territorio de entrega, tal y como se indica en los párrafos anteriores). Los costes de transporte (si proceden) así como los impuestos y aranceles para la entrada del producto en Canarias, Ceuta y Melilla no están incluidos en dicho precio.

Las compras con destino a Canarias están exentas de IVA español, pero el cliente deberá asumir los impuestos y gastos de entrada del producto en su Comunidad (IGIC, despachos aduaneros, etc.). Estos gastos deberán ser pagados directamente por el cliente al operador logístico encargado de la entrega del producto. Del mismo modo, el cliente deberá asumir el coste de la salida del producto de su comunidad (despachos aduaneros) cuando se realiza la devolución del pedido, más el coste del envío del paquete, que variará en función del origen.

Art Project Group
25 de noviembre de 2013 12:45
Responder a  Jorge

Efectivamente en Canarias existe el IGIC, pero este normalmente se cobra directamente por la empresa de transporte al cliente a la hora de entregar el paquete. Lo mismo ocurre en Ceuta y Melilla, donde también tienen un recargo especial. Dado que este tipo de recargos varían en función de varios factores, no creemos que sea necesario programarlo. Aún así, si alguien tiene especial interés y nos hace llegar la documentación al respecto, podemos estudiar la forma de implementarlo en el plugin.

Muchas gracias por usar nuestro plugin.

Un saludo.

josecostaros
1 de diciembre de 2013 10:57

Funcionando perfectamente :-D GRACIAS!

Art Project Group
1 de diciembre de 2013 12:34
Responder a  josecostaros

Nos alegramos :-D

josecostaros
15 de diciembre de 2013 16:46

Una vez más, ¡gracias!, los plugins que nos ofreces son muy útiles y funcionaes, así como las instrucciones de uso “paso a paso” que nos facilitan mucho el trabajo a los usuarios.

bernardo
26 de enero de 2014 21:22

Hola a todos he instalado el pluging shiping y va bien pero tengo problema con el calculo de la IVA he hecho como ponéis en el tutorial pero al momento de realizar la compra con ceuta melilla o gran canarias pone la IVA al cero pero se cumula con la IVA al 21% si tenéis una solución genial , pero os felicito por vuestro pluging

Saludos

Art Project Group
27 de enero de 2014 7:41
Responder a  bernardo

Algo has debido de hacer mal, ya que el IVA en Canarias, Ceuta y Melilla debe de salir a 0 en todos los productos y en el gasto de envío, y tal y como está descrito en esta entradas, así es. Somos muchos los que lo usamos sin problema alguno.

Revisa tu configuración y lo explicado aquí, además de la función que hay que insertar en el archivo functions.php.

Suerte.

bernardo
27 de enero de 2014 13:21

Voy a revisarlo todo el proceso la unica diferencia es que solo utilizo 2 IVa 1 al 21% y la del 0% para canarias debemos modificar algo en el codigo a añadir
garcias

Art Project Group
27 de enero de 2014 13:26
Responder a  bernardo

Mírate la respuesta que le dimos a Raquel, a Illo Gronio, y ahora a ti, con el mismo problema en WC - APG Weight Shipping de APG.

Te lo va a solucionar al 100% ;-).

bernardo
27 de enero de 2014 15:34

http://www.galimard-perfumes.es es la web en la cual he puesto el plugin cuando tengáis el tiempo y ver que cuando poner una de las provincias con la IVA al cero pues cumulan las 2 he hecho lo que me habéis dicho pero algo debo hacer mal no logro por ahora solucionarlo
gracias

Art Project Group
27 de enero de 2014 18:35
Responder a  bernardo

Buenas tardes Bernardo.

Según hemos visto en tu panel de administración había dos problemas, el primero es que la Localización Base no estaba bien configurada, ya que tenías puesto un país exótico ;-). Por otro lado no has entendido bien el comentario que le escribimos, por lo que hemos escrito una nueva entrada (¿Cómo configurar correctamente el IVA en WooCommerce?) y así lo veréis más claro.

No puedes usar los impuestos estándar para los gastos de envío, ya que WooCommerce no devuelve su valor, creemos que es algún error propio, por lo que tienes que crear un nuevo impuesto al 21% para los gastos de envío, y verás cómo todo funcionará correctamente.

Esperemos que ahora lo veas más claro.

bernardo
27 de enero de 2014 21:55

Hola a todos ya todo solucionado genial y sobre todo muchas gracias Emilio por tu atención, respuestas super rápido “chapeau” como se dice en Francia, un milion de gracias tu plugin la bomba.

Rubén
11 de abril de 2014 13:37

Muy buen tutorial, pero me surge un problema.

Nosotros operamos desde Canarias y, aunque ya hemos configurado el “IVA” (IGIC) al 3%, no consigo saber como cambiar literalmente la palabra IVA del carrito y sustituirla por IGIC.

Muchas gracias de antemano.

Art Project Group
11 de abril de 2014 13:41
Responder a  Rubén

Para eso tienes que modificar las traducciones de WooCommerce.

Puedes hacerlo con un fantástico plugin gratuito que se llama Codestyling Localization.

Un saludo.

Sergio
10 de junio de 2014 14:10

Hola, qué sentido tiene el IVA estándar al 10%?. Acabo de instalar ambos plugin y hasta ahora tenía el estándar a 21%. De esa manera los precios aparecen con el IVA Incluído del 21%. Si sigo vuestras instrucciones, cómo logro que eso continúe así?. Puedo imaginar que los precios son mostrados a todo el mundo en el sitio web con el IVA correspondiente a la tienda base, es eso así?. Porque si es así, perfecto, porque estamos en Madrid. Luego, al proyectar el pedido, si el cliente estaría en Canarias, el precio le descontaría el IVA. Estoy en lo cierto?. Gracias por vuestro plugin.

Art Project Group
10 de junio de 2014 14:33
Responder a  Sergio

Ninguno si no lo necesitas. En el ejemplo era necesario, y así se ha explicado, con el IVA al 10%. Lo único que tienes que hacer es seguir el ejemplo pero para el tipo de IVA que necesitas.

Lee bien la entrada.

Un saludo.

Frank.-
4 de enero de 2015 1:40

Hola Equipo!!
En mi caso estoy configurando una tienda online pero no quiero hacer envíos fuera de la península. Es posible configurar vuestro plugin para que si se introduce algún código postal de Canarias, Baleares, Ceuta o Melilla no aparezca ningún método de envío? O que aparezca un mensaje diciendo que no es posible?
Muchas gracias!

Art Project Group
4 de enero de 2015 9:13
Responder a  Frank.-

Si es posible.

Un saludo.

Sergio Rubio
24 de marzo de 2015 20:23

Hola a todos,

No se si es un problema de mi configuración, pero he observado que en los productos variables, en caso de que existan diferentes precios en las variaciones, desaparece el “precio min-max” (con la nueva versión de woocommerce) y el “desde:precio mínimo” (con la versión anterior de woocommerce) lo que puede provocar confusión a los clientes. Si os soy sincero y dado mis escasos conocimientos de programación, no logro detectar el motivo por el que el código provoque este funcionamiento (si es que es un problema del código… que no estoy yo tan seguro de que no sea mi configuración)

Muchas gracias por vuestro esfuerzo por añadir esta y otras funcionalidades para resolver nuestros problemas del día a día.

Un saludo.

Tomas
8 de noviembre de 2019 17:24

Hola. No sé si se trata de una información antigua o desfasada o me han informado mal. He hecho una consulta a mi gestor y me dice que si se vende desde la peninsula a Canarias (por ejemplo), el producto va exento de iva, pero que el envío, al tratarse como un servicio si que si que debe estar sujeto al impuesto general, normalmente del 21%, pero eso es diferente a lo que se dice aquí. ¿Está esta información desfasada o me han informado mal?. Gracias

Tomas
14 de noviembre de 2019 10:45
Responder a  Art Project Group

Lo que me dijo mi gestoría es exactamente lo que pone en este artículo:
https://www.denox.es/blog/tiendas-virtuales/se-debe-cobrar-el-iva-a-canarias-en-tiendas-online-de-la-peninsula/

El articulo no debe llevar IVA, pero el envío, al ser tratado como un servicio, se le aplica el Iva peninsular… si es destinatario es un particular. Si el destinatario es una empresa entonces no lleva Iva.

Saludos

In this post

Products and services

Latest posts

Latest comments

Subscribe!

Lista de correos de APG

DATA PROTECTION: In accordance with data protection regulations, we provide you with the following processing information: (+)

  • Responsible: Art Project Group.
  • Treatment purposes: to respond to queries or any type of request made by the user through any of the forms of contact that are made available on the website. Sending communications about products or services (with your consent).
  • Your rights: access, rectification, portability, deletion, limitation and opposition. More information about the treatment in the Privacy Policy.

What we post on !

Se ha publicado #WooCommerce 11.2.2: actualización de seguridad que refuerza las API REST y Store, mejora la validación de CSV y corrige problemas en pagos y pedidos. Incluye cambios en la base de datos.

¡Actualiza cuanto antes!

13 hours ago