@Torcida, super. Ja, tu imam cca 16 primerov računov za testirat, ki so bili prej problematični in sedaj so vsi enotni na seznamu, pri prikazu v app-u in pri PDF-ju pri seštevku in tabeli z davki.
to da je prej prihajalo do občasne 1centa razlike pri cenah z več kot 2 decimalke me je mučilo dalj časa, a kot sem rekel ni bilo videti nobenega uradno pravega načina, nekje pa se je napaka zaokroževanja morala pokazat, vprašanje je le kje jo dovoliš. Kot olajševalno okoliščino bom citiral FURS (najdeno pri drugem ponudniku blagajniških programov):
""Davčni zavezanec cene za klic izkazuje na štiri decimalna mesta. Tako je na razčlenjenih računih znesek za posamezni klic prikazan na štiri decimalna mesta (zneski vmesnih operacij), na mesečnih računih pa se zneski za posamezne klice za isto vrsto storitve, np
r: klici v notranjem prometu, seštejejo in prikažejo na dve decimalni mesti, ker se znesek knjiži na ustrezni konto. DDV se obračuna in izkaže na računu od vsake storitve posebej. Zmnožek seštevka davčnih osnov in davčne stopnje zaradi zaokroževanja ni vedno
enak seštevku vrstičnih postavk DDV. Razlike so se pojavljale že v sistemu tolarjev, vendar davčni zavezanci, ker so bile razlike v stotinih tolarjev, nanje niso bili pozorni."
Tist odgovor trgovinske zbornice nam je dal usmeritev in sedaj mislim da je veliko boljše. Primere, ki mučijo uporabnika pavletič pa bom tudi rešil, če ne drugače naredim opcijsko drugačno izračunavanje.
@pavletic
1) pri prvem primeru se pri 5 decimalkah res ne izzide. Razlog je, da mi zneske postavk (brez DDV) interno zaokrožujemo na 4 decimalke (tvoje cene pa so na 5 decimal), ker je kazalo da več kot 4 decimalke pri ceni običajno niso potrebne. Problem se da videtu tu:
( brez zaokroževanja postavk na 4 dec. )
10.32786 * 1 + 2.37705 * 1 = 12.70491 = 12.70
( z zaokroževanjem na 4. dec )
10.3279 + 2.3771 = 12.705 = 12.71
Zato je naš program dobil 12.71. A sem sedaj zaokroževanje postavk nastavil na 6 decimal pri vseh preračuni (app, pdf, ..). Zato se stvar izide kot bi pričakoval in dobiš 12.70 in bruto 15.50
(( če bi dal cene na 4 decimalke, kot npr preračuna naše orodje za preračun neto cen:
https://www.cebelca.biz/tool-tax-si.html
bruto: 12.60 + 2.90
bi dobil neto: 10.3279 + 2.3770 = 12.7049 = 12.70 in bi se tudi izšlo že prej ))
2) drugi primer pa je pravilen. enice centov ne pridejo 0 kljub temu da so mogoče končne cene artiklov z enicami 0 ker imaš popust 5%.
( 10.08196 * (1 - 5/100) + 9.34426 * (1 - 5/100) + 2.37705 ) = 20.831959 = 20.83 --OK
20.831959 * 0.22 = 4.58303098 = 4.58 --OK
20.83 + 4.58 = 25.41
celo tako (kot želiš ti računati če razumem) pride .41 na koncu v tem primeru:
( 10.08196 * (1 - 5/100) + 9.34426 * (1 - 5/100) + 2.37705 ) * 1.22 = 25.41498998 = 25.41
A imaš še kakšen problematičen račun, da vidim če je še kaj za rešit ali bo to sedaj v redu?
LP
Janko