Hola amigos. Estoy intentando que mi tienda distinga a los clientes autónomos/empresa de los que no lo son y aplique el IRPF.
Para ello he creado una nueva tasa en los ajustes de WooCommerce que he llamado "Autonomos" en la cual he creado las filas correspondientes para el IVA y para el IRPF como impuesto negativo.
Después mediante hooks he creado una chekbox que he configurado como no requerida, porque no todos mis clientes serán autónomos.
Después de esto realizo el proceso de validación de la checkbox para que, en caso de que esté marcada, me aplique la nueva tasa que he creado, en lugar de la tasa "estándar".
Pero obviamente he omitido algo o estoy utilizando un hook equivocado porque aunque actualizo la página no me carga la nueva tasa que he creado. ¿Alguna idea?
Mi web es https://prueba.unifilomedia.net
Os pego a continuación el código que he colocado en el child theme en el archivo functions.php
"
/*MODIFICACIÓN DE LA PÁGINA DE CHECKOUT PARA AUTÓNOMOS*/
/*1)AQUÍ AÑADO LA CASILLA PARA AUTÓNOMOS*/
add_action('woocommerce_after_checkout_billing_form', 'anado_casilla_autonomo');
function anado_casilla_autonomo( $checkout) {
woocommerce_form_field( 'my_checkbox_autonomo', array(
'type' => 'checkbox',
'class' => array('input-checkbox'),
'label' => __('Soy autónomo/empresa'), // Pone el mensaje despues del checkbox
'required' => false, // El cliente puede no ser autónomo
), $checkout->get_value( 'my_checkbox_autonomo' ));
}
/*2)AQUÍ VALIDO Y ACTÚO EN CONSECUENCIA*/
add_filter( 'woocommerce_product_get_tax_class', 'valido_casilla_autonomo', 1,2 );
add_filter( 'woocommerce_product_variation_get_tax_class', 'valido_casilla_autonomo', 1, 2 );
add_action('woocommerce_checkout_update_order_meta', 'valido casilla autonomo',2,2);
function valido_casilla_autonomo($tax_class,$product) {
global $woocommerce;
if ((int) isset($_POST['my_checkbox_autonomo'])){
// AQUÍ TENDRÍA QUE RECUPERAR EL TOTAL Y APLICARLE EL IRPF.
// POSTERIORMENTE TENDRÍA QUE VOLCARLO DE NUEVO EN EL TOTAL Y ACTUALIZAR
//VOY A VER SI ME VALE CON ESTO
$tax_class = 'AUTONOMOS';
}
return $tax_class;
}
"
Muchas gracias de antemano.
Un saludo virtual 🙂
Contenido solo visible a usuarios registrados
Hola Carmen.
Para añadir el cif/dni puedes utilizar la función que tienes adjunta:
Para ocultar el del plugin:
#billing_user_dni_field {
display: none;
}
Un saludo
Mil disculpas os estoy mareando de lo lindo. El caso es que, de todas formas el IRPF no tengo que aplicarlo a todos los productos que ofrezco. He pensado que quizá lo más sano es crear por partida doble vinculando el producto afectado en cada caso a un tipo de tasa o a otro para que de esta manera pueda adquirirlo el particular o el autónomo. He mirado si podía hacerlo con variaciones, pero no es posible vincular un tipo de tasa diferente a cada variación ¿verdad? Gracias de antemano.
Un saludo virtual 😀
Hola Carmen.
el tema seria mostrar diferentes precios dependiendo del rol del cliente ?
Si es eso, lo primero sería crear un Rol para el usuario profesional.
Puedes utilizar el siguiente plugin:
-> https://es.wordpress.org/plugins/user-role-editor/
.- Instalas y activas el plugin.
.- Accede a Usuarios -> User Role Editor
.- Selecciona Añadir Perfil y duplica el rol Cliente
Vale, ya tenemos un Perfil profesionales para la venta a revendedores.
Lo siguiente es instalar un plugin para asignar diferentes precios a un producto:
-> https://es.wordpress.org/plugins/elex-woocommerce-role-based-pricing-plugin-basic/
Una vez instalado accede a WooCommerce -> Ajustes y veras una nueva pestaña " Role-based Pricing " en esa pestaña puedes crear un % de descuento para todos los productos, categorias, usuarios o al producto en concreto.
Otra opción sería añadir un precio paar revendedores a cada artículo.
.- Editas el artículo y en la pestaña general veras que tienes una nueva celda para añadir el precio al grupo de usuarios que creaste anteriormente.
un saludo
Muchas gracias Pepe. Creo que me estoy complicando mucho la vida, y de paso os la estoy complicando a vosotros. Creo que lo mejor es crear dos productos: El producto 1A dirigido a un tipo de cliente con un tipo de tasa asignado y el producto 1B dirigido a otro tipo de cliente con otro tipo de tasa asignado. Es algo cómodo fácil y que puedo hacer desde la administración de WordPress sin meterme en líos ¿No? Gracias de antemano.
Un saludo virtual 😀
Hola Carmen,
En este caso es posible que la mejor opción sea manejar los roles y asignación de precios por roles de esta forma no tendrías que duplicar tus productos. Sin embargo todo depende de como desees configurar los aspectos en tu sitio web, solo ten en cuenta que al duplicar productos y crearlos para que sean según usuario 1 o usuario 2 tienes que verificar como asignar cada producto para que solo lo visualice un role especifico de usuarios.
Un Saludo
No me he explicado bien. Mi intención es no crear roles. En una tienda de ropa tienes pantalones para hombre y pantalones para mujer, no necesitas crear roles. Los hombres te van a comprar pantalones de hombre y las mujeres te comprarán pantalones de mujer. Yo voy a crear por ejemplo un paquete "Redacción de contenidos para autónomos" y otro paquete que será "Redacción de contenidos para particulares". Cada uno tendrá sus características, entre ellas que tendrá asociado un tipo de tasa distinta. El paquete para particulares tendrá asociada la "tarifa estándar", y el paquete para autónomos tendrá asociada la "tarifa autónomos" que he creado desde el panel de ajustes de WooCommerce". Así me evito, al menos de momento instalar más plugins. Gracias.
Un saludo virtual 😀
Hola Carmen,
Entiendo, en este caso como te comento todo depende de las configuraciones que desees añadir a tus productos.
Puedes realizar las pruebas y verificar si con esta configuraciones que nos mencionas logras lo que necesitabas
Un Saludo 😊
Hola!
Tengo el mismo problema, estoy intentando generar facturas con el IVA + IRPF pero o para todos mis clientes. Me gustaría saber si conoceis nuevos plugins porque tanto Autónomos lleva 3 años sin actualizarse como el de los roles. Podéis recomendarme alguno más actual?
Gracias
Hola Nuria.
Por favor abre una nueva consulta con tu usuario, con esto mantenemos un orden en el foro y nos ayudas a nosotros en nuestro trabajo.
No es bueno seguir las consultas de otros usuarios ya que cada instalación es distinta y necesitamos hacer las comprobaciones necesarias en la instalación de la consulta.
Un saludo