Existe una relación general entre los precios, la cantidad, el descuento, los impuestos y sus precisiones.
Assume:
x is the price
y is the percentage
s is the rounded sub-total
2 Directions
A) incl. Tax => excl. Tax => incl. Tax
B) excl. => incl. => excl.
La cuestión importante es el subtotal redondeado que estoy calculando con el máximo. Error. 2 dígitos fraccionarios significa 5 * 10 ^ -3
A) x * 10 ^ 2 / (y + 10 ^ 2) // s * (y + 10 ^ 2) / 10 ^ 2
B) x * (y + 10 ^ 2) / 10 ^ 2 // s * 10 ^ 2 / (10 ^ 2 + y)
A)
Subtotal precision 2 fractional digits:
5*10^-3*(y+10^2)/10^2 => (y+10^2)/10^2<1 => no y
3 fractional digits:
5*10^-4*(y+10^2)/10^2 => (y+10^2)/10^2<10 => y<900
4 fractional digits:
5*10^-5*(y+10^2)/10^2 => (y+10^2)/10^2<10^2 => y<90900
(must be a very bad country)
......
B)
Subtotal precision 2 fractional digits:
(5*10^-3)*10^2/(10^2+y) => 10^2/(10^2+y)<1 => every y
Si desea calcular con descuentos o impuestos y desea volver a calcular el precio, la siguiente explicación puede ser interesante para usted. Tenga en cuenta que no conozco ningún caso en el front-end, es posible que haya un cálculo interno. A) Total => Impuesto / Descuento => Total B) Impuesto / Descuento => Total => Impuesto / Descuento
A) x * y / 10 ^ 2 // s * 10 ^ 2 / y
B) x * 10 ^ 2 / y // s * y / 10 ^ 2
A) Subtotal precision 2 fractional digits:
(5*10^-3)*10^2/y => 10^2/y < 1 => y>10^2
Subtotal precision 3 fractional digits:
(5*10^-4)*10^2/y => 10^2/y < 10 => y>10
Subtotal precision 4 fractional digits:
... 10^2/y < 10^2 => y>1
Con una precisión de 2 dígitos, debe tener una tasa SIN DÍGITOS FRACCIONALES. Ejemplo: Total: 15,15 tasa impositiva: 0,3% => impuesto 0,04545 => redondeado 0,0455 impuesto: 0,0455 => total: 15,17
B) Subtotal precision 2 fractional digits:
(5*10^-3)*y/10^2 => y/10^2 < 1 => y < 10^2
si a es la precisión, entonces debe ser y menor que a + 2.
Tenga en cuenta si maneja cantidades. El error se multiplicará. Entonces, si tiene un máximo de 10 ^ 5, debe tener una precisión de 7. ¡Esto es preocupante si está calculando con desplazamiento!
ADEMÁS (10/09/2013 Magento versión 1.7.0.2) Brutto Netto <=> e Impuestos // América <=> viejos aparatos de Europa son enteros (centavos) y el mapeo
f (x) = round (a * x) a> 1 es No es biyectivo. En mis palabras: no para todos los precios incl. existe un precio excl. o A veces hay 2 precios incl. por un precio excl. o puede obtener 2 resultados diferentes dependiendo de cómo calcule
Ejemplo del mundo real de Alemania:
Intenta ingresar un precio incl. impuestos: 19,95 Usted obtiene 16,76 (2 dígitos) como sus precios excl. los impuestos (19%). Si calcula el 19% de impuestos que obtiene (16,76 * 0.19) 3,18. (Tenga en cuenta: 19.95 * 019 / 1.19 ~ 3.19)
Entonces hay 1 centavo de diferencia. 16,76 => 19,94 16,77 => 19,96
No hay precio 19,95 en Estados Unidos - tierra de netto.
Así que calcule con los precios originales lo más lejos posible. Para incluir precios, use el precio ingresado y los impuestos (número desglosado).
PayPal tiene esta verificación de fraude, ahora no estoy seguro, pero PayPal solo agrega el número que le da magento. ver http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/
Si esto no es cierto y PayPal recalcula el Impuesto o el Total, este problema no se puede resolver, de lo contrario, los precios, incorrectos o correctos, se muestran antes en Magento . Resuélvelo allí. Para mí parece funcionar.