库存ABC分类,简单的说就是抓大放小,是为了让我们抓住重点,用最大精力来管理最重要的物料,而对于不太重要的物料则可以用较少的精力进行管理。它和我们平常说的八二法则有异曲同工之妙。
既然要应用库存ABC方法,那么我们首先要决定,哪些物料是最重要的A类,哪些物料是一般重要的B类,哪些物料是最不重要的C类。
最简单的办法自然就是在物料主表中直接把ABC填上去,然后在日常业务中,我们随时都可以看到这是哪一类物料,从而决定了我们对其采取的管理方式(最重要的一个不能差,最不重要的,差一点半点可以容忍)。为了从不同的角度考察物料的重要性,AX提供了4种方法,分别是:
1)价值 value:基于当前库存On hand
2)毛利 margin :基于指定时段内的库存交易
3)收入 revenue:基于指定时段内的库存交易
4)运营成本 carrying cost:基于指定时段内的库存交易和所设置的内部利息
除了手工填ABC的分类外,我们还可以使用AX提供的库存ABC计算工具,让我们从上述4个角度分别计算相应的ABC分类是多少,在计算之前,我们可以指定ABC在上述4种方式中所占的比例各是多少。
我们可以先使用报表>ABC分类来模拟ABC分类,检查确认可行后,再定期运行定期事项>ABC分类的批处理,让系统自动更新物料表中的ABC设置。
AX中四种库存ABC分析法原理研究
AX中四种库存ABC分析法原理研究
系统对于每个物料位于何种分类的计算方法是:
首先根据金额大小倒排,从最大的物料开始;
其次计算到目前为止的累计金额占总金额的百分比X,注意,每个物料都要取上一笔的分类比例(如果是第一笔,那么本次计算比例为0),与ABC分类比例相比;
如果X<A,则该物料即为A类;
如果A<X<A+B;则该物料为B类;
如果X>A+B,则该物料为C类
物料 每种物料的原始价值比例 累计百分比X A A+B 结论
2006 0.423728814 0 0.3 0.66 A
2014 0.224576271 0.423728814 0.3 0.66 B
2013 0.224576271 0.648305085 0.3 0.66 B
1011 0.084745763 0.872881356 0.3 0.66 C
1005 0.042372881 0.957627119 0.3 0.66 C
下面我们来看一下,系统到底是如何根据这4种方法取出金额的,为了便于说明,截取部分代码显示如下:
1)价值(财务成本)
这是最广为人知的一种方法。我们可以看到,系统计算的是财务成本。
Class:InventABC_InventValue
void sumUpValue(){
InventTable inventTable;
Amount amount;
...
amount= this.calcItem(inventTable);
this.saveAmount(inventTable,amount);
...
}
=>Class :inventSumFinancialItem
protected void setValueQty(){
...
value = inventSum.postedValue;
...
value -= inventTrans.costAmountPosted;
...
value -= inventSettlement.costAmountAdjustment;
}
2)毛利=发票不含税金额-本笔交易成本
Class:InventABC_ContributionMargin
void sumUpValue(){
CustTransStatistics transStatistics;
...
this.saveAmount(inventTable,transStatistics.contributionMarginMST());
...
}
=>Table:CustInvoiceTrans
display SalesContributionMarginMST contributionMarginMST(){
return this.lineAmountMST - (-this.inventCostAmount());
}
3)收入=发票金额
Class:InventABC_Revenue
void sumUpValue(){
CustTransStatistics transStatistics;
...
this.saveAmount(inventTable,transStatistics.lineAmountMST());
...
}
=>Class:CustVendTransStatistics,方法lineAmountMST()
=>Table:CustInvoiceTrans,字段lineAmountMST
4)运营成本=库存成本+内部利息(在计算前设置,按一年365天计算)
InventABC_CarrCost
void sumUpValue(){
...
amount= this.calcItem(inventTable);
this.saveAmount(inventTable,amount)
...
}
Amount calcItem(InventTable inventTable){
...
costValue += this.calcInterest(inventValue,lastDate,toDate);
...}
http://blog.sina.com.cn/s/blog_4a91917e010006yu.html