u mnie błąd nie występuje, natomiast zauważyłem, że u mnie na KP liczby
mają przecinek, a nie tak jak u ciebie kropkę dziesiętną, może problemem jest brak odpowiedniego locale w twoim systemie? No i nie podałeś wersji Smarty/PHP/LMSa/bazy.
Moim zdaniem błąd jest pośrednio związany z funkcją obliczająca liczbę "groszy" w pliku receipt.php:
receipt['totalg'] = $receipt['total']*100 - ((int) $receipt['total']) * 100;
a dokładniej: $receipt['total']*100 nie zawsze będzie liczbą stałoprzecinkową, nawet jeśli pomnożycie przez 100, bo $receipt['total'] jest tutaj liczba zmiennoprzecinkowa. Liczba zmiennoprzecinkowa to tylko pewne przybliżenie (rozwinięcie) właściwej liczby
Akurat w tym przykładzie najbliższe przybliżenie liczby 134.20 było równe: 134.199999999999998
Dlatego powinno być dodane dodatkowe zaokrąglenie/rzutowanie. Jak tak zrobiłem, to problem zniknął.
Niektórzy w ogóle nie zalecają stosować liczb zmiennoprzecinkowych do obliczeń finansowych (z uwagi na niedokładność przy m.in. liczeniu salda, mogą być różnice na poziomie np. groszy).
Tym sposobem na przyklad mam klienta ktory ma : -0zł :)
Pozdrawiam.