Enrique J. Ros

Mismo precio en WooCommerce con o sin impuestos

El escenario típico para esta situación es el de una tienda online que vende productos digitales (con los productos físicos la cosa cambia) y orientada al público internacional, específicamente a compradores dentro y fuera de Europa. En una situación así, un cliente pagará un precio diferente en función del país en que se encuentre.

En esta entrada voy a explicarte cómo configurar WooCommerce para que, en lugar de ser así, todos los clientes paguen el mismo precio, independientemente de si se les aplican o no impuestos.

Mismos precios con o sin IVA

En una situación como la descrita arriba el precio final del producto sería diferente en función de la ubicación del comprador. En principio al cliente le da igual decirte que está en España o en Argentina (no hay envío, sólo descarga de archivos), y sin embargo si compra desde España (o desde cualquier país europeo) tendrá que pagar el IVA.

La tendencia actual es, por tanto, ofrecer el mismo precio precio a todos los compradores, independientemente de dónde estén y de los impuestos que tengan que pagar. Eso significa que el vendedor asume el IVA si la compra se produce desde un país europeo, pero a cambio el sistema es más «justo».

Cómo calcula WooCommerce el precio en función de los impuestos

Esto no tiene mucho secreto: si un cliente no tiene que pagar un impuesto, WooCommerce no lo va a cobrar. Da igual que hayas configurado WooCommerce para introducir los precios con o sin impuestos (WooCommerce > Ajustes > Impuesto, Sí, voy a introducir los precios con impuestos incluidos o No, introduciré los precios sin impuestos).

Si los introduces con impuestos incluidos y el comprador se encuentra en un país en el que no le corresponde pagar el impuesto, WooCommerce va a descontarlo del precio. Si es al contrario (introduces los precios sin impuestos y el cliente se encuentra en un país gravado) WooCommerce sumará el impuesto al precio del producto.

Así que la situación es un poco extraña aquí. Imagínate que estás a punto de comprar un producto digital (un vídeo, audio, una foto, un ebook, un plugin…) y que según lo que elijas en el selector del checkout España o México te va a costar 10€ o 12,10€…

Lo mismo aplica, dentro de España, para las comunidades exentas de IVA: bastaría introducir Ceuta o Las Palmas como provincia de residencia para ahorrarse el IVA. Total, no te tienen que enviar nada a casa…

Cobrar el mismo precio, independientemente de los impuestos

Por eso, como decía antes, la tendencia actual es cobrar el mismo precio a todos los usuarios, asumiendo el administrador de la tienda el IVA (o el impuesto de que se trate, digo IVA porque es el caso habitual). El margen disminuye en las compras desde dentro de la UE (o, en general, desde los países gravados) pero, al fin y al cabo, el coste de producción es cero, ya que hablamos de productos digitales.

Así que se trataría de hacer lo siguiente:

El ajuste de precios de ubicación no base de WooCommerce

El nombre parece bastante críptico, pero se trata simplemente de ajustar el precio cuando la ubicación del cliente no es la de la base de la tienda. Es decir, el precio del producto va a cambiar en función de si al usuario le corresponde o no pagar impuestos.

Si un producto vale 10€ (recordemos, el precio se ha introducido incluyendo impuestos) y el cliente está fuera de la UE (o en Canarias, Ceuta o Melilla), éste va a pagar 10€ por el producto y no pagará el IVA. Pero si el cliente está en cualquier otra provincia de España pagará 10€ incluyendo 1,74€ de IVA, es decir, 8,26€ por el producto y 1,74€ de IVA.

Diferentes IVAs, mismo precio

Por supuesto, esto también es válido para clientes que se encuentran en países a los que se aplica el impuesto pero con diferente porcentaje, por ejemplo para clientes que compran desde diferentes países de la Unión Europea, con diferente tipo de IVA. Siguiendo con el mismo ejemplo de antes, lo que diferentes clientes pagarían por el sería:

Activar los mismos precios para todo el mundo en WooCommerce

Te sorprenderá saber que WooCommerce incluye esta posibilidad desde, nada menos, que su versión 2.5 (en el momento de escribir esto la versión actual es WooCommerce 3.6); y, sin embargo, estoy seguro de que no has visto la opción por ningún sitio. No la busques, no está.

Esta característica se publicó como experimental y a día de hoy aún se considera así, aunque tengo que decir que la he utilizado con éxito y sin absolutamente ningún problema en un par de tiendas en producción. Pero claro, no se puede seleccionar, hay que activarla mediante código.

Para ello WooCommerce introdujo el filtro woocommerce_adjust_non_base_location_prices, que es el que calcula el precio final tras, como explicaba más arriba, añadir o no, o descontar o no (según corresponda), los impuestos. De lo que se trata es de que no lo haga, es decir, que no ajuste el precio final, sino que éste sea el que se ha introducido en el producto, haya o no haya impuestos que aplicar.

El código para ello es muy sencillo. Basta con retornar un false al filtro anteriormente mencionado, woocommerce_adjust_non_base_location_prices.

Activar mismos precios finales en WooCommerce mediante un plugin

Si eres de los que tiene aversión al código, o no te aclaras demasiado, puedes activar esta funcionalidad de WooCommerce utilizando este plugin. No necesita configuración, ya que de lo que se trata no es de realizar una funcionalidad sino de activar una característica que está incluida (aunque desactivada por defecto) en WooCommerce.

Vídeo: Mismos precios para todos, independientemente de los impuestos

En este vídeo puedes ver el resultado de todo esto, da igual si lo haces por código que utilizando el plugin:

Salir de la versión móvil