使用物料/仓库成本核算时,后进先出/先进先出堆栈功能如何发挥作用
在这些示例中,堆栈中的行将由数量和成本标识。事实上,每一行也都包含日期、成本细分和科目编号(物料、人工、固定间接成本、可变间接费和外协费用)。为便于说明,第一个示例中包括了科目,但是后续示例中将删除科目。
例如
仓库 MAIN 的在库量为 80,仓库 DIST 的在库量为 20。该示例为一项物料使用一个堆栈,带有五条单独分录。
数量 | 科目 | 成本 |
---|---|---|
20 | 1200 | $5.00 |
20 | 1200 | $7.00 |
20 | 1200 | $4.50 |
20 | 1300 | $6.50 |
20 | 1200 | $7.00 |
处理后,现在共有两个堆栈。
堆栈 #1:DIST
数量 | 科目 | 成本 |
---|---|---|
4 | 1200 | $5.00 |
4 | 1200 | $7.00 |
4 | 1200 | $4.50 |
4 | 1300 | $6.50 |
4 | 1200 | $7.00 |
堆栈 #2:MAIN
数量 | 科目 | 成本 |
---|---|---|
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% 匹配。物料的合计仍然与每项成本的分录数量相同。但是,它不影响存货的成本,并且不要求日记账分录。
舍入数量
程序将处理缺省仓库以外的全部仓库,保存最后值。在每个仓库的处理期间,数量将被舍入,导致每一个仓库都是完整数量。任何剩余数量都置入缺省仓库。有关分散数量的信息,请参见“处理分散数量”。
FIFO 物料舍入示例:
仓库 | 在库量 |
---|---|
MAIN | 70 |
DIST | 30 |
初始堆栈
数量 | 成本 |
---|---|
25 | $5.00 |
25 | $7.00 |
25 | $4.50 |
25 | $6.50 |
舍入为整数将导致以下分摊:
DIST 中一项堆栈
数量 | 成本 |
---|---|
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 堆栈,然后获得平衡。
先进先出指从顶到底处理,后进先出是从底到顶处理。在以上示例中,列表中的第一项为 DIST - 6、MAIN - 19,但是存货发放后,第一行将继续消耗。
维护全部仓库中的余量
如上例所示,跟踪仓库中已分配的数量非常重要。这可能指示第二次经过堆栈以重新分配任何剩余数量。
遍布全部仓库的示例:
仓库 | 在库量 |
---|---|
MAIN | 70 |
DIST | 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 堆栈。
现在,假设综合在库量的少许差异:
仓库 | 在库量 |
---|---|
MAIN | 69 |
DIST | 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。在该场景中,系统将采用第二次经过并查找未超出在库量的第一个仓库,添加足够数量以使各项物料分配怠尽或仓库超出其在库量。该过程将一直继续,直到原始堆栈中的全部剩余数量分配完毕。
分散数量
部分物料未以完整数量存储。因此,数量 3.35 也同样有效。如舍入部分中所述,完整数量在处理期间置入仓库。任何剩余数量都置入缺省仓库。
例如:
仓库 | 在库量 |
---|---|
MAIN | 70 |
DIST | 30.5 |
初始堆栈
数量 | 成本 |
---|---|
25 | $5.00 |
25.5 | $7.00 |
25 | $4.50 |
25 | $6.50 |
舍入到整数的结果:
仓库 | 数量 | 成本 |
---|---|---|
MAIN | 17 | $5.00 |
17.5 | $7.00 | |
17 | $4.50 | |
18.5 | $6.50 | |
DIST | 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 无处安放。
因此,根据多科目部分中的讨论,将在堆栈中进行第二次传递,剩余 0.5 进入 DIST。从而,使所有数量均正确添加。
负数量
用户很可能遇到需要处理负数量的情况。如果所有对象的在库量均为负值,以上示例仍然适用(只需要转换符号即可)。但是,部分带有混和场景的示例,仍需加以说明。混和场景将被定义为带有部分仓库负值和部分仓库正值的场景。
负数量示例
物料堆栈
数量 | 堆栈成本 |
---|---|
7 | $5.00 |
10 | $5.50 |
3 | $5.00 |
物料仓库金额
仓库 | 在库量 |
---|---|
MAIN | 3 |
DIST | 24 |
DIS1 | -7 |
因为物料的综合数量为正值,所以在堆栈中不存在负值分录。仓库百分比分配基于物料的净在库量 20。该堆栈将根据百分比再次细分为以下三个堆栈:
仓库 | 在库量 | 成本 |
---|---|---|
MAIN | 1 | $5.00 |
2 | $5.50 | |
0 | $5.00 | |
DIST | 8 | $5.00 |
12 | $5.50 | |
4 | $5.00 | |
DIS1 | -2 | %5.00 |
-4 | $5.50 | |
-1 | $5.00 |
全部剩余数量进入 MAIN,在此例中为负值。例如,假设中间分录为 $5.50。最初该行的数量为 10。其中两个分配给 DIS1,剩余 8 个。12 个分配给 DIST,剩余 -4。该剩余结果会进入 MAIN。