D365BC ジョブ仕掛計算の秘密


今回はD365BCのジョブ仕掛について余り知られていない便利な方法や隠し機能を説明します。ジョブの仕掛はそれなりに複雑で、正しく理解するには自分で色々と原価実績データを投入して仕掛計算を実行して仕掛結果のデータを確認する、という作業を繰り返すことになります。

普通にそれをやろうとすると、複数のジョブを作成し、それぞれのジョブの仕掛方式を異なる値にセットし、それぞれのジョブに同じような原価実績データを投入し、仕掛計算を実行すると思います。仕掛計算の際に転記日付を間違えたら、そのジョブを捨てて、新しいジョブを作り直すという経験をした方も多いでしょう。そして、ジョブ一覧はこんな感じで多くの実験用ジョブが出来上がります。

実はこんなにジョブを作らなくてもよいです、というのが今回のテーマです。
・原価実績データが同じであれば、一つのジョブで仕掛方式を変えて何度でも最初から仕掛計算を実行できます。(=仕掛方式を比較できます。)
・ジョブタスクラインと原価実績データをうまく作成すれば、一つのジョブで異なる仕掛方式を”同時に”仕掛計算できます。
では、そのための方法を 実際に 見ていきましょう。

事前準備
MS謹製標準DBであるCronusで説明することにします。ロールセンターはProject Managerにしておくのが便利です。

実験用のジョブを1つ作ります。ジョブタスクラインは2つ作りましょう。

ステータスはOpenにしておきます。Job Posting Groupはデフォルトで用意されている’Setting Up’を使います。WIP Method(仕掛計算方式)は取り敢えずCompleted Contractにしておきます。

テクニック1:ジョブタスクラインにWIP MethodとWIP Totalを追加する
パーソナライズ機能を使用してジョブタスクラインにWIP Method とWIP Totalを追加します。WIP Methodは一見するとジョブカード(ヘッダー)のみの項目だと思われていますが、実はジョブタスクラインでもWIP Methodを保持しています。WIP Totalについては後で説明します。

項目を追加してもジョブタスクラインのWIP Methodはブランクになっています。

WIP Totalの値を’Total’に変更するとWIP Methodの値を変更できます。

ちなみに、WIP Totalは初期値でブランクです。WIP Totalがブランクのまま、先にWIP Methodを変更しようとすると以下のようなエラーになります。なので、先にWIP Totalを変更する必要があります。

テクニック2:ジョブタスクラインのWIP Methodは異なる値を指定できる。
例えばこのように1つ目のジョブタスクラインは’Completed Contract’、2つ目のジョブタスクラインは’Cost Value’のように異なるWIP Methodを設定できます。初期値でWIP Methodはブランクでした。ブランクの場合はジョブカードのヘッダーレベルで定義した値(この場合は’Completed Contract’)が仕掛計算時に適用されます。ヘッダーと明細で異なる値を持てるのは分析項目に似ていますね。

複数のジョブタスクラインが異なるWIP Methodを持つとき、仕掛計算はどのように行われるでしょうか? それぞれのジョブタスクラインに実績原価を1,000と2,000転記して仕掛計算を実行してみましょう。

このようにWIP Cost(仕掛原価)には1,000と評価され、Recog. Cost(完成原価)には2,000と評価されます。このように、ジョブタスクごとに指定したWIP Methodに従って仕掛計算が実行されます。会計転記してみましょう。

左側(To Post)の数値が右側(Posted)にそのまま転送されます。

作成されたGeneral Ledger(会計元帳明細)を確認してみましょう。最新のG/L Register番号に紐づく General Ledgerは以下のようになっています。ジョブタスク1(Completed Contract)の実績原価はJOB WIP(仕掛)になり、ジョブタスク2(Cost Value)の実績原価はいったん JOB WIP(仕掛)になった後、すぐにJob Cost(完成原価)になっていることが分かります。2つのジョブタスクの実績原価金額を異なる値に設定しておくと判別しやすいです。

テクニック3:振り戻し機能をうまく使って仕掛計算を「リセット」する
冒頭に書いたように、実績原価データが同じシナリオであればジョブの仕掛方式(WIP Method)を変更して何度でも仕掛計算をやり直せます。そのためにはジョブの仕掛計算を「リセット」する必要があります。少なくとも、下の図のように仕掛計算結果の金額が表示されている状態では仕掛方法を変更して別の仕掛方式で計算することはできません。「リセットする」と言ってもG/Lに転記済の明細を取り消すことはできません。ですので、以下をもって「リセット」とします。
①相殺する仕訳が転記され、General Ledgerで仕掛関連の勘定科目が通算合計でゼロになる。
②ジョブカードでWIP and Recognitionのセクション(仕掛計算のセクション)の金額がすべてゼロになる。

まずはジョブカードで仕掛計算された最終の日付を確認します。この場合は2021年5月31日です。Post WIP to G/Lボタンをクリックします。

ここで「Reverse Only」をONにするのがポイントです。これにより、最後に転記された仕掛計算結果の会計仕訳の相殺仕訳が会計転記されます。「Reverssal Posting Date」は最後に仕掛計算が会計転記された転記日の翌日(このケースでは2021年6月1日)にします。 最後に仕掛計算が会計転記された転記日と同じ日(2021年5月31日)でも計算は可能ですが、後で会計仕訳を見るときに区別しやすくするために意図的に1日ずらしました。

G/Lに転記成功した後のジョブカードの画面です。Recog. Profit G/L Amoutだけが-2,000残っています。。これはうまい説明が見つかりません。が、これが残っていると邪魔なので、これからこれを消していきます。
あらためて「Calculate WIP」をクリックします。

ここで、プロジェクトが開始するよりも前の日付をPosting Dateに指定します。正確に言い換えると、このジョブがジョブ元帳に計上している実績原価明細のうち、最も過去の転記日日付よりも過去の日付を指定します。わかりやすく簡単に言い換えると、仕掛計算を実行しても何も計上されないような過去の日付を指定します。

仕掛計算結果がすべてゼロになりました。続けて仕掛を会計転記します。

Reversal Posting Dateは先ほどと同様の過去日付にします。今回は「Reverse Only」をOffにしておきます。これは重要なポイントです。

会計転記されました。Postedの金額がすべてゼロになっていることが分かると思います。これで②ジョブカードでWIP and Recognitionのセクション(仕掛計算のセクション)の金額がすべてゼロになる、が実現できました。

G/L Entries(会計元帳明細)を確認します。最後に仕掛計上した明細(G/L Register No.=916)と、いま振り戻しした明細 (G/L Register No.=917) の両方を確認します。

G/L Entriesのフィルタ条件でEntry No.を上手にセットすると 最後に仕掛計上した明細と、いま振り戻しした明細の両方を一度に確認できます。具体的にはこのケースではEntry Noのフィルタに「4499..」と指定しています。2021年5月31日の明細と2021年6月1日の明細が存在し、相殺していることが分かります。
これで「①相殺する仕訳が転記され、General Ledgerで仕掛関連の勘定科目が通算合計でゼロになる」が実現できたことが分かります。

ジョブ仕掛がリセットできたので、ジョブ仕掛方式を変更できます。

テクニック4:ジョブ仕掛をリセットすれば仕掛方式を変更して再度仕掛計算できる。
先のステップでジョブ仕掛が「リセット」できたので、ジョブ仕掛方式を変更できます。例えば下の例ではWIP MethodをPOC(Percent of Completion)に変更して仕掛計算しています。ジョブ元帳に改めて実績原価計上する必要はありません。すでに計上されています。それを使って別の仕掛方式を試せるのです。これは非常に便利です。いろいろ試してみてください。試した後、「リセット」の処理をすれば何度でも別の仕掛方式を試すことができます。

テクニック5:WIP Totalを設定して特定のジョブタスクだけ仕掛計算対象にする
上の方で、ジョブタスクラインのWIP Methodを変更する際にWIP Totalを「Total」にセットしないと変更できない、と書きました。このWIP-Totalは面白い機能を持っています。WIP-Totalの値を「Excluded」に設定すると仕掛計算の対象から除外することができます。例えば以下の図のようにジョブタスク1のWIP-Methodを’Excluded’に設定します。するとWIP Methodがブランククリアされます。(この仕様は少し不満です。WIP MethodをクリアせずにWIP-Totalを見て計算対象から除外するだけでよいのに、と思います。)
この状態でCalculate WIPボタンをクリックして仕掛計算を実行します。

すると、ジョブタスク2の原価だけが仕掛計上されました。

テクニック6:異なる仕掛方式を同時に調べる。
これまでに紹介したテクニックを応用した上級テクニックです。ジョブタスクラインを複数登録し、すべて異なるWIP Methodを指定します。そして下図のように異なる原価実績を投入しておきます。

そして仕掛計算を実行すると、どの仕掛方式がWIPに計上され、どの仕掛方式がRecog. Cost に計上されるかが分かります。

会計転記します。

会計仕訳を確認します。実績原価金額をうまく設定することでどの仕掛方式がどのような勘定に計上されているかが一目瞭然です。
仕掛方式ごとにジョブを分け、ジョブごとに実績原価を登録し、ジョブごとに仕掛計算を実行する必要なかったのです!

まあ、実際問題としては同時に計算するよりは仕掛方式別に計算したほうが分かりやすいのでそちらをお勧めします(笑)

これらのテクニックを使うことで、仕掛計算の調査やトラブルシュートが簡単にできるようになると思いますのでぜひ使ってみてください。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です