Support » Plugin: Autonomos » Error con Descuentos

  • Hola Jose.

    Quería comentarte que me acabo de dar cuenta de un pequeño error del plugin.

    Cuando se aplica algún cupón en el pedido, el plugin resta el importe calculado sobre el precio real (con descuento), pero muestra el IRPF calculado sobre el importe total (sin descuentos)

    Un ejemplo con números:
    Producto: 495
    Descuento: -100
    Iva (21%): 82,95
    IRPF (15%), que se muestra en los datos del pedido: -74,25 (15% de 495)
    Total Factura: 418,70

    Si haces los cálculos, puedes ver que el total descuenta 59,25 de IRPF (15% de los 395 que realmente se cobraron)

    El principal problema es que en las facturas también aparece incorrectamente reflejado y por tanto puede dar lugar a problemas posteriores.

    Espero que puedas solucionarlo.
    Un saludo 🙂

Viewing 10 replies - 1 through 10 (of 10 total)
  • Plugin Author Jose Conti

    (@jconti)

    Ok,

    Lo miro gracias 🙂

    Plugin Author Jose Conti

    (@jconti)

    Hola,

    Por favor, descárgate esta versión y me dices si se resuelven los problemas. Solo se está contemplando los cupones de descuentos (en esta versión), no los fijos, así que si los cupones que utilizas son fijos, aun no lo he tocado, pero la mecánica es parecida para solucionarlo.

    A mi me ha funcionado sin problemas, pero siempre es mejor que lo pruebe el que reporta el problema.

    Por lo que veo en el ejemplo, creo que es fijo, así que esta versión no resolverá el problema, si es así, me lo dices, y dentro de un rato te pondré el enlace a la versión que te puede ir bien.

    https://www.dropbox.com/s/jao8ktp6uljssqr/Autonomos-Basico.zip?dl=0

    Saludos

    Plugin Author Jose Conti

    (@jconti)

    Ahora ya contempla el descuento fijo, es decir, si un descuento a cesta de 100€, se mostrará el IRPF restándole el descuento https://www.dropbox.com/s/jao8ktp6uljssqr/Autonomos-Basico.zip?dl=0

    Falta mostrar de forma correcta el descuento por producto, pero ese es más complejo de solucionar.

    Hola Jose.
    Perdona que no te contestase, es que me desconecté y hasta ahora no volví a entrar al email. Lo pruebo y te digo. Muchas gracias. 🙂

    Te voy comentando cosas según me encuentro.

    Fichero core/functions/functions.php
    línea 209, sobran un par de paréntesis al final de la línea.

    Ese mismo fichero, línea 132: $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total – $woocommerce->cart->get_cart_discount_total ) * $percentage;
    Error: “A non-numeric value encountered in”

    En este segundo no me atreví a meter la mano 😛

    A priori sí parece calcular bien con descuento fijo pero no sé hasta que punto ese error puede afectar al funcionamiento correcto.

    La siguiente pregunta lógica es ¿existe manera de corregir el pedido que se generó mal?

    Y un detallito por si eres de los puntillosos. Los decimales ahora aparecen con punto en vez de con coma 😉

    Plugin Author Jose Conti

    (@jconti)

    Si, sobraban, he empaquetado antes sin apretar antes el botón guardar, disculpa 🙈

    ¿Dónde te sale el Error: “A non-numeric value encountered in”? a mi no me sale.

    Miraré lo de los puntos.

    Para cambiar los que ya han salido, tienes que buscar el meta post _billing_order_irpf del pedido (post_id), y solo es actualizarlo.

    PD: Acabo de convertir todo a números por si las moscas por el error que comentas.

    • This reply was modified 4 months, 2 weeks ago by Jose Conti.

    Uy perdón. El error sale en el checkout, encima del resumen de pedido

    Como necesitaba emitir la factura modificada me puse a trastear y conseguí cambiar los decimales a comas añadiendo number_format() o incluyendo los parámetros de la función en las líneas: 105, 142, 231, 250 y 308.

    Por si te sirve de ayuda para avanzar más rápido 🙂

    Quedo pendiente de la resolución del error en el checkout.
    Gracias por todo.

    margr

    (@mar1984)

    Hola,

    Antes de nada agradecer el trabajo del creador del plugin 🙂

    Han pasado tres meses y no sé si se logró solucionar, pero a mi me ha ayudado lo que se puso en este hilo, así que publico algunas modificaciones que realicé por si le sirve a alguien. Están basadas en la versión colgada en Dropbox un poco más arriba.

    He añadido argumentos para cambiar los puntos por comas en los números en cada number_format que encontré. Esto dependerá de como tenéis configuradas vuestras opciones de Woocommerce. Yo puse la coma para separar decimales, y el punto para separador de miles:

    number_format( $cantidad, 2, ',', '.' );

    Luego he realizado cambios en la función autonomos_calculate_coupon_amount_used:

    En concreto cambié estas líneas de la función:

    if ( 'fixed_cart' === $disc_type ) {
    	$coupon_amount   = $coupon_amount + $order_subtotal + $shipping_cost - $discount ) );
    }

    Por este otro código:

    if ( 'fixed_cart' === $disc_type ) {
    	$coupon_amount   = $coupon_amount + $discount;
    }

    Esto lo he hecho porque se estaba realizando doblemente la suma de subtotal+gastos de envío para el cupón fijo, una en esta función y otra en la función que recibe $coupon_amount (autonomos_custom_checkout_irpf_field_update_order_meta). Si estoy equivocada con este cambio, decidme por favor.

    A mi no me aparece el error que comentaste en la línea 132, pero tal vez haya que ver si todos los tipos que se emplean en las operaciones de esa línea son numéricos.

    Saludos,
    Mar.

    • This reply was modified 1 month ago by margr.
Viewing 10 replies - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.