プロジェクト別原価計算の仕組み 10


1.プロジェクト別原価計算の実施要件

プロジェクト(以下、「Prj」と表記)別原価計算では、Prj別に発生原価を集計し、仕掛品原価や売上原価を計算します
この原価計算を行うためには、当該組織に会計リテラシー(会計情報を扱う能力)が要求されます
具体的には、原価と費用を適切に区分できること、発生した原価をPrjまたは部門に紐付けできること、部門原価を各Prjに配賦する基準を策定できること、配賦基準値を正確に収集できること、これら基礎情報を報告する仕組みが整備されていること・・・が要求されます
ここでは、会計リテラシーがあるものとして、「展開一番」でPrj別原価計算(以下、「原価計算」という)を行う手順を説明します


2.原価計算に必要な仕訳を作成する

仕訳にPrjCodeを入力できるように、仕訳定義ファイルに必要なタグを設定します(二科目仕訳であれば "J_DP"と"J_CP"、 一科目仕訳であれば "J_XP")
原価が発生しそれを仕訳で記録するときは、上記のPrj欄にPrjCodeか部門Codeを入力します

当該経費が〔外注費など〕そのPrjに直課できるのであればPrjCodeを、〔Prjを所管する部門の諸経費など〕部門経費を一定の基準で各Prjに配賦するのであれば部門Codeを入力します
部門Codeの設定は、原価計算の精度に直結するため、慎重に考慮する必要があります、原価計算の仕組みをよく理解してから決定して下さい、なお、PrjCodeと部門Codeはユニークであること(同一のCodeは使用でない)が要件となっています
因みに、この問題は、それぞれのCodeの桁数を異なるものにすれば解決します
仕訳が準備できたら原価計算期間(通常1か月分)の仕訳を抽出します、「展開一番」の「Sel9MkF1XJ2WXJ_Con」スクリプトで「WXJ_hhhh」ファイルが作成できれば準備は終了します、以降の作業は「t1_costing」ライブラリが引き受けます


3.アクセプトファイルを作成する

仕訳抽出ファイル(WXJ_hhhh)から原価計算に必要なデータを取得します、このファイルをアクセプトファイル(CstApt_hhhh)と呼びます
アクセプトファイル作成のスクリプトは「C_SelWXJ_MkFApt」です
このスクリプトにより、PrjCode欄のCode(数字)がゼロ以外の値を持つ仕訳が選択され、以下の五要素からなるレコードが作成されます
・PrjCodeまたは部門Code
・会計日
・伝票番号
・科目
・金額
上記金額欄は、借方を基準にするので、貸方科目にPrjCodeが設定されている場合は、マイナス金額がセットされます
「原価計算ライブラリ」Ver.3.07から、アクセプトファイル作成の基礎となる仕訳は税抜仕訳としました−従来は、アクセプトファイル作成時に当該仕訳金額を税抜金額にする機能がありましたが、会計処理の一貫性を担保するため、税抜処理は原価計算開始前に行っておくこととしました−したがって、「展開一番」で税抜仕訳の作成を済ませてから「C_SelWXJ_MkFApt」スクリプトを実行しアクセプトファイルを作成して下さい


4.アクセプトファイルのデータをCode別に纏める

アクセプトファイルのデータをCode別に集計したファイルを作成します
「C_SumApt_MkFAptPD」スクリプトは、PrjCode・部門Code別にデータを集計し、「C_SumApt_MkFAptAC」スクリプトは科目別にデータを集計します
作成されるデータファイルは前者が「CstAptPD_hhhh」、後者が「CstAptAC_hhhh」となります
前者のデータは以降の原価計算で利用します、後者のデータは「展開一番」に記録する仕訳の基礎データとなります
後者のデータから、どのような仕訳を切るかはユーザの判断によります、例えば・・・
(Dr.)仕掛品 (Cr.)外注費・・・(以下原価科目が続く)、の仕訳を入力します
なお、上記の仕訳を(展開一番に)入力すると、試算表では原価科目の残高がゼロと表示されるため、原価科目の最後に「仕掛品振替見返勘定」を設けて、(Dr.)仕掛品 (Cr.)仕掛品振替見返 と入力する方法もあります


5.Prj直課原価ファイル、部門原価ファイルを作成する

Code別に纏められた原価を、Prj直課原価と部門配賦原価に区分しそれぞれのファイルを作成します
「C_RefAptPD_MkFCstPreX」スクリプトを実行すると、「CstAptPD_hhhh」ファイルから、Prj直課原価ファイル「CstPrjPre_hhhh」と部門原価ファイル「CstDivPre_hhhh」が作成できます
この区分は、Prjファイル(「CstPrj_hhhh」)と部門マスタ(「CstDiv_hhhh」)に登録されているCodeを基準にして行われます、したがって、PrjCodeと部門Codeはユニークである必要があります(前述)


6.Prj直課原価をPrjに直課する

「CstPrjPre_hhhh」ファイルは、PrjCodeと金額からなるレコードで構成されています
例えば、「CstPrjPre_hhhh」ファイルが、「19480509,1000000」「20150101,150000」・・・のとき
「C_RefPrjPre_SetPrj」スクリプトを実行すると、PrjファイルのPrjにそのレコードが持つ原価の額が転記(転記する場所に金額がセットされていれば加算)されます、上記の例では、Prj番号19480509のPrjに百万円が、Prj番号20150101のPrjに15万円が加算されます
Prjファイルのレコードは、PrjCode、Prj名称・・・のほか幾つかの金額フィールドを持っています、そのどこに転記するのかはユーザがパラメタで指定します(例えば、「C_RefPrjPre_SetPrj("Q1")」)
詳しくは、「マスタファイルの作成20」を参照して下さい


7.部門原価をPrjに配賦する

「CstDivPre_hhhh」ファイルは、部門Codeと金額からなるレコードで構成されています
この金額(以下「部門費」という)は、当該部門で発生した原価の合計です
部門費は、当該部門が所管するPrjに対して、一定の基準で配賦します
例えば、開発1課〔部門Code100〕はPrjA(PrjCode10、以下同じ),B(20),C(30)を開発していて、部門費(当該部門で発生した人件費・賃借料・光熱費・減価償却費など)の合計額が12百万円であったとします
この部門費を配賦基準を直接作業時間として各Prjに配賦します、PrjA,B,Cの作業時間がそれぞれ、600,800,400時間とすると、PrjAには 12*600/(600+800+400)=4百万円が配賦されることになります
「C_RefDivPre_SetPrj」スクリプトを実行すると、PrjファイルのPrjに計算された配賦額が転記(転記する場所に金額がセットされていれば加算)されます
この計算のために、部門別配賦基準「CstAlc_DivCode_hhhh」ファイルを作成し、PrjCodeと配賦基準額を記載します
上記の例では、ファイル名が「CstAlc_100_hhhh」で、「10,600」「20,800」「300,400」の3レコードが記載されます
原価計算で使用する部門Codeは、「展開一番」の部門(「J_DD」「J_CD」「J_XD」)とは別のものとして定義しているので、例えば、特定の費目だけを集計する部門(例えば、家賃部門)を設定し、そこに特定のPrjと配賦基準(例えば、全て「1」を設定して同額を負担させる)を設定することもできます
転記場所の指定は、直課原価と同じ扱いになります
配賦計算での円未満の処理など、詳しいことは「マスタファイルの作成」を参照して下さい

(追加情報)
「原価計算ライブラリ」Ver.8.09 において、同一のプロジェクトを複数の部門に登録することが可能になりました
例えば、部門Aがシステム開発を担当し、部門Bがテストデータを準備し、それらを一体とした原価管理を行うプロジェクトがあるとき、部門Aと部門Bに同一のプロジェクトCodeをセットし、それぞれの配賦基準額を設定すれば、スクリプト「C_RefDivPre_SetPrj("M3")」を実行して、部門費配賦額の合計額を、プロジェクトファイルの当該プロジェクトの「M3」列にセットすることができるようになりました


8.終了処理
Prjが完了したら、Prjファイルの当該PrjのStatusFlag(以下「SF」)を「8」にセットします(この作業はユーザが行ないます)
「C_OpePrj_8Fin」スクリプトを実行すると、SFが「8」のPrjのデータを集計リストファイル(Z_List_hhhh)に出力します、このスクリプトは、完成プロジェクト原価を計算させることができるので、これを「展開一番」に入力します(Dr.売上原価 /Cr.仕掛品 )
なお、上記の完成プロジェクト原価は、ユーザがパラメタで金額欄の範囲を指定しなければなりません
例えば、Prjファイルの金額欄「M0」から「M12」の合計が完成プロジェクトの原価総額であれば、
「C_OpePrj_8Fin("M0","M12")」とします、売上原価を構成する原価がPrjファイルのどの金額欄にセットされているかを把握している必要があります
帳票ファイルへの出力が済むとスクリプトは、SFの「8」を「9」に書き換えます
「C_OpePrj_9Del」スクリプトを実行すると、SF「9」のPrjがPrjマスタから削除され、残ったPrjのSFに「1」がセットされます
「C_OpePrj_1CF」スクリプトを実行すると、SFが「1」の全てのPrjについて、範囲指定した金額欄の合計を計算し、その値を「M0」にセットし、当該範囲の金額欄にゼロをセットします
仕掛品の繰越残高を構成する原価以外の原価が、範囲指定した金額欄にセットされていないか注意する必要があります
【重要】Prjファイルの金額欄のコントロールはユーザに委ねられています





Last Update 2018/05/31