売上原価計算における移動平均法とは、(倉庫)商品別に、仕入の都度、仕入金額と仕入数量から平均単価を算出し、売上時の原価単価とする方法である。
ということは、日付・時刻順に計算していったらその時点の売上入力時に正しく売上原単価が計算され、売上原単価×売上数量で売上原価金額が計算される。
しかし、販売管理システムを導入したての頃等に、納品書作成は急ぐので先行して売上入力をし、仕入入力や開始残高は後から追っかけて入力する場合も少なくない。
売上原価計算法を標準原価にしている時は、商品登録で設定した標準単価で原価計算するからよいが、移動平均法や最終仕入法で計算している時は正しい売上原価がセットされず、売上分析表でみると粗利がおかしくなる。
【具体例】
①→②→③→④の順に入力した場合。
数量 売上 原価金額 正しい原価金額
④開始残高_______10_________0___1,000___________________
①10/ 1売上______ 5_____1,500______0______→_____500
③10/ 2仕入______15_____1,800______0____________________
②10/ 3売上______10_____3,000______0______→___1,150
④→①→③→②の順に入力していたら①の原価金額は(1,000/10)×5=500
②の原価単価は(1,000-500+1,800)/(10-5+15)=115、原価金額は115×10=1,150となる。
開始残高登録や仕入入力が追いついた時点で、過去の売上入力を修正で呼び出したら自動的に売上原価計算されますが、すでに何百枚も売上入力済なら大変な手間である。
そこで、販売管理システム「ふくろう販売」では、システム管理メニュの中に「移動平均原価再計算」プログラムを組み込み、上記の①~④の順に売上原価を一括で洗替え計算するようにした。
下記をクリックするとサンプル画面に切り替わる。
鋼材業向け販売管理パッケージ「ふくろう販売」の移動平均原価再計算は、このようになる。
VB.netで開発した販売管理パッケージ「ふくろう販売ver2」の移動平均原価再計算は、このようになる。
システム化したので、今回のような導入初期だけでなく棚卸時にも利用できる。
3/末決算で棚卸作業をその日にしたが、月初忙しく棚卸入力が4/10になってしまったというような場合。
4/1~4/10の売上入力の売上原価は棚卸数量・金額が反映されない原価計算となってしまう。
導入時のように大きく狂わないが、棚卸入力が完了した時点で移動平均原価再計算をしたら正しく売上原価計算される。
都度移動平均原価計算と一括移動平均原価計算の違いは、同一商品が同一日に売上及び仕入計上された場合に若干の差異が生じる。
例えば前日の在庫数量=10個、在庫金額=1,000円で、翌日の10時に5個売上、13時に8個1,450円で仕入、15時に7個売上の場合、
前者は10時売上時の売上原価は、1,000円÷10個×5個=500円、15時売上時の売上原価は、(1,000円-500円+1,450円)÷(10個-5個+8個)×7個=1,050円となる。
しかし後者は一旦前日の移動平均原単価(1,000円÷10個=100円)を翌日の10時と15時の売上原価計算に使用するので、それぞれ100円×5個=500円、100円×7個=700円となる。
15時の売上の原価が、1,050円-700円=350円少なくなるが、翌翌日以降の売上原価計算にしわ寄せされるので、大勢に影響はない。
売上入力時の売上原価計算は、巧緻よりも拙速を優先させるものだからである。