VAT Not included for User Role
-
Hello everyone!
How can I get a certain group of users not to include the VAT and have to pay it separately?
Currently all the customers of my shop have VAT included in the final price of the products but I need that the clients with the “partner” user do not have the VAT included in the price. They are professionals and must pay VAT for the invoice. It’s possible?Thanks in advance
The page I need help with: [log in to see the link]
-
By default, TAX is levied against products based on the location of users as well as (optionally) against the type of product (this is determined by the tax class assigned to the product).
As far as I’m aware, the only extension that remotely comes close to your use-case, is the https://www.woocommerce.com/products/eu-vat-number/ extension.
If I understand your use-case correctly, I don’t think there is an out-of-the-box solution that will cater for your setup. Practically this means that you would likely need to have this custom developed for you.
Thanks for your answer.
How strange that something so simple can not be done, right?
I’m desperate> Currently all the customers of my shop have VAT included in the final price of the products but I need that the clients with the “partner” user do not have the VAT included in the price. They are professionals and must pay VAT for the invoice. It’s possible?
It sounds like you’re looking to let some people pay only the base price, and skip the VAT – this is common for business-to-business purchases. If that’s the case, then @rk’s suggestion of the following plugin is exactly what you need:
https://www.woocommerce.com/products/eu-vat-number/- This reply was modified 7 years ago by Hannah S.L..
@ciberdom Hello, that is possible.
I had the same problem as you and finally I managed to solve the issue.
Here is the code you must enter in your functions.php file or your snippets plugin.
add_filter('pre_option_woocommerce_tax_display_shop', 'alter_tax_display'); add_filter('pre_option_woocommerce_tax_display_cart', 'alter_tax_display'); function alter_tax_display( $tax_display ) { if (current_user_can("mayorista")){ return "excl"; } else { return "incl"; } } add_filter( 'woocommerce_get_price_suffix', 'wc_get_price_suffix_filter', 10, 2 ); function wc_get_price_suffix_filter( $price_display_suffix, $item, $cart ) { // check for the user role return blank if it matches if (current_user_can("mayorista")) $price_display_suffix = '<span class="sufijomayoristas">(+ IVA)</span>'; return $price_display_suffix; }
Look for the following line:
if (current_user_can("mayorista")){
and replace “mayorista” with the id of the wholesale user role that you have in your store. In total they are twice that you have to replace this word in the code.
You have to replace this word with the id of your wholesale user role once at the beginning of the code and once towards the end of the code.To be able to change the custom VAT text that you want displayed in the store for this user role, search for the following phrase:
$price_display_suffix = '<span class="sufijomayoristas">(+ IVA)</span>';
and replace the text (+ IVA)
You can also modify the css class that you want to give for this suffix and then make the css modifications that you find appropriate to adapt the text to your theme, for example, change color, size, font-weight, …
To change the css class of the wholesale price suffix, find the following text and replace it with the text you want: sufijomayoristasYou can modify the css style of the wholesale price suffix class in the style.css of your child theme. Here is an example:
.sufijomayoristas { font-size: 10px; }
I’m sorry if my English is not good but I’m Spanish and I do not know much English. My apologies for it.
I hope this solution is favorable for you as much as it was for me.
Now I am in the process of free shipping not shown to wholesale users. If I get it and you need it, let me know.
If you have any questions, let me know that I will be happy to help.
Hi @nerealonela!!!
First of all I wanted to apologize for having been slow to respond since I have been out of town for a trip.
I want to thank you so much for the detailed response you have given me and I am very surprised by the help because I have written in all the forums I know and the WooCommerce guys and it seems that it could only be solved using a plugin.
I am also Spanish and I would like to ask you some questions before making the changes but I do not know if I am allowed to speak in Spanish in this forum. My English is also very bad
it seems that it could only be solved using a plugin.
A plugin is just a package of custom code. For example, if you have a snippet, you can add that to your functions.php file – or it can be bundled into a plugin for easier updating.
Thanks for sharing that, @nerealonela!
Thanks for the clarification @fernashes;
I have always believed that plugins could slow the loading of the web page and that, as far as possible, it was better to avoid them.
Is it allowed in the forum to reply in Spanish to @nerealonela?
I have always believed that plugins could slow the loading of the web page and that, as far as possible, it was better to avoid them.
It’s not so much the plugins themselves, as they code that they run. You can have lots of great quality plugins which won’t hurt your site’s speed a bit. Or you can have just a few plugins with code that do slow your site down. It also doesn’t matter if the customization is a plugin or a snippet: it’s the code that’s being run that’s important.
Is it allowed in the forum to reply in Spanish to @nerealonela?
Go for it!
@ciberdom Hola!
No te preocupes por no haber podido responder más pronto, sinceramente yo tampoco he podido conectarme en estos días, así que estamos a la par.
Pues cualquier duda que tengas comentamela. Que si puedo ayudar estaré encantada.
No es que sepa mucho código pero alguna cosilla me defiendo y últimamente me hecho más a la piscina.Si quieres, puedo mandarte alguna fotillo para que veas como queda la cosa antes de que hagas los cambios y ya entonces tu decides si es lo que buscas o no ??
Para mi también fué muy complicado la cosa, encontré plugins que hacian lo que requería, pero es que, además, agregan muchas otras funcionalidades que ni siquiera iba a utilizar, y eso, para mi, es hinchar mi pagina web para nada. Así que, sin tirar la toalla, seguí durante días rompiendome el coco hasta dar con la solución.
Es tal y como dice @fernashes , no es tanto la cantidad de plugins, sino la calidad de los plugins. Algunos incorporan muchas funcionalidades que uno no necesita, y realmente por una sola característica que se pueda necesitar, no vamos a petar la web, no? Entonces, en ese caso se utilizan los snippets, justo con solo la característica necesaria y ya está.
Y luego está también el hecho, de que algunos plugins están codificados de tal forma que incluyen código basura, es decir, no son plugins muy limpios, y esto no pasa solo con los plugins, sino también con los temas premium. Hay que ir con mil ojos. ??Y ya por último, si vas a a?adir muchos snippets, te recomiendo que uses un plugin de snippets porque así al cambiar de tema, los snippets siguen funcionando, mientras que si los tienes en el archivo functions.php, deberás copiarlos al nuevo archivo functions.php del nuevo tema hijo.
Y otra ventaja del plugin de snippets es que puedes decidir donde quieres que se ejecute, si en el front-end, si en el back-end, o si el todo el sitio. Esto también es un punto a favor ??Ahora sí que sí, cualquier cosita me dices!
Un saludo.
Hola @nerealonela!
Muchas gracias por tu disposición y la ayuda, te lo agradezco mucho!
Más que una pregunta voy a exponerte lo que necesito y tú me confirmas si tu código lo resuelve, para evitar cualquier confusión que haya podido provocar mi consulta inicial en inglés.
En mi tienda tenemos tres tipos de usuarios:
– Visitantes
– Customer, cualquier persona que decida registrarse.
– Partner, usuarios que creamos nosotros que se benefician de descuentos especiales.Los Visitantes y Customer tienen el impuesto incluido en el precio de los productos (IVA 21% incluido).
Los Partner, tienen precios diferentes ya que obtienen descuentos especiales y a parte los precios de los productos deben aparecer sin el impuesto que deberá aparecer a parte desglosado (IVA 21% NO incluido).
En los ajustes de WooCommerce tengo seleccionado la opción “introduciré los precios sin impuestos” y Mostrar precios en la tienda y precios en el carrito y en el pago: Sin impuestos. Actualmente uso el plugin WooCommerce Dynamic Pricing para darle diferentes precios a los usuarios Partner y el plugin WooCommerce Catalog Mode, Wholesale & Role Based Pricing (BASIC) para mostrar los precios con impuestos incluidos para los usuarios Visitantes y Customer.
?Puede tu código resolver esto?
Te adjunto esta imagen en la que podrás verlo más claramente:
https://vegan-tattoo.com/wp-content/uploads/IMPUESTOS.jpgPor cierto, cuando estamos dentro del usuario Partner y se ve el precio del Customer (P.V.P.) actualmente aparece sin el impuesto como puedes ver, esto también me gustaría cambiarlo y si no se puede ocultarlo de forma que el Partner solo vea su precio:
https://vegan-tattoo.com/wp-content/uploads/Precio-Customer-Partner.jpgPd. Puedes mandarme cualquier imagen que desees para aclararme las cosas.
Hola @ciberdom
Sé de que plugins me hablas, yo también los he utilizado. Tal y como te comentaba en el mensaje anterior, algunos plugins incorporan funcionalidades de más, o como en este caso, el plugin WooCommerce Catalog Mode, Wholesale & Role Based Pricing (BASIC) que incorpora codigo basura en el plugin gratuito en donde te tienta con una piruleta para que compres el plugin premium el cual funciona con licencias de soporte y actualizaciones de un solo a?o, osea, una ruina.
Mi primera opción fue también esa, sin embargo, al ver el panorama, lo descarte inmediatamente y opté por el snippet.
La configuración que tienes es la tienda woocommerce es porque así te la demanda el autor del plugin para que te funcione el plugin correctamente, o porque ya la tenias así antes de instalar el plugin?
Yo soy de tener siempre las siguientes configuraciones en todas las tiendas online:
– introducir precios con impuestos incluidos.
– mostrar precios en la tienda, carrito y checkout con impuestos incluidos.Imagino que para ti esta configuración que utilizo yo te vendría mejor, por el hecho de que imagino que esta tienda no es tuyo, sino que realizas tiendas online para tus clientes, no?
Para los clientes siempre es mucho más fácil introducir los precios con el impuesto incluido, que estar calculando los precios sin iva para poder introducirlo en la tienda.
Y después, la segunda razón por la cual utilizo siempre esa configuración es porque woocommerce a veces juega una mala pasada y a los clientes finales a veces muestra los precios sin impuestos (en la tienda en el frontend) y luego el cliente se lleva una mala sorpresa…
Entonces, si utilizas el snippet que te facilité en el primer mensaje, no necesitarías el plugin WooCommerce Catalog Mode, Wholesale & Role Based Pricing (BASIC) y tampoco estarías hinchando tu tienda de código basura. Tampoco precisarias de licencias para soporte y actualizaciones.
En cuanto a lo que me comentas de que se muestra el PVP del cliente final (sin impuestos) en la tienda de usuarios mayoristas tachado, si que habría forma de ocultarlo, aunque tendría que mirarlo detenidamente para dar con el código, pues se tendría que utilizar una condicional en php para que oculte este precio solo a los usuarios mayoristas y no a todos los usuarios.
Se podría hacer con css, pero estariamos igual, lo estarás ocultando para todos los tipos de clientes. Así que la mejor opción sería mediante código condicional en el cual le estarías indicando que si el mayorista haga tal cosa y si es otro rol de usuario haga esta otra cosa.
Deja que te grabé un video de como lo tengo yo el chanchullo en mi tienda de pruebas y te paso en link para que puedas verlo. Verás que es mucho más sencillo que la configuración que tienes tu actualmente.
Hola @nerealonela;
Me encanta lo que dices y estoy deseando probar tu código. Realmente la forma de a?adir los precios actualmente la tuve que cambiar por el plugin Catalog Mode, antes usaba la configuración con el impuesto incluido. De hecho creo que de esa forma no tendría que eliminar el precio PVP para el Partner ya que aparecería con el impuesto incluido que es lo que quiero.
Bueno, ?alguna recomendación antes de proceder?,
por lo que entiendo antes de probar el código tengo que cambiar los ajustes de WooCommerce a “Precios con impuesto incluido” y después modificar todos los precios de los productos ?no?Me preocupa especialmente la forma en la que se mostrará el IVA para los Partner, debe mostrarse desglosado a parte, eso es seguro ?no?
Espero a que me mandes ese video antes de hacer nada.
Hola @ciberdom,
No tienes porque cambiar toda la configuración y precios ahora.
En realidad, el código debería funcionarte igual.Lo único que si tendrías que cambiar en la parte de que se visualicen los precios con impuestos en la tienda, carrito y checkout. Actualmente la tienes configurada “sin impuestos”, verdad? Pues tendrias que poner que se visualicen los precios en las tres zonas “con impuestos”.
En principio con ese cambio ya debería funcionarte correctamente el codigo snippet. De este modo, te ahorrarás tener que cambiar todos los precios de los productos ahora.
Aunque si lo prefieres, pues también puede hacerlo, pero que vamos, no sería 100% necesario. El tiempo es oro ??
Una pregunta;
?para qué utilizas el plugin Catalog Mode?
?Acaso los productos los tienes en modo catálogo para algún usuario en específico?Aquí te dejo el video:
https://openload.co/embed/TLNyVTYNpc0/
Espero que te sea de utilidad.
Si necesitas cualquier otra cosa, hazmelo saber.
Un saludo.
- This reply was modified 6 years, 9 months ago by nerealonela.
- This reply was modified 6 years, 9 months ago by nerealonela.
Hola @ciberdom,
No tienes porque cambiar toda la configuración y precios ahora.
En realidad, el código debería funcionarte igual.Lo único que si tendrías que cambiar en la parte de que se visualicen los precios con impuestos en la tienda, carrito y checkout. Actualmente la tienes configurada “sin impuestos”, verdad? Pues tendrias que poner que se visualicen los precios en las tres zonas “con impuestos”.
En principio con ese cambio ya debería funcionarte correctamente el codigo snippet. De este modo, te ahorrarás tener que cambiar todos los precios de los productos ahora.
Aunque si lo prefieres, pues también puede hacerlo, pero que vamos, no sería 100% necesario. El tiempo es oro ??
Una pregunta;
?para qué utilizas el plugin Catalog Mode?
?Acaso los productos los tienes en modo catálogo para algún usuario en específico?Aquí te dejo el video:
https://openload.co/embed/TLNyVTYNpc0/
Espero que te sea de utilidad.
Si necesitas cualquier otra cosa, hazmelo saber.
Un saludo.
Hola!
Muchísimas gracias por el video y la explicación en Off. Nunca me habían ayudado de esta forma, de verdad que no sé como agradecértelo.
ES EXACTAMENTE LO QUE ESTABA BUSCANDOTe respondo al mismo tiempo que voy viendo el video y por orden:
Los precios de los Partner los tengo por unidad y por cantidad, osea, cada producto en sí tiene un precio diferente al del resto de usuarios y además también varia según la catidad que adquieran, esto lo consigo a través del plugin “WooCommerce Dynamic Pricing”.
Correcto, la forma en la que a?adí los precios vino condicionada por el plugin “Catalog Mode” para que funcionara correctamente. Te doy la razón en todo lo que dices respecto a este plugin.
?Qué plugin usas para los Snippets? Voy a hacerte caso.
?Debo cambiar también la clase que te se?alo o dejo la misma?
https://vegan-tattoo.com/wp-content/uploads/codigo-nerea.jpgLa única duda que tengo es que decías que no era necesario que modificara el precio de mis productos pero imagino que sí tendré que hacerlo ?no?, ya que actualmente yo he a?adido los precios SIN IVA, si a partir de ahora le voy a decir a WooCommerce que a?adiré los precios CON IVA tendré que modificar todos las cantidades.
- The topic ‘VAT Not included for User Role’ is closed to new replies.