कीमतों, मात्रा, छूट, कर और उनकी प्राथमिकताओं के बीच एक सामान्य संबंध है।
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.
महत्वपूर्ण मुद्दा है गोल सबटोटल मैं अधिकतम के साथ गणना कर रहा हूं। त्रुटि। 2 भिन्नात्मक अंकों का अर्थ है 5 * 10 ^ -3
ए) x * 10 ^ 2 / (y + 10 ^ 2) // s * (y + 10 ^ 2) / 10 ^ 2
बी) 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
यदि आप छूट या करों के साथ गणना करना चाहते हैं और कीमत को पुनर्गणना करना चाहते हैं , तो अगला स्पष्टीकरण आपके लिए दिलचस्प हो सकता है। कृपया ध्यान रखें क्योंकि मैं किसी भी मामले को फ्रंट-एंड में नहीं जानता, यह संभव है कि एक आंतरिक गणना हो। ए) कुल => कर / छूट => कुल बी) कर / छूट => कुल => कर / छूट
ए) x * y / 10 ^ 2 // s * 10 ^ 2 / y
बी) 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
2 अंकों की सटीकता के साथ, आपके पास NO FRACTIONAL DIGITS के साथ एक दर होनी चाहिए। उदाहरण: कुल: 15,15 कर-दर: 0,3% => कर 0,04545 => गोल 0,0455 कर: 0,0455 => कुल: 15,17
B) Subtotal precision 2 fractional digits:
(5*10^-3)*y/10^2 => y/10^2 < 1 => y < 10^2
यदि कोई सटीक है, तो y + + 2 से कम होना चाहिए।
कृपया ध्यान दें कि क्या आप मात्रा को संभालते हैं। त्रुटि को गुणा किया जाएगा। इसलिए यदि आपके पास अधिकतम 10 ^ 5 है, तो आपके पास 7 की सटीकता होनी चाहिए। यह केवल चिंताजनक है, अगर आप ऑफसेट के साथ गणना कर रहे हैं!
ADDITION (9.10.2013 Magento संस्करण 1.7.0.2) ब्रुट्टो <=> नेट्टो और टैक्स // अमेरिका <=> पुराने यूरोप सेट पूर्णांक (सेंट) और मानचित्रण
f (x) = दौर (एक * x) a> 1 है विशेषण नहीं। मेरे शब्दों में: प्रत्येक मूल्य के लिए नहीं। एक मूल्य बहिष्करण मौजूद है। या कभी-कभी 2 कीमतें होती हैं। एक कीमत के लिए। या आप कैसे गणना करते हैं इसके आधार पर आपको 2 अलग-अलग परिणाम मिल सकते हैं
जर्मनी से वास्तविक-विश्व-उदाहरण:
आप एक मूल्य झुकाव दर्ज करने का प्रयास करते हैं। करों: 19,95 आप अपने मूल्यों के रूप में 16,76 (2 अंक) प्राप्त करते हैं। करों (19%)। यदि आप 19% करों की गणना करते हैं (16,76 * 0.19) 3,18। (जागरूक रहें: 19.95 * 019 / 1.19 ~ 3.19)
तो 1 सेंट अंतर है। 16,76 => 19.94 16.77 => 19.96
अमेरिका में कोई कीमत 19,95 है - नेट्टो की भूमि।
इसलिए जहां तक संभव हो मूल कीमतों के साथ गणना करें। कीमतों में शामिल मूल्य और करों (टूटी संख्या) का उपयोग करें।
PayPal के पास यह धोखाधड़ी की जाँच है - अब मुझे यकीन नहीं है - लेकिन PayPal सिर्फ वह संख्या जोड़ता है जो Magento इसे देता है। देखें http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/
यदि यह सही नहीं है और PayPal पुनर्गणना कर या कुल, यह समस्या हल नहीं है, अन्यथा कीमतें - गलत या सही - Magento में पहले दिखाई गई हैं । इसे वहां हल करें। मेरे लिए यह काम करने लगता है।