Buenas a todos!! os comento, nos dedicamos la distribucion, por lo que compramos el plugin Wholesale Role para tener precio normal y precio de distribucion.
Ahora entra la problematica.
-A algunos clientes se factura CON iva.
-A algunos clientes se factura SIN iva, EN DETERMINADOS PRODUCTOS. (portatiles, moviles y videoconsolas)
Que quiere decir esto? Que no puedo crear un simple rol de X clientes sin iva, y X clientes con iva, ya que este segundo, si comprara una pantalla SI pagaria IVA.
Soluciones que hemos planteado:
1- Plugin tax exempt woocommerce, da la opcion de eliminar impuestos cuando cierto ROL de cliente elige ( valdria ya que dariamos poder al segundo tipo de usuario y podria eliminar el IVA cuando comprara portatiles... pero NO sirve, ya que no funciona bien con el plugin Wholesale Role.
2- Cupon descuento que dariamos a X usuarios que facturan sin IVA en ciertos productos, y los limitaria a esa categoria. Pero presenta dos problematicas:
2.1 Nunca es exacto, hemos calculado hasta dale un valor como 17.3561489 pero nunca da 100% exacto...
2.2 Despues en facturación aparece: IVA, por lo que hay que eliminar el IVA despues manualmente uno a uno... ya que al fin y al cabo es un simple descuento. (esto ultimo no me importaria, el problema que no encuentro la forma de que sea exacto
MUCHAS GRACIAS por vuestra ayuda. Un saludo!
Hola Víctor,
Agrega el siguiente código a través del plugin de Code Snippets:
<?php /** * Remove tax for specific roles */ function prefix_exclude_tax_by_role() { if( function_exists( 'WC' ) ) { if( isset( WC()->customer ) ) { $role = WC()->customer->get_role(); if( $role == 'administrator' ) { WC()->customer->set_is_vat_exempt( true ); } else { WC()->customer->set_is_vat_exempt( false ); } } } } add_action( 'wp', 'prefix_exclude_tax_by_role' );
Si no te funciona prueba con:
/**
* Apply a zero tax rate for 'administrator' user role.
*/
function wc_diff_rate_for_user( $tax_class, $product ) {
$user_id = get_current_user_id();
$user = get_user_by( 'id', $user_id );
if ( is_user_logged_in() && ! empty( $user ) && in_array( 'administrator', $user->roles ) ) {
$tax_class = 'Zero Rate';
}
return $tax_class;
}
add_filter( 'woocommerce_product_get_tax_class', 'wc_diff_rate_for_user', 1, 2 );
Donde administrador corresponde al nombre del rol del usuario al que se le excluyen los impuestos.
Saludos
Hola Víctor,
Agrega el siguiente código a través del plugin de Code Snippets:
<?php /** * Remove tax for specific roles */ function prefix_exclude_tax_by_role() { if( function_exists( 'WC' ) ) { if( isset( WC()->customer ) ) { $role = WC()->customer->get_role(); if( $role == 'administrator' ) { WC()->customer->set_is_vat_exempt( true ); } else { WC()->customer->set_is_vat_exempt( false ); } } } } add_action( 'wp', 'prefix_exclude_tax_by_role' );Si no te funciona prueba con:
/** * Apply a zero tax rate for 'administrator' user role. */ function wc_diff_rate_for_user( $tax_class, $product ) { $user_id = get_current_user_id(); $user = get_user_by( 'id', $user_id ); if ( is_user_logged_in() && ! empty( $user ) && in_array( 'administrator', $user->roles ) ) { $tax_class = 'Zero Rate'; } return $tax_class; } add_filter( 'woocommerce_product_get_tax_class', 'wc_diff_rate_for_user', 1, 2 );
Donde administrador corresponde al nombre del rol del usuario al que se le excluyen los impuestos.
Saludos
Buenas como he comentado en el post primero esa opcion no me sirve, ya que no siempre se le excluye a un ROL de impuestos, unicamente en portatiles, moviles y videoconsolas (regimen de revendedor) por lo que no me sirve generalizarlo a un ROL para toda la tienda.
La solucion unica viable que veo es el plugin ese que te deja seleccionar si quieres quitar impuestos, o un codigo cupon que se pueda introducir y te descuente el impuesto o te lo elimine.
Espero tu respuesta
Un saludo
Hola Victor.
Por defecto no es posible y tendrias que crear condiciones en PHP, si que se podría si se basara en Roles de usuarios o
veo que hay un plugin de pago pero no se si exactamente sirve paar lo que estás buscando:
-> https://codecanyon.net/item/woocommerce-exclude-tax-for-specific-customers-plugin/24770651
Otra opción sería programar un plugin específico àra lo que buscas, si te decides por esta opcion, puedes ponerte en contacto con algún colaborador paar que te indique la manera de implementarlo:
-> https://www.webempresa.com/directorio-colaboradores.html
Un Saludo
Hola Victor.
Por defecto no es posible y tendrias que crear condiciones en PHP, si que se podría si se basara en Roles de usuarios o
veo que hay un plugin de pago pero no se si exactamente sirve paar lo que estás buscando:
-> https://codecanyon.net/item/woocommerce-exclude-tax-for-specific-customers-plugin/24770651
Otra opción sería programar un plugin específico àra lo que buscas, si te decides por esta opcion, puedes ponerte en contacto con algún colaborador paar que te indique la manera de implementarlo:
-> https://www.webempresa.com/directorio-colaboradores.html
Un Saludo
Buenas, y la opcion de poner un CUPON o un importe para que al menos descuente el importe del IVA?
un saludo
Hola Victor,
En este caso si deseas incorporar un cupón puedes hacerlo, puedes ingresar en Woocommerce > Cupones, y una vez hagas clic en agregar nuevo cupón te adjunto captura del proceso:
Luego en restricciones de uso y limites de uso, encontraras mas opciones en relación a sus títulos, puedes saber mas sobre que hace cada campo en estos iconos de signos de interrogación:
Recuerda que esto no es aplicable según roles en especifico sino como lo indicas es un cupón aplicable para un descuento que se debe gestionar como tal como lo que es.
Si requieres de esta programación especifica puedes ingresar a https://www.webempresa.com/directorio-colaboradores.html , donde podrán ayudarte a la programación de este sistema en especifico
Un saludo 🖐️