Skip to Content

Faktura kosztowa a wartość PZ w Odoo

W Odoo wartość magazynowa towaru zostaje zapisana w momencie przyjęcia zewnętrznego (PZ) — najczęściej po cenie z dokumentu zakupu. Kiedy jednak po przyjęciu pojawia się faktura, realna wartość zapasu może być inna niż to, co zapisał PZ.

Klasyczny przypadek: zamawiamy towar po cenie z cennika, magazyn przyjmuje, a faktura od dostawcy przychodzi z inną ceną — bo cennik się zmienił między ofertą a wysyłką, bo doliczono opłatę paliwową w cenie, bo dostawca skorygował kalkulację. Jedna faktura, jeden dostawca, żadnych dodatkowych dokumentów — a wycena magazynu po jej zatwierdzeniu już nie jest taka jak po samym PZ.

Pokazuję na przykładzie, co Odoo robi w tle.

Sytuacja
  • Kupujemy 10 szt TOWAR-B po 100 zł/szt → wartość zamówienia 1 000 zł.
  • Towar przyjeżdża zgodnie z ZZ, magazynier robi PZ na 10 szt.
  • Następnego dnia wpływa faktura: 10 szt po 110 zł/szt = 1 100 zł (dostawca podniósł cenę).
  • Metoda wyceny: FIFO, wycena automatyczna.

Zamówienie zakupu:

Przyjęcie towaru:

Wycena magazynu po zrealizowanym PZ (Magazyn -> Raportowanie -> Wycena):

Zarejestrowana i zaksięgowana faktura kosztowa:

Wycena magazynu = PZ + faktura kosztowa:

Po PZ

Wpis księgowy generowany przyjęciem:

Wn 330 Towary 1 000 / Ma 303 Rozliczenie zakupu 1 000

Warstwa wyceny w raporcie magazynowym: 10 szt × 100 zł = 1 000 zł. Koszt jednostkowy: 100 zł.

To stan przejściowy. Konto 303 ma saldo +1 000 — czeka na fakturę, która je zamknie.

Po fakturze

Wprowadzamy fakturę dostawcy na 10 × 110 zł = 1 100 zł. Zatwierdzamy. Odoo widzi, że:

  • na PZ było zaksięgowane 1 000 zł na konto 303,
  • na fakturze jest 1 100 zł,
  • towar nadal leży w magazynie, metoda FIFO + wycena automatyczna.

Robi więc trzy zapisy w jednym poleceniu:

Wn 303 Rozliczenie zakupu 1 000 (zamyka saldo z PZ)

Wn 330 Towary 100 (różnica ceny → wartość zapasu)

Ma 21 Zobowiązania 1 100 (zobowiązanie wobec dostawcy)

Co zmienia się w wycenie

Po zaksięgowaniu faktury w raporcie wyceny zapasów widać dwie warstwy powiązane z tym samym PZ:

WarstwaWartość
Pierwotna (z PZ)1 000 zł
Korekta z faktury100 zł
Razem1 100 zł

Koszt jednostkowy w FIFO wzrasta do 110 zł/szt — każda z 10 sztuk „wie", że jej rzeczywista cena nabycia to 110 zł, nie 100 zł. Gdy towar zostanie sprzedany, koszt własny sprzedaży będzie liczony od 110 zł.

Konto 303 ma saldo 0 — to potwierdzenie, że transakcja jest kompletna i spięta. Konto 330 ma 1 100 zł, czyli dokładnie tyle, ile fizycznie warto towaru na magazynie.

Dlaczego to działa „samo"

Mechanizm nie wymaga żadnego dodatkowego dokumentu (Landed Cost, korekty, ręcznej dekretacji). Odoo robi to automatycznie, pod warunkiem że:

  • kategoria produktu ma metodę wyceny FIFO,
  • wycena jest ustawiona na automatyczną (nie ręczną),
  • konta Stock Input / Stock Valuation / Price Difference są poprawnie wpisane w kategorii.

Jeśli choć jeden z tych warunków nie jest spełniony — np. wycena ręczna — różnica 100 zł trafi na konto różnic cenowych (kosztowe), zamiast podnieść wartość magazynu. W raporcie magazynu nadal będzie 1 000 zł, w księgowości będzie 100 zł kosztu „w powietrzu", a marża na sprzedaży tego towaru wyjdzie sztucznie wysoka.

Co jeśli towar już sprzedano

Załóżmy, że między PZ a fakturą sprzedaliśmy 4 sztuki po cenie wycenionej na 100 zł. Po zaksięgowaniu faktury z ceną 110 zł Odoo:

  • dopisze 60 zł (6 szt × 10 zł różnicy) do wyceny magazynu — bo 6 sztuk nadal jest na stanie,
  • pozostałe 40 zł (4 szt × 10 zł różnicy) zaksięguje na konto różnic cenowych po sprzedaży — bo tych sztuk już nie ma jak skorygować w warstwie FIFO.

Dlatego im wcześniej faktura wpływa po PZ, tym czystsza wycena — różnica ląduje w całości w magazynie, nie w kosztach.


Historia sprzedaży