【零售知識】商品庫存成本計算的幾種方式


首先,我們要對庫存帳有個概念
假設初始庫存數量為5,然后進了一批貨,數量為10,那么進貨后,庫存數量就變成15了;
假設初始庫存成本總金額為50,然后進了一批貨,進貨總成本為100,那么進貨后,庫存成本總金額就是150了;
也就是說,不論是庫存數量,還是庫存成本總額,都會滿足
期初±發生=期末

所以無論是以下那種計算方式,最終都必須滿足這個原則

I.計算方式概述

一、先進先出

此處要引入“批次庫存”的概念,使用此種方式時,零售商需要對每一批進貨單獨計算存量、單獨記錄成本,形成一張批次庫存記錄表,比如(以下均以一個商品在一個庫存管理地點為例)

批次號 批次入庫時間 批次進貨量 批次存量 批次進價
1 2021-08-01 10 6 5

此時庫存成本金額即為 批次1的存量*批次1的進價

假設此時又進了一批貨,則批次庫存記錄表變為

批次號 批次入庫時間 批次進貨量 批次存量 批次進價
1 2021-08-01 10 6 5
2 2021-08-02 15 15 6

這兩個批次合計的庫存存量為批次1的存量+批次2的存量,庫存成本金額即為 批次1的存量*批次1的進價+批次2的存量*批次2的進價

當一個商品在一個庫存管理地點上存在多個存貨批次時,出貨先出較早的批次,扣減對應批次的存量,假設上面這個例子售出2個,則批次庫存記錄表變為

批次號 批次入庫時間 批次進貨量 批次存量 批次進價
1 2021-08-01 10 4 5
2 2021-08-02 15 15 6

此時減少的庫存成本為 售出數量*批次1的進價

當較早批次存量不夠扣減時,按時間順序扣減下一個批次,比如在上面的基礎上再調出10個

批次號 批次入庫時間 批次進貨量 批次存量 批次進價
1 2021-08-01 10 0 5
2 2021-08-02 15 9 6

此時減少的庫存成本為 批次1減少的數量*批次1的進價+批次2減少的數量*批次2的進價

另外,由於有了這個批次庫存記錄表作為依據,因此也可以進行人工指定批次的出貨、高價先出、低價先出等方式,此時可以不遵從先進先出的原則。

二、加權平均

1.全月加權平均

加權平均法,又稱全月一次加權平均法,是指以本月全部進貨數量加月初存貨數量作為權數,去除當月全部進貨成本加本月初存貨成本,計算出存貨的加權單位成本,以此為基礎計算當月發出存貨的成本和期末存貨成本的一種方法。

  公式為:

  加權平均單價=(期初結存存貨實際成本+本期收入存貨實際成本)/(期初結存存貨數量+本期收入存貨數量)

  本期發出存貨實際成本=本期發出存貨數量*加權平均單價

這里描述的按“全月”,其實只是泛指,在很多公司的確是有按自然月作為期間來進行數據的統計,但是不排除還存在按半月、一周、甚至一天來進行統計的。

如果把這個統計時間放到每一次進貨時,則成了移動加權平均

2.移動加權平均

移動加權平均法。它是指在每次進貨以后,立即為存貨計算出新的平均單位成本,作為下次發貨計價基礎的一種方法。

  公式為:

  加權平均單價=(收入存貨前結存存貨實際成本+本期收入存貨實際成本)/(收入存貨前結存存貨數量+本期收入存貨數量)

  本期發出存貨實際成本=本期發出存貨數量*加權平均單價

移動加權平均的庫存管理只需要一張這樣的表格

存量 成本單價
5 4

庫存成本金額即為 存量*成本單價

一個商品在一個庫存管理機構只需要一條數據記錄庫存
假設進了一批貨,數量10,進價6,則存量變為5+10=15,成本單價變為(5*4+10*6)/(5+10)=5.3333
庫存表數據變化為

存量 成本單價
15 5.3333

假設售出2個,則庫存表數據變化為

存量 成本單價
13 5.3333

II、比較

先看下智庫一篇文章中的比較https://doc.mbalib.com/view/045ab9d0f6d91258ded36c013a3bc2a1.html

其中“對收發貨較頻繁的企業不適用”這條是沒有說明根據的,因此此條不能作為缺點,另外我再進行一些補充:

1.比較移動加權平均和全月加權平均兩種方式,可以發現,移動加權平均成本變化的及時性更高,全月加權平均的出貨價格按1個月算一次的話,一次進貨造成的價格變動最長可能滯后2個月才開始影響出貨成本。也就是說,全月加權平均不能及時准確的體現出貨成本,需要一個期間結束后才能進行統計,與之相關的一些指標,比如利潤額/率、周轉率等也是無法進行迅速地跟蹤的。

2.移動加權平均成本法,統計商品庫存成本更為高效,因為先進先出法依賴的批次庫存表,可能存在很多個批次,需要對每個批次的存量成本進行計算后再求和,而移動平均成本法的庫存表只有一條記錄。而且為了防止批次庫存表數據量一直增長,一般會考慮將已消耗完的批次歸檔,從此表中移除。並且在進行庫存扣減計算時,移動加權平均法可以快速找到對應的成本單價,而先進先出法要進行相對復雜的查找,甚至可能還要找到多個批次的成本價。

3.移動加權平均法由於在計算時使用了除法,會導致計算出來的平均成本出現小數的情況,大多數情況都是除不盡的,而且業務軟件系統中數值也有小數位數控制,所以只能四舍五入。幾乎每次計算都會有一點偏差,導致總進貨成本-總存貨成本<>總出貨成本,這部分需要定期進行處理,有兩種方式
A.當差異累計到某個值的時候(比如足以使小數點后最后一位數發生變化),重算平均成本,即
新成本單價=(存量*成本單價+差異額)/存量
這種方式有一定的滯后性,但工作量小
B.根據差異產生成本調整的單據,即把差異合理化

4.普通的移動加權平均成本是不考慮商品貨源的,只基於商品和庫存管理地點來進行管理,若出貨原因是退回給供應商,剛好庫存存量中有兩個供應商的貨,又剛好兩個供應商的供貨進價差異比較大,那么普通的移動加權平均成本作為退貨價是有可能發生爭議的。

5.所有庫存成本計算方式,目前都沒考慮存量為0時還能繼續出貨的情況。

所以下面開始對此進行分析

III.存量為0時出庫

這里我們先看下這種場景是怎么出現的,比如
供應商把貨發給零售商的賣場,賣場員工點完數后直接上架銷售,但還沒來得及或者是忘了在業務系統中做收貨確認,此時業務系統中的存量即為0。由於顧客此時可以拿到商品,以顧客為優先時,應該是可以將這筆商品售出的。

對於庫存存量為0仍要繼續出貨的,一般有兩種方式,強制記賬或等待記賬,
強制記賬即存量可以減成負數,即所謂的負庫存;
等待記賬則為掛起這筆交易,等存量增加了,再對存量進行扣減。

先進先出法的批次庫存管理,如果沒有任何一個有庫存的批次,直接出貨,則無法得到對應的出貨成本,所以大多數情況下不允許進行存量為0時的出貨。假設非要進行強制記賬,則只能定個規則,補全批次庫存表中的所有信息,比如供應商、批次進價。也可以把最后一個存量為0的批次減成負數,但對上面舉例的那個場景會造成影響,因為若之后再補入庫,無法對其進行沖正。

移動加權平均法的庫存管理,強制出貨是可以得到對應的出貨成本的,因為其庫存只有一條記錄,沒有選擇。

另外,在存量可能為負數時,如果完全按照移動加權平均成本的計算公式來計算,可能會出現一些異常

加權平均單價=(收入存貨前結存存貨實際成本+本期收入存貨實際成本)/(收入存貨前結存存貨數量+本期收入存貨數量)

舉個例子
初始數量為-5,成本單價為5,
然后進貨數量5,進價單價10
按照上面的公式,則新的成本單價為
((-5*5)+(5*10))/(-5+5)
=25/0
除數為0無法計算

再舉個例子
初始數量為-5,成本單價為10,
然后進貨數量為10,進價單價為4,
按公式,則新的成本單價為
((-5*10)+(10*4))/(-5+10)
=-10/5=-2
單價為負數也不合理

所以,需要有一些特殊的方式來進行處理,我們先找找現有市面上的業務軟件系統是怎么處理這個負數的情況的
在網上搜索 “移動加權平均成本”+“負數” ,可以看到 管家婆、用友等軟件均有此現象

而ORACLE公司的RMS(RETEK)軟件系統中,對此是有自帶的特殊處理的,在業務規則允許存量為負數的情況下,可以避免除數為0,也可以避免產生負數的成本單價。

我們先回到發生此問題的場景:
進了一批貨,未在業務軟件中執行收貨操作,直接實物上架且售出了,之后再在業務軟件中補收貨操作

如果這個場景要變成正常情況,那么應該是先收貨再售出
模擬一下數據的變化
期初

存量 成本單價 總成本
0 5 0

收貨5個,進價單價為10

存量 成本單價 總成本
5 10 50

售出 5個

存量 成本單價 總成本
0 10 0

按總成本金額的變化上看,期初為0,然后進貨50,再然后售出50,最后期末為0,此時成本單價為10。
假設我們調整售出和收貨的順序,如果能得到上面一樣的結果,則說明算法是正確的。
模擬先售出再收貨的情況
期初

存量 成本單價 總成本
0 5 0

售出 5個

存量 成本單價 總成本
-5 5 -25

收貨5個,進價單價為10

存量 成本單價 總成本
0 X 25

繼續看總成本金額的變化,期初為0,售出25,進貨50,最后期末為25,成本單價未知。和正常的結果是有差異的,那么就要想辦法讓數據符合上面的結果。
首先,存量為0,那么無論成本單價是多少,總成本必然為0,

存量 成本單價 總成本
0 X 0

然后,正常結果最后成本單價為10,那么我們也變成10

存量 成本單價 總成本
0 10 0

會發現 期初0-售出25+進貨50=25 <>期末0
仔細對比可以發現,兩種方式售出的總成本不一樣,前者售出50,而后者只售出25,那么我們將后者的售出成本再增加25后,即可得到和前面完全一致的結果,即
期初為0,然后進貨50,再然后售出25+25,最后期末為0,此時成本單價為10(注意此處增加售出成本時,數量不發生任何變化)

整理一下,可以得到幾個關於移動加權平均成本的規則
1.在存貨數量小於等於0時,增加存貨,新的成本單價應為此次增加存貨的單價;
2.在存貨數量小於等於0時,增加存貨,如果成本單價發生變化,則要產生對應的調整售出成本的數據。

本篇完。
想了解更多有關批次成本和移動加權平均成本的內容,另外可參考我另一篇文章
《零售商各業務單據對庫存的影響》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM