在庫評価計算伝票は、在庫の評価金額を計算するための伝票です。在庫評価の単位で、明細を作成し、評価金額を計算します。そして、計算した評価金額の単価をもとに品目原価を更新します。
在庫評価計算伝票概要
在庫評価計算伝票は、在庫の評価金額を計算するための伝票です。在庫評価の単位で、明細を作成し、評価金額を計算します。そして、計算した評価金額の単価をもとに品目原価を更新します。
Step1:在庫評価計算伝票明細の作成
在庫評価プロファイルに定義されている在庫評価計算伝票明細作成クラスを呼び出して、在庫評価計算伝票明細を作成します。次の”Step2:在庫評価計算”では、ここで作成した在庫評価計算伝票明細に対して、在庫評価の計算を行います。
Step2:在庫評価計算
“Step1:在庫評価計算伝票明細の作成”で作成した明細毎に、在庫の評価金額を計算します。その計算には、在庫評価プロファイルに定義されている在庫評価計算クラスが呼び出されます。
Step3:在庫評価金額をもとに品目原価を更新
“Step2:在庫評価計算”で計算した評価金額の単価をもとに品目原価を更新します。その処理には、在庫評価プロファイルに定義されている品目原価更新クラスが呼び出されます。
【カスタマイズポイント】在庫評価計算伝票
在庫評価計算伝票は、在庫評価伝票明細毎に、在庫評価額を算出し、品目の標準原価を更新するための伝票です。その処理のために、明細作成→在庫評価計算→品目原価の更新と3つのステップに分けて、それぞれにプロセスを自由に定義し呼び出す事ができいます。言い換えると、在庫評価計算伝票の本質は在庫評価プロファイルに定義されている3つのプロセスを自由に呼び出せるだけの伝票という事になります。
在庫評価計算伝票ウィンドウ
在庫評価計算伝票は、在庫評価伝票明細毎に在庫評価額を算出し、その評価金額をもとに品目の標準原価を更新するための伝票です。在庫評価プロファイルにより、在庫評価伝票明細の作成ロジックや、在庫評価額の計算ロジック、品目の標準原価を更新するロジックを自由にカスタマイズする事ができます。そして監査対応目的のために在庫評価額の算出根拠となる情報は、在庫評価計算ログに記録する事ができいます。在庫評価計算伝票は、在庫評価プロファイルと評価日付で一意になります。
在庫評価計算伝票タブ(JP_InvValCalテーブル)
◆伝票タイプ
在庫評価計算伝票の伝票タイプを選択します。在庫評価計算伝票のベース伝票タイプは”JPI”です。
◆評価日付
在庫評価を行う日付です。この評価日付の在庫数量に対して、在庫評価金額を計算します。
◆前回評価日付
前回在庫評価を行った日付を入力します。この値をどのように使用するかは、自由です。評価日付より以前の日付を入力する事ができます。
◆在庫評価プロファイル
在庫評価計算伝票の各処理を行う在庫評価プロファイルを選択します。
◆通貨
在庫評価プロファイルに設定されている通貨が自動入力されます。
◆明細作成ボタン
在庫評価プロファイルに設定されている在庫評価計算伝票明細作成クラスのプロセスが呼び出されます。
◆在庫評価計算ボタン
在庫評価プロファイルに設定されている在庫評価計算クラスのプロセスが呼び出されます。
◆品目原価更新ボタン
在庫評価プロファイルに設定されている品目原価更新クラスのプロセスが呼び出されます。
◆明細行合計
参考情報として、在庫評価計伝票明細の評価額(JP_InvValTotalAmt)の合計値を表示します。この値を更新するには、明細行合計更新ボタンを押します。
在庫評価計算伝票明細タブ(JP_InvValCalLineテーブル)
在庫評価計算伝票明細タブは、“在庫評価計算伝票明細の作成”プロセスで、在庫評価の計算単位となる明細を作成し、”在庫評価計算”プロセスで、その明細毎の在庫評価計算を行います。
【カスタマイズポイント】在庫評価計算伝票の明細情報
在庫評価計算伝票は、在庫評価伝票明細毎に、在庫評価額を算出し、品目の標準原価を更新するための伝票で、それぞれの処理を独自に実装したプロセスを呼び出して処理する事ができます。そのため、在庫評価計算伝票の明細情報にあるフィールドをどのように使用するかは、実装するプロセス次第です。在庫評価を計算する上で、必要な項目があれば追加し、拡張して活用する事を想定しています。
在庫評価計算ログタブ(JP_InvValCalLogテーブル)
在庫評価計ログタブでは、在庫評価計算伝票明細タブの計算根拠となったデータを監査目的のためにログとして記録しておく事を目的としています。
JPiereデフォルトの処理
JPiereデフォルトの明細行作成プロセス
在庫評価伝票明細作成ボタンを押すと呼び出されるデフォルトのクラスとしてJPiereでは、jpiere.base.plugin.org.adempiere.processパッケージにDefaultCreateInvValCalLineクラスを用意しています。このクラスでは在庫評価計算伝票の評価日付をキー情報として、組織在庫(JP_stockOrg)から、在庫数量を取得し、在庫評価計算伝票明細を作成します。在庫評価計算伝票明細の作成対象となる品目マスタは、品目タイプがアイテムで、”在庫管理するフラグ”がONの品目マスタです。
JPiereデフォルトの在庫評価計算プロセス
在庫評価計算ボタンを押すと呼び出されるデフォルトのクラスとしてJPiereでは、jpiere.base.plugin.org.adempiere.processパッケージにDefaultInventoryValuationCalculateクラスを用意しています。 DefaultInventoryValuationCalculateクラスは、在庫評価計算伝票明細に設定されている評価方法に従って、それぞれ下記のようなロジックで在庫評価金額を計算します。
◆先入れ先出し(FIFO)
評価日付から前回評価日付の期間の入荷伝票を取得して、評価日付に近い移動日付の順に照合されている、発注伝票の金額(発注金額)もしくは仕入請求伝票の金額(請求金額)で在庫評価して行きます。評価日付から前回評価日付の期間の入荷伝票の数量ですべての在庫の評価ができなかった場合、残りの部分は標準原価の“現在の原価”で評価します。
発注金額と請求金額のどちらで評価するかは、在庫評価プロフィールで設定する事ができます。
評価日付の時点でマイナス在庫数量の場合、マイナス在庫数量の絶対値分の、在庫評価を行い、1個当たりの正の評価金額を算出し、後でマイナス在庫数量を乗算する事で負の評価金額を算出します。
◆後入れ先出し(LIFO)
実装中
◆平均発注単価
実装中
◆平均請求単価
実装中
◆最終発注単価
実装中
◆最終請求単価
実装中
◆標準原価
実装中
JPiereデフォルトの品目原価更新プロセス
在庫評価計算ボタンを押すと呼び出されるデフォルトのクラスとしてJPiereでは、jpiere.base.plugin.org.adempiere.processパッケージにDefaultInvValCalUpdateCostクラスを用意しています。 在庫評価明細毎に計算されている評価額をもとに対応する標準原価を更新します。
カスタマイズ情報
追加テーブル
- JP_InvValCal
- JP_InvValCalLine
- JP_InvValCalLog
追加クラス
◆モデルクラス
- MInvValCal
- MInvValCalLine
- MInvValCalLog
◆プロセス
- 在庫評価計算伝票ワークフロープロセス(JP_InvValCal Process)
- 在庫評価計算伝票明細作成プロセス(JP_Create_InvValCalLine)…CallInvValCalLineClass
- 在庫評価計算プロセス(JP_Create_InvValCal)…CallInvValCalClass
- 品目原価更新プロセス(JP_Create_InvValUpdateCost)…CallInvValUpdateCostClass
- 明細行合計更新(JP_Sum_InvValCalLine)…InvValCalLineSum
- DefaultCreateInvValCalLine
- DefaultInventoryValuationCalculate
- DefaultInvValCalUpdateCost
その他
◆ベース伝票タイプの追加
リファレンス"C_DocType DocBaseType"にJPI(Inventory Valuation Calculate)を追加
◆リファレンスの追加
伝票タイプをベース伝票タイプ"JPI"で絞り込むためのリファレンス"JP DocType JPI"を追加
◆ワークフロー
在庫評価計算伝票ワークフロー(Process_JPiere_InvValCal)