Sposób obliczania vat-u na fakturach według polskiej ordynacji podatkowej

Często się zdarza że sklepy internetowe lub programy fakturujące źle obliczają należny vat co skutkuje problemami przy wystawianiu faktur w programach liczących poprawnie. Dlatego pokrótce wyjaśnię poprawny sposób obliczania podatku i sum pozycji.
Księgowi najkrócej określają poprawność kwot na podstawie tzw. krzyżówki, która powinna się zgadzać.

Problem pierwszy - Jak zaokrąglać liczby

Liczby zaokrąglamy do dwóch miejsc po przecinku tak jak w szkole czyli do 5 w dół powyżej w górę.
Np. 1,234 ma wynosić 1,23
1,236 ma wynosić 1,24
Jeśli piszemy skrypt w PHP to nie możemy użyć funkcji round(). Ponieważ źle zaokrągla. Zamiast tego można użyć funkcji poniżej (odpowiednik dla bazy danych PostgreSQL znajduje się tutaj).

/**
 * Zaokrągla liczbę do pełnych groszy
 * 
 * @param float $fltPrice
 * @return float 
 */
function round( $fltPrice, $intPrecision = 2 ) {
    return round( round( $fltPrice * pow( 10, $intPrecision + 1 ), 0 ), -1 ) / pow( 10, $intPrecision + 1 );
} // round	

Np. round( 1.23499, 2 ) zwróci 1.23 a powinien 1.24. Co też robi funkcja powyżej.

Problem drugi - Jak sumować ceny z więcej niż jedną sztuką

Najpierw należy cenę pomnożyć przez ilość sztuk/jednostek następnie dodać podatek.
Kwota wyliczona z ceny pozycji przemnożonej przez ilość sztuk jest nazywana wartością pozycji netto.
Wartość pozycji netto z dodanym należnym podatkiem jest nazywana wartością pozycji brutto.
Suma zamówienia lub pozycji na fakturze jest wartością netto lub brutto w zależności od kolumny.

Przykładowo mając zamówienie na następujące pozycje:

  1. Szklana kula - 5 szt. po 20,48 zł + 22% podatku
  2. Długopis - 1 szt po 5 zł + 5% podatku

 

Lp. Pozycja Cena netto Ilość Wartość netto Vat Wartość brutto
    25,48   107,40   130,18
1. Szklana kula 20,48 5 102,40 22% 124,93
2. Długopis 5,00 1 5,00 5% 5,25

 

Stawka podatkowa Wartość netto Stawka Wartość brutto
Razem 107,40   130,18
Podstawowa stawka podatkowa 102,40 22% 124,93
Obniżona stawka podatkowa 5,00 5% 5,25

 

Aktualizacja 4.03.2012:

Arek G. zwrócił mi uwagę na błąd merytoryczny w publikacji. Cyt.:

Ciekawa publikacja. Tyle, że w ordynacji podatkowej nie ma ani słowa o sposobie zaokrąglania kwot podatku. Określa to natomiast ROZPORZĄDZENIE MINISTRA FINANSÓW w sprawie zwrotu podatku niektórym podatnikom, wystawiania faktur, sposobu ich przechowywania oraz listy towarów i usług, do których nie mają zastosowania zwolnienia od podatku od towarów i usług.
Na szczęście internet wytrzyma wszystko, nawet pudelka...

Dziękuję Arkadiuszu za zwrócenie uwagii i pozdrawiam.