品目/倉庫原価設定を使用時の LIFO/FIFO スタックの機能

品目/倉庫レベルで原価を追跡することを選択した場合は、Lifo/Fifo スタックが品目倉庫の数量に基づいて、比例的に分割されます。各既存スタックは、手持在庫数のある各品目倉庫の新しいスタックで置換されます。このトピックで例を示します。

これらの例では、スタック内の行が数量と原価で識別されます。実際には、各行には、日付と原価明細および勘定科目(材料費、労務費、固定間接費、変動間接費、外注費)も含まれます。勘定は、最初の例には含まれていますが、以降の例からは削除されています。

倉庫 MAIN は 80 の手持在庫を含み、倉庫 DIST は 20 の手持在庫を含みます。この例では、所定の品目に対して、5 つの別個のエントリを含む 1 つのスタックを使用しています。

数量 勘定 原価
20 1200 $5.00
20 1200 $7.00
20 1200 $4.50
20 1300 $6.50
20 1200 $7.00

処理後は、2 つのスタックができます。

スタック #1:配賦

数量 勘定 原価
4 1200 $5.00
4 1200 $7.00
4 1200 $4.50
4 1300 $6.50
4 1200 $7.00

スタック #2:メイン

数量 勘定 原価
16 1200 $5.00
16 1200 $7.00
16 1200 $4.50
16 1300 $6.50
16 1200 $7.00

DIST には在庫の 20% があったので、DIST のスタックは、各行の 20% を受け取りました。MAIN は、その手持正味数の 80% と一致する残りの数量を受け取りました。品目の合計は、引き続き原価ごとに同じ数のエントリを含んでいます。したがって、在庫の原価には影響はなく、仕訳記帳の必要はありません。

注:  これにより生じる問題:顧客が勘定科目を使用して、倉庫を区別した場合上記の例では、MAIN に勘定科目 1200、DIST に勘定角も 1300 を使用しても、スタックが予期されたものと異なるか場合がありますが、最終的には全て勘定科目別にバランスが取れます。

数のまるめ

プログラムは、デフォルト倉庫以外の全ての倉庫を処理し、デフォルト倉庫は最後の切り札にします。数量は各倉庫の処理時にまるめられ、各倉庫には整数が割り当てられます。残りは、デフォルト倉庫に入れられます。分数については、「分数の処理方法」 を参照してください。

FIFO 品目のまるめの例:

倉庫 手持在庫数
メイン 70
配賦 30

初期スタック

数量 原価
25 $5.00
25 $7.00
25 $4.50
25 $6.50

整数にまるめると、次の配分になります。

DIST 用の 1 スタック

数量 原価
8 $5.00
8 $7.00
8 $4.50
6 $6.50

MAIN 用の別のスタック

数量 原価
17 $5.00
17 $7.00
17 $4.50
19 $6.50

DIST は、在庫全体の 30% を含むので、各スタック行の 30% を取得します。25 の 30% は 7.5 であり、8 にまるめられます。残り (17) は MAIN に配分されます。この例では、DIST が上限 30 に達するので、最後の行は 6 しか含みません。これは、他の行のまるめのためです。残りは MAIN に配分され、全てが調整されます。

FIFO は上から下の順序で処理され、LIFO は下から上の順序で処理されます。上の例では、DIST の 6 と MAIN の 19 がリストの先頭になるので、出庫時に使用される最初の行になります。

全ての倉庫間のバランスの保持

上の例が示すように、倉庫の割り当て数量の追跡は重要です。これによって、残り数量を再割り当てするために、スタックの 2 つ目のパススルーが必要となることがあります。

全ての倉庫間での例:

倉庫 手持在庫数
メイン 70
配賦 25
DIS1 5

処理後:

元のスタック数量 スタック原価 DIS1 数量 DIST 数量 MAIN 数量
7 $5.00 0 2 5
1 $7.00 0 0 1
10 $5.50 1 3 6
72 $6.00 4 18 50
3 $5.00 0 1 2
2 $7.50 0 1 1
5 $7.00 0 0 5

最後の行では、通常、DIST 倉庫の数量は 1 になりますが、そうなると、DIST の合計を超過してしまうので、残りの 5 が MAIN に配分されます。

注:  スタック行の数量がゼロになると、レコードは作成されません。数量ゼロのスタック行を保持する意味はありません。

次に、手持在庫数の配分が若干異なる場合を検討します。

倉庫 手持在庫数
メイン 69
配賦 25
DIS1 6

最後のスタック行の引当は若干異なります。

処理後:

元のスタック数量 スタック原価 DIS1 数量 DIST 数量 MAIN 数量
7 $5.00 0 2 5
1 $7.00 0 0 1
10 $5.50 1 3 6
72 $6.00 4 18 50
3 $5.00 0 1 2
2 $7.50 0 1 1
5 $7.00 1 0 4

DIST は、数量 1 を取ることができず、今回 MAIN は 4 しか取れません。このシナリオでは、システムは 2 つ目のパススルーを行い、手持在庫数を超過していない最初の倉庫を見つけ、全ての数量が割り当てられるか、その倉庫がその手持数を超過するまで、あるだけの数量を追加します。この処理は、元のスタックからの残り数量全てを割り当てるまで続きます。

分数

一部の品目の在庫数は、整数ではありません。したがって、3.35 という数は有効でありえます。上記のまるめのセクションで説明したように、処理時には、数量は、整数で倉庫に配分されます。最後に、残りがデフォルト倉庫に配分されます。

例:

倉庫 手持在庫数
メイン 70
配賦 30.5

初期スタック

数量 原価
25 $5.00
25.5 $7.00
25 $4.50
25 $6.50

整数にまるめた結果は以下の通りです。

倉庫 数量 原価
メイン 17 $5.00
17.5 $7.00
17 $4.50
18.5 $6.50
配賦 8 $5.00
8 $7.00
8 $4.50
6.5 $6.50

最初は、整数だけが DIST に配分され、残りが MAIN に配分されます。$6.50 の最後の値を処理するときは、まず、6 だけが DIST に配分され、残りが 19 になります。ただし、MAIN には 18,5 にしか空きがないので、余分な 0.5 が残されます。

したがって、複数勘定に関するセクションで説明したように、スタックで 2 つ目のパススルーが行われ、残った 0.5 は DIST に配分されます。その結果、全てが正しく合計されます。

負の数

負の数を処理することが必要な場合があります。手持在庫が全て負の場合は、上記の例でこの状況がカバーされます(符号だけが反対になります)。ただし、混合シナリオを含む例を少し説明する必要があります。混合シナリオとは、正の数量を含む倉庫と負の数量を含む倉庫があるシナリオです。

負の数の例

注:  この処理では、-7.5 を -8 にするように負の数をまるめます。

品目スタック

数量 スタック原価
7 $5.00
10 $5.50
3 $5.00

品目倉庫数量

倉庫 手持在庫数
メイン 3
配賦 24
DIS1 -7

品目の全体の数量は正なので、スタック内に負のエントリはありません。倉庫の比率割当は、20 の品目の正味手持数量に基づいています。スタックは、ここでも、比率に基づいて 3 つのスタックに分割されます。

倉庫 手持在庫数 原価
メイン 1 $5.00
2 $5.50
0 $5.00
配賦 8 $5.00
12 $5.50
4 $5.00
DIS1 -2 5.00%
-4 $5.50
-1 $5.00

残りは全て MAIN に入ります(この場合は負)。たとえば、$5.50 の中間エントリについて検討します。当初、この行には 10 が含まれていました。2 は DIS1 に割り当てられ、8 が残りました。12 が DIST に割り当てられ、-4 が残りました。その残余結果が MAIN に割り当てられます。

注: 混合シナリオでも、各スタックは全て正または全て負のどちらかの値を含む必要があります。SyteLine が正と負の両方の値を含む単一スタックを作成することは絶対にありません。