作者 :赵常记 周清湘 周学全 2003-8-12 一、背景
根据我们多年来的参观和了解,国外ERP好像都没有仓库收发存报告或财务收发存报告这个说法,但在中国几乎所有的财务人员每月化费大量时间,一定要出的一个报告就是收发存报告,当我们已经购买并实施了国外ERP后,由于中国财务人员已习惯使用其作为每月的物资流动统计分析报表,他们仍然要求系统必须能够提供完美的收发存报告,为此从国外ERP中国代理商到各级使用者,都在原ERP的基础上探索和开发适合中国财务人员使用财务收发存报表,但推广和使用情况一直不是很理想。
从理论上分析,财务收发存是一个极其简单的计算,就是记录一个公司每月月初的库存数量金额、当月出入库数量金额及月底结存的数量金额。而国外ERP系统对每一比材料的收发都有详细的记录,做个简单的累加不就行了,其实并不这么简单,究其原因:即有算法的差别、软件的局限也有操作不当的问题及网络故障等问题。但值得高兴的是,经过两年多的摸索,我们已经找到了一个成功的解决方案,目前已经在多个子公司使用并得到验证和认可,下面就以ERP财务收发存其问题分析和解决方法等方面进行详细的说明。二、问题分析
1.财务人员使用ERP收发存的基本要求
●系统报表本身每类每月月初金额必须等于上月月末金额;●如果存在计算差异,特别是退货等,需提供差异报表;2.原财务手工收发存与ERP软件财务收发存记账方式的区别
其它说明:软件的成本计算方式有FIFO、LIFO、指定的、标准的、移动平均等,我们在此仅讨论在使用移动平均算法时的情况。
3.在国外ERP软件中开发收发存的局限性
●SYMIX数据库不记录物料某历史时刻的库存数量和金额;●SYMIX收发记录与基础物料的紧密相关性;4.即时移动加权平均法在ERP中的基本计算规则
●在“采购入库”和“其它接收”时做移动平均计算;●在“作业发料”、“订单发货”、“其它发出”时都以当前成本出库;●在“作业退料”、“订单退货”时,不做移动加权平均计算,以当前成本入库;●在“采购退货”时以当前成本出库,不做反向移动平均计算。
5.其它影响收发存报表的情况
由于收发存计算的基础是某段时间所有的采购类物料收发记录,如果不能够保证这些数据的完整性,将导致数据的不一致,主要包括以下几类:●四舍五入的问题●物料删除●修改物料编码●修改物料类型(制造的/采购的)●修改物料分类(核算分类)●系统时钟不正确●物料处理日志丢失或意外删除明白了算法的规则和区别并知道了可能出现的问题,我们就可以想办法克服软件本身的局限性,自动完善和处理意外情况,保证报告的完整和一致,方案见下文。三、解决方案
1.程序设计原理
原理简述:完全靠国外ERP软件系统本身每月月底的物料编码状况和收发存记录进行倒推计算,几乎不可能满足财务靠其记账的要求,这都是因为国外ERP软件本身的两个局限性造成的,但在不违背其原计算规则的前提下,要打破其原有的局限性,并在一定程度上克服或解决所有影响收发存的可能情况,并非完全没有可能,就是在国外ERP软件数据库中新建数据存储表或另外新建一种其它类型的数据库,能够在每月月底或每次计算后存储当前物料类型、数量和金额,然后再靠程序倒推计算本月收发存,通过与上月物料类型、数量和金额的比较,推断出问题的原因,然后靠程序自动解决或提示财务人员手工调整,保证财务收发存计算的平衡。前提条件:在上述原理下本方法还必须具备一定的前期条件,就是财务人员必须认可ERP系统物料月底结存数量和成本,即必须承认ERP系统当前库存的准确率;并认同各种退货差异;2.程序和数据结构表说明
本方案需要一个主程序和两个辅助程序及四个数据表来完成。主程序:主程序可反复计算从上次结算日期至今任何一段时间的财务收发存状况,并完成数据比较、问题分析、问题推测、问题记录、问题提示和自动平衡的功能,系统发生何种人为或系统错误,都能保证当月财务收发存与上月数据的一致和本月收发存的完整;辅助程序A:本程序主要完成数据月底结存处理,以便数据浏览、数据对比和问题处理,结存程序有一个结存限制,即:每个日期之前的收发记录只能结存一次,且结存日期必须是主程序刚刚计算完毕的截止日期;辅助程序B:本程序可方便快捷浏览历史收发存记录;数据表A:用于存储每月月底所有采购件的月底信息,并用于反复计算本月数据的临时存储表和比较分析表;本表记录数据在一定程度上不会增大;数据表B:用于存储历史收发存记录,本数据表记录会不断增多;数据表C:用于记录每次收发存计算问题对比和处理的记录,本数据表记录会不断增多;数据表D:用于每月月底所有制造件种类和型号,本表记录数据在一定程序上不会增大;3.程序中的问题分析、数据平衡及处理方法
既然主程序保持了每次收发存计算都与上月数据完全一致,那么各种影响收发存的情况是如何处理的呢?●四舍五入的问题(隐藏)每个物料倒推期初金额如果与上月月底金额差异小于±0.1元,程序就把此差异自动挪入入库金额中。因为在ERP移动平均算法中除不尽是很正常的事,所以四舍五入的差异就很正常;●物料发料后被删除(隐藏)物料上月月底还有数量和金额,但当前如果一定被删除,一定是发料后被删除了,因为SYMIX中是不能删除有数量的物料,所以,程序中就自动补充出库数量和金额,帮助系统延续本物料的存在性,但到下个月也会被删除;●修改物料编码(隐藏)如果有人修改了一种物料的编码(旧物料发料后删除,新增一个新物料,再以同样数量和金额收回),程序补充旧物料发出记录保证原物料收发平衡即可,本月收发存中新旧物料会同时出现与报表中;●修改物料类型(制造的/采购的)(显示)由于财务收发存是采购件的收发存,如果随意变更有库存的物料的类型,将直接导致当前库存金额(月末金额)的增加或减少,所以程序,对于把采购件改成制造件的,自动补充发料记录保持收发平衡,对于把制造件改为采购件的将自动假设其为当月新增物料,自动补充收了记录,保持收发平衡,在平衡的前期下,给出变动提示,让财务人员来审核变动的真实性;●修改物料分类(产品分类)(显示)如果修改了一个物料的产品分类,首先是,它对整个仓库的收发存的平衡和与上月数据的一致没有影响,但影响了两个产品分类的收存存,程序对次种情况保持不变,但把此变动提示给财务人员,让财务人员来审核变动的真实性;●系统时钟不正确或物料处理日志丢失或意外删除(隐藏)如果客户段时钟严重失真或网络状况十分恶劣,将会导致收发记录的转移或丢失,对此种情况,系统将自动补充完善其发料或收料记录,保证收发存的平衡及与上月数据的一致,同时记录不一致的情况;●所有收发存物料(采购类)的自动监督(显示)主程序还有一个功能是对所有采购件在系统中的使用情况进行监测,如果发现其有类似制造件使用状况,比如:对定义为采购件的物料下达有作业单等,将提示财务人员给予核实。其它说明:带“隐藏”标记标示,此问题处理在报表中不显示,财务人员看不到,财务人员只能看到“显示”标记的问题处理和物料说明。系统管理员有权对隐藏类标示记录进行问题分析,看是操作原因还是网络原因等,并对用户提出改进意见,不断完善操作和系统,不断减少错误记录。4.辅助报表(采购退货差异报表,作业退货差异报表,订单退货差异报表)
在国外ERP系统中,如果使用移动平均法进行成本核算,根据其计算法则,如果一个物料采购价相对比较稳定,无论有多少次退货或退料,都不会产生多大的差异,但如果因为手工错误等原因将可能导致某物料当前成本过高或过低,虽然在新的收发存程序条件下,此种错误不会影响收发存的平衡和数据的一致性,但有必要给出报表和提示,防止各种差异向生产成本等的转移;由于国外ERP系统对各种退货退料差异都有详细记录,可用各种浏览工具或直接的报表程序来监测即可。四、综述
据了解,有个公司每月就为了物料的成本核算和出收发存报告,每月要耗费3个人力化费1周以上的时间去把收发料单录入到一个计算程序中,其正确性也没法验证,物料的负成本负金额是常见的,还有一个公司某类物料手工计算出当月暂估竞为负三十多万,这些都是信息化程度过低的一些表现,实施ERP给他们带来了成本透明化、快速化和减轻劳动强度的可能,但他们对新的软件和管理模式可能还不适应,工人的素质问题也不能即刻得到提高。财务收发存就是ERP实施中的问题表现之一,可你不解决这个问题,他就宁可化上十天半月来手工计算,但在此我们就不讨论ERP实施策略和领导支持力度等问题了,总之任何革新都不是件容易的事。
总之,虽然上述方案,基本上解决了收发存数据的平衡和一致性问题,但操作失误、流程问题和管理制度其实是问题的真正根源,错误的隐藏和自动智能处理并不是我们的最终目的,我们的最终目标是提高企业的信息化程度、提高企业的管理水平,类似收发存问题的还有很多。希望所有同行有信息共享,共同为中国企业的信息化尽一分自己的力量。最后我们要说的是:尽管前途坎坷,但我们永不言败。