ERP系统篇:我接手了一个烂尾楼(二)
编辑导读:在工作中,经常需要接手一些遗留下来的项目,这些项目往往存在着不少问题。本篇文章作者结合亲身经历,根据项目中存在的问题,一一拆解解决过程,与大家分享如何快速有效的接手项目。
上一篇我们提到如何找出库存的根本问题并制定方案进行优化;实际上在我们处理库存问题的同时,成本价问题也愈发严重。
原计划对于成本价的模式为财务手动对库存采取先进先出的方式核算成本,因此当前系统只对库存和采购单记录了成本价,计划财务每月将库存数据及采购和销售单据导出进行手工处理。
但由于库存数据的混乱,采购价错误,盘点和报损库存数据缺失等原因,最终财务这边手工先进先出核算成本的数据也出现偏差;且恰逢财务对会计原则进行调整,需要采用移动加权平均价的方法核算成本;因此全面复盘系统对成本价的处理逻辑。
一、成本价核算方式
先简单说明成本价的三种核算方式,分别为:先进先出法,加权平均法,移动加权平均法; 选用哪种方法,根据本单位的会计原则确定。但是在一个会计年度里,不能变更会计原则。
1.1 先进先出法
先进先出法是以先入库的先发出为原则,以先入库存货的单价计算发出存货成本的方法;收入存货时,逐笔登记收入存货的数量、单价和金额;发出存货时,按照先进先出的原则逐笔登记存货的发出成本和结存金额。
若使用先进先出法,当物价上涨时,会高估企业当期利润和库存存货价值,反之,会低估企业存货价值和当期利润。当虚增了利润,就会加重企业所得税负担,以及向投资人分红增加,从而导致企业现金流出量增加; 根据谨慎性原则的要求,先进先出法适用于市场价格普遍处于下降趋势的商品。
1.2 加权平均法
加权平均法指以当月全部进货数量加上月初存货数量作为权数,去除当月全部进货成本加上月初存货成本,计算出存货的加权平均单位成本,以此为基础计算当月发出存货的成本和期末存货的成本的一种方法。
加权平均法的优点是处理比较简单,在市场价格上涨或下跌时对存货成本的分摊比先进先出法更折中;但这种方法平时无法从账上提供发出和结存存货的单价及金额,不利于加强对存货的管理,且在物价变动幅度较大的情况下,按加权平均单价计算的期末存货价值与现行成本仍然有较大的差异。
1.3 移动加权平均法
移动加权平均法是指以每次进货的成本加上原有库存存货的成本,除以每次进货数量加上原有库存存货的数量,据以计算加权平均单位成本,作为在下次进货前计算各次发出存货成本依据的一种方法。
用先进先出法计算的期末存货额,比较接近市价,而且能是企业管理层及时了解发出和结存的存货成本,是目前应用的最广泛的一种方法;缺点是计算工作量比较大且复杂,更适用于经营品种不多、或者前后购进商品的单价相差幅度较大的商品流通类企业。
二、成本价问题分析
2.1 现状总结
2.1.1 成本价错误
在公司当前采购场景中,与供应商达成采购协议时,部分供应商可以开发票(专票),部分供应商不可以开票;由于供应商开出的发票可以抵扣销项税,因此在这两种情况下,我司的采购成本是不一样的。
原采购功能中,由于与业务沟通的误会,业务方认为开发票的采购价属于含税的,不开发票的采购价属于不含税的;因此系统这边分别记录了采购价和含税价,对于不开发票的情况下,用采购价乘以税率得到含税价,导致含税价记录错误(实际上,不开发票的情况下,含税价=不含税价=采购单价),这一错误导致了当前采购单,库存明细记录全部错误。
2.1.2 成本价处理逻辑
由于之前考虑由财务手动先进先出,所以只在采购单和库存明细中记录了采购成本价,未生成单独出/入库单,出/入库结果直接回写到业务单据中;后续需要进行如采退出库,盘点入库,报损出库等业务时,需要独立开发一套库存及成本价处理逻辑;此外库存明细中只包含含税成本价,不存在不含税成本相关数据;
2.2 解决方案
对于采购单成本价,默认业务方所录入的采购价全部都是含税价(也更符合实际情况);对于开票和不开票的情况下,含税价都为供应商给我司的报价;在开票的情况下,不含税价=含税价/(1+税率),不开票的情况下,不含税价=含税价;
由于历史采购价数据计算错误,因此在功能优化后,对于已产生的数据进行修正,包括采购单明细,库存变动明细等数据。
结合上一篇的库存处理结构,进一步根据移动加权平均价的原则,对成本价处理逻辑进行优化;详见下文。
三、移动加权平均价改造
3.1 基本概念
3.1.1 移动加权平均算法
当以成本价m,入库数量n商品时,在移动加权平均的原则下,成本价的计算公式为:(期初商品总价值+成本价m*数量n)/(期初商品数量+数量n)
3.1.2 含税价和不含税价
商品的成本价分为含税和不含税,正常情况下含税成本价=不含税成本价*(1+税率),但是由于同一个商品可能存在A供应商开发票,B供应商不开发票的情况,所以含税和不含税成本需要分别处理并记录。
3.1.3 成本价记录的维度
在有多仓库的情况下,不同仓库采购的商品,价格或数量可能不一致;且不同的仓库对应的货主可能不一致;因此对于每一个仓库的每一种商品,均有一条成本价记录。
3.2 成本价变动
3.2.1 处理节点
在移动加权平均的原则下,成本价=商品库存总价值/商品数量,所以当由于商品发生入库的时,由于商品数量和库存总价值的变动,成本会发生变动;
综上,成本价的变动取决于库存的变动,而库存的变动依赖于商品的出入库;因此当生成出入库单时,同时也对成本价进行处理。
3.2.2 入库单处理
入库单按照单据类型,包括采购入库,盘盈入库,差异入库,调拨入库,配货入库,退货入库等;当生成入库单时,需要分别在入库单明细和库存变动明细中记录含税价,不含税价;并对商品价值表中商品的商品库存总价值(含税/不含税),成本价(含税/不含税)分别进行更新。
不同的单据类型,成本价的来源不一样,其中采购入库的成本价为对应采购单的采购价;盘盈入库的成本价为当时商品库存的移动加权平均价;差异入库,调拨入库,配货入库单,退货入库均需要取原业务单据对应的出库单成本价。
3.2.3 出库单处理
出库单按照单据类型,包括销售出库,调拨出库,报损出库,盘亏出库,配货出库,采退出库,差异出库;当生成出库单时,需要在出库单明细和库存变动明细中记录含税价,不含税价;并对商品价值表中商品的商品库存总价值(含税/不含税),成本价(含税/不含税)分别进行更新;
采退出库和差异出库的情况均需要取原业务单据对应的入库单成本价,其他单据均取当前的移动加权平均价即可。
四、成本价异常监控
由于采购成本价是供应链的核心竞争力,因此可以提供成本价变动趋势相关报表,辅助业务方进行决策;对于极端的情况可以通过预警来及时发现问题,如成本价波动超出一定幅度,可以发送预警通知给到业务和技术进行关注。
#专栏作家#
不桡,人人都是产品经理专栏作家。专注电商订单履行及供应链模块。
本文原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash,基于 CC0 协议
成本坑比较深,比如同价调拨,负库存等
感谢分享 最近在做相关的业务