Jun 19

Wykorzystanie ceny brutto w rachunkach aplikacji

Tag: MySQL, PHPbirkin @ 01:24

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 :)

4 Responses to “Wykorzystanie ceny brutto w rachunkach aplikacji”

  1. marek says:

    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.

  2. birkin says:

    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 ;)

  3. ab says:

    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.

  4. Drachenfels says:

    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.

Leave a Reply