Używamy Magento CE 1.7 i mamy różne problemy z zaokrąglaniem. W różnych obliczeniach występuje różnica 0,01 EUR.
Podstawową kwestią może być to, że ceny artykułów zawierają. podatek.
Współprogramiści nadpisali Mage_Core_Model_Store::roundPrice()
metodę obliczeń z dokładnością do 4 cyfr. Ale wydaje się, że powoduje to problemy z płatnościami PayPal.
Czy istnieje rozwiązanie tych problemów?
EDYTOWAĆ:
My rzeczywiście próbował oficjalną łatkę rdzenia, który w zasadzie dodaje 4-cyfrowy do zaokrąglania \Mage_Tax_Model_Sales_Total_Quote_Shipping::_round
, \Mage_Tax_Model_Sales_Total_Quote_Subtotal::_deltaRound
i \Mage_Tax_Model_Sales_Total_Quote_Tax::_deltaRound
który rozwiązuje problem zaokrąglania kupon ale nie problemem PayPal.
ce-1.7.0.2
rounding
germany
Alex
źródło
źródło
Odpowiedzi:
Wiemy o kilku problemach związanych z zaokrąglaniem w ramach podstawowego modułu podatkowego Magento, które obejmują opisane scenariusze. Obecnie pracujemy nad tymi problemami w nadchodzącym wydaniu 1.13. Te problemy z zaokrąglaniem powodują proste sprawdzenie Paypal, które określa, czy elementy zamówienia w koszyku sumują się poprawnie. Wygląda na to, że łatka Fabiana zajmuje się czekiem Paypal w krótkim okresie.
Jeśli masz jakieś pytania, komentarze lub sugestie, w jaki sposób możemy ulepszyć moduł podatkowy Magento, nie wahaj się ze mną skontaktować, ponieważ jestem kierownikiem produktu odpowiedzialnym za podatki.
Pozdrawiam, Chuck
źródło
Dzięki Andreasowi Vogtowi buduję moduł, aby naprawić okrągły błąd Paypal. Andreas dał mi kilka podstawowych plików zhackowanych i zrobiłem moduł. Sprawdza, czy sumy są poprawne, a jeśli nie, jest poprawiane.
Afaik główny hack jest testowany na wolności. Wiele osób prosiło o moduł, ale żaden onw nie dał mi opinii, czy to działa. Ale jest testowany jednostkowo! (tylko wtedy, gdy przepisanie działa, ponieważ nie miałem pojęcia, na czym polega problem z paypal ;-))
https://github.com/magento-hackathon/PaypalRoundBugfix
źródło
Mamy do czynienia zarówno z błędem zaokrąglania paypal, jak i problemem z kodami kuponów ze 100% zniżką. Mamy tylko problemy z cenami (np. 3,99 EUR włącznie z podatkiem), gdzie cena netto na trzeciej cyfrze ma wartość 5 (3325). Tak więc podatek (tutaj z 20%) ma na trzeciej cyfrze 5 (0,665). Jeśli więc zaokrąglisz i dodasz obie ceny (co robi PayPal i Magento), całkowita kwota jest o 0,01 EUR wyższa niż cena podstawowa (4,00 EUR).
Właściwa kakulacja powinna wynosić 3,32 EUR netto + 0,67 EUR podatku = 3,99 EUR
Ponieważ próbujemy również znaleźć ogólne rozwiązanie, dajemy szansę na zaokrąglenie paypal!
źródło
istnieje ogólny związek między cenami, ilością, rabatem, podatkiem i ich dokładnością.
Ważną kwestią jest zaokrąglona suma częściowa, którą obliczam z wartością max. Błąd. 2 cyfry ułamkowe oznaczają 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)
......
Jeśli chcesz obliczyć rabaty lub podatki i chcesz przeliczyć cenę, następne wyjaśnienie może być dla Ciebie interesujące. Należy pamiętać, ponieważ nie znam żadnego przypadku w interfejsie, możliwe jest, że istnieje obliczenie stażysty. A) Razem => Podatek / Rabat => Razem B) Podatek / Rabat => Razem => Podatek / Rabat
A) x * y / 10 ^ 2 // s * 10 ^ 2 / r
B) x * 10 ^ 2 / r // s * r / 10 ^ 2
Z dokładnością do 2 cyfr, musisz mieć stawkę BEZ CYFROWYCH CYFROWYCH. Przykład: Razem: 15,15 stawka podatku: 0,3% => podatek 0,04545 => zaokrąglony 0,0455 podatek: 0,0455 => ogółem: 15,17
jeśli a jest dokładnością, to musi być y mniejsze niż + 2.
Uwaga: jeśli zajmujesz się ilościami. Błąd zostanie pomnożony. Więc jeśli masz maksimum 10 ^ 5, musisz mieć dokładność 7. To jest niepokojące, jeśli obliczasz z przesunięciem!
DODATEK (9.10.2013 Magento wersja 1.7.0.2) Brutto <=> Netto i podatki // Ameryka <=> stare zestawy europejskie są liczbami całkowitymi (centami), a odwzorowanie
f (x) = okrągłe (a * x) a> 1 wynosi nie bijective. Moje słowa: Nie za każdą cenę włącznie. istnieje cena bez. lub Czasami są 2 ceny włącznie. za jedną cenę bez. lub Możesz uzyskać 2 różne wyniki w zależności od sposobu obliczania
Przykład z Niemiec:
Próbujesz wprowadzić cenę z VAT. podatki: 19,95 Otrzymujesz 16,76 (2 cyfry), ponieważ ceny nie zawierają. podatki (19%). Po obliczeniu 19% podatków otrzymujesz (16,76 * 0,19) 3,18. (Należy pamiętać: 19,95 * 019 / 1,19 ~ 3,19)
Jest więc różnica 1 centa. 16,76 => 19,94 16,77 => 19,96
W Ameryce nie ma ceny 19,95 - krainy netto.
Oblicz więc z oryginalnymi cenami, o ile to możliwe. Do uwzględnienia cen należy użyć wprowadzonej ceny i podatków (zepsuty numer).
PayPal ma tę kontrolę oszustw - teraz nie jestem pewien - ale PayPal po prostu dodaje liczbę, którą daje jej magento. patrz http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/ Jeśli nie jest to prawdą, a PayPal ponownie oblicza podatek lub sumę, problemu nie można rozwiązać, w przeciwnym razie ceny - błędne lub prawidłowe - zostaną pokazane wcześniej w Magento . Rozwiąż to tam. Wydaje mi się, że to działa.
źródło