Axapta的VOI实现模式
VOI,Vendor Owned Inventory,对供应商而言就是物料的寄售管理。其基本实现形式为:供应商按照一定的计划组织备货,并把物料补充到企业可直接取用的仓库中。此时,对应物料的所有权仍然属于原供应商,还不算是企业的资产。但企业可根据自己的需求随时领用,并在领用出库时实现物权转移。最后,企业按约定的结算期限与供应商按实际领用量进行结算。
Axapta系统不直接提供对VOI的管理功能,本文根据实际项目运做,在系统中总结的操作模式为:
l 对VOI供应商,签定长期供货合同,并定期下达采购计划
系统中以Blanket Order的形式表示,Order中记录采购的物料、单价、数量等主信息;
l 增加VOI Hub仓
增加对应VOI管理的Hub仓库定义,进行VOI管理的实际物料都存放在该仓库;
l 设置VOI物料的相关属性,包括Model Group、Dimension Group;
其中的关键属性在于不需要再设置检验管理,检验过程由手工完成。
l 设置VOI补货类、领用类、退回类的Journal Name,Journal Type为Movement,在Journal Name中增加属性:VOI补货/退货,VOI领用、VOI领用退回;对VOI补货类型的入库,系统要控制不能输入成本;
l 供应商根据Blanket Order送货,仓库接收入库
系统逻辑:Blanket Order不能执行关于收货、入库、开票的任何操作。这样,当实际货物到达时,库管人员直接做Move In(Movement Journal)操作,成本录入为0、批号设置为Blanket Order号 + “,” + 供应商来料批次的形式。
l 系统根据Blanket Order和结算期间,定期(如每月)生成一张对应该Blanket Order的执行PO;也可一张Blanket Order只对一张执行PO;
l 物料从VOI仓库出库时,自动往关联的PO中更新相关记录,具体规则为:
2 物料在VOI仓库做Move Out,如果Journal Name的VOI 领用属性为Yes,则过帐时对各Move Out的明细行进行解析,取出明细行的Batch No,并按规则截取前面的PO号;如果取不到,则报错,不能执行后续的过帐操作;实施要求用户不能随意更改物料的批号格式;
2 根据截取的PO号,以下称呼为PO1,在PO表中找到Blanket Order为该PO号的,状态为Open Order或Received的,而且包括该物料的顺序最大的PO号,定义为PO2;如果找不到,系统报错,Move Out不能继续过帐;(这就要求用户在Move Out之后马上就要去过帐更新后的PO,不能连续的Move Out);
2 执行Move Out的过帐。程序中需要设置是否VOI过帐的标志;
2 如果Move Out过帐成功,而且根据程序标志确定是VOI过帐,对之前找到的PO2,找到该物料在PO2中最大Lot ID号,然后按Move Out的反向数量更新订单的:数量(quantity,累加)、现在接收数量(Receive Now,累加),把完整批号设置到当前PO行的批号维中;
2 用户对该更新的PO行做入库操作,过帐Packing Slip;
2 生产部以领料单,从PO的入库仓库领料出库,该操作完成;
2 每次PO2行更新后,会自动反写PO1的入库数量,直到最后关闭;
l 如果已经领用的物料做退回操作时,除了正常执行PO的退货操作外,还要对VOI仓库做VOI退回类的Move In操作,并且系统要自动对执行PO的订单数量要做回冲处理;
由上也可见,在不对系统做较大调整的情况下,VOI在ERP系统中设置的基本依据是物料按维记价核算。由此,实际运用中也可据此做相关调整。
当然,实际运用中,这个模式可根据实际情况做简化,如不做Blanket Order,仅做执行PO,采购计划不做在系统里或单独建立。之所以一定要用PO模式,是为了保证系统的实际商流、信息流和资金流结算的一致性。
关于VOI的综合论述,以及VOI与VMI的理论差异,大家可参考笔者的Blog:VMI&VOI信息系统模型设置与分析。
联系客服