Jun 19
Wykorzystanie ceny brutto w rachunkach aplikacji
W naszych serwisach bardzo często pojawia się zarządzanie cenami różnych produktów (wyliczanie cen, stawek VAT oraz innych skomplikowanych obliczeń). W większości przypadków podstawą jest cena netto, natomiast problem pojawia się, kiedy klient zażyczy aby podstawą była cena brutto!
Przy reprezentacji cen w postaci DECIMAL(X, 2) nie możliwe jest ustalenie dokładnej ceny netto, VAT oraz brutto w przypadku, gdy musimy ją pomnożyć przez jakąś liczbę. Rozpatrzmy przypadek, kiedy cena brutto wynosi 2.70zł a stawka podstawowa VAT to 22%:
A więc jak ja powyższym przykładzie widzimy, że kwota netto + kwota VAT daje nam dokładną cenę brutto. Radośnie zapisujemy do bazy cenę jednostkową i cieszymy się, że nasza aplikacja działa ale popatrzmy co się dzieje, kiedy zamawiamy 100 takich produktów:
Zgadza się! 221zł + 49zł = 270zł Cieszymy się (niestety zbyt wcześnie) ponieważ nasza aplikacja potrafi dodawać i mnożyć, ale jeżeli spojrzy na to bystre oko pani sekretarki z urzędu skarbowego to nam powie, że nie znamy podstaw matematyki ;( Ponieważ oto co następuje:
Powyżej już widać gołym okiem, że wszystkie stawki sie zgadzją. Jednakowoż za każdym razem wyliczamy cenę netto, na podstawie której znowu obliczamy kwotę VAT. Jeżeli chcemy przechowywać obie ceny (netto i brutto) jednostkowe w bazie danych należy to zrobić z odpowiednią precyzją, w moim przypadku było to 6 miejsc po przecinku (DECIMAL(X,6)) ponieważ mało prawdopodobne jest to, że ktoś zamówi x-set tysięcy sztuk jednego produktu.
Z ciekawości też poszukałem informacji na tego w jaki sposób rozwiązywane jest to w programach typowo magazynowych (np.: Subiekt) i okazało się, że w bazie przechowywana jest jednynie cena podstawowa, na której na bierząco wykonywane są obliczenia o dużej precyzji liczb :)

August 20th, 2008 at 10:32
i dokładnie tak to sie powinno robić ze przchowujesz cene jednostkowa i na tej podstawie wyliczać podatki, przy twoim założeniu vat jednostkowy na produkcie może być inny przy zamówieniu 100 sztuk niż przy zamawianiu 10000 sztuk a tak być nie może.
August 20th, 2008 at 01:21
Więc właśnie - nieważne czy w moim przypadku ceną wejściową jest netto czy brutto, ja mam zawsze zapisaną cenę netto o określonej precyzji, na podstawie której wykonuje pozostałe obliczenia ;)
July 2nd, 2009 at 10:23
Polecam zapoznać się z podstawą prawną dotyczącą zaokrąglania :)
Mówi ona że ważne są wyliczenia poszczególnych pozycji faktury, a nie suma.
Czyli: Cena brutto: 270zł, Cena netto: 221zł, Kwota VAT: 49zł jest prawidłowe.
March 11th, 2010 at 04:14
Proponowalbym poczytac troche na sieci o wyliczaniu cen netto i brutto. Bo to co piszesz moze wyglada na sprytne ale jest nie zgodne z prawem. Prawo dopuszcza ‘poslizgi’ na groszach. Wymaga jedynie zgodnosci z ustawa i rozporzadzeniami, ktore te kwestie reguluja. Tym bardziej ze nie trudno wyobrazic sobie branze, w ktorej sprzedaje sie nie w setkach sztuk ale milionach sztuk i juz Twoje rozwiazanie nie jest prawdziwe. Ponizej linka, w ktorej dyskusja sie toczyla jak prawidlowo rozwiazac ten problem:
http://prawo.money.pl/grupa-pl_soc_prawo/ceny;netto;i;brutto;na;dokumentach;sprzedazy,watek,881001.html
Thank you.