存货成本确定方法-进价计算设计

1 存货成本计算的问题描述

首先说明下本文讲述的重点,即存货数据库模型的单位成本/进价计算,其数种常见方法,优劣点及适用范围.

要讲这个问题,首先要说明下,何谓存货成本,其财务定义所含甚广,包含存货所耗费的总成本,包括采购成本,定货成本,存储成本,缺货成本等.

实际在开发系统时,核心内容当然不可能包括这么多,模型设计得这么复杂.或者说,对复杂逻辑的设计,应将之拆解为几个低耦合的简单逻辑模型.本文所述的,也是库存成本核心关注的内容,即仅仅考虑购买销售过程的采购成本,如果涉及生产,则将生产成本的获取方法单独放在另一个模型中去计算.

关于数据库的设计,所用到的核心数据库表,仍是库存日志表:t_stock_log,关于该表的具体设计,请参考商品库存模型-逻辑设计小议.

2 常用计算方法

本质上来说,成本计算最难,也是最核心的,即发出货物的成本计算.因为进货成本必定是已知的.以下为4种目前国内常用到的计算方法.

2.1 先进先出法(first-in,first-out,FIFO)

顾名思义,先进先出法在实际理解上应是没有任何困难,但正如财务定义上所述的"工作量比较繁琐",设计为系统,也是不论从算法效率还是逻辑代码看均十分复杂.

事实上,本文此前所述的商品库存模型一文,即是比较严谨的运用了先进先出法.读者单从已表现出的sql便可看出有多复杂,主要体现在:

No.难点说明
1非零保证要做到需要比较复杂的计要保证事实上的每个时刻的历史库存数量均非负
2对于已形成单据的某条明细数量,可能因为价格问题需要拆分开.由此可能需要改变原本主单据的明细构成,而重构时机也需把握一般来讲,审批完成时是必须要重构的,但在保存时,有时可能也有保存的需求

第2点在此举一个简单的例子说明:

日期批次数量单位成本
1月5日a5010元
3月15日b8012元

譬如某商品进货情况如上表,在5月20日需要出货该商品共100件,按照先进先出原则,即需将之拆分为50件10元批次与50件12元批次,如此则可能需要将原单据明细记录改为两条.

其他难点与解决策略,在商品库存模型一文中均已有论述,在此不再赘述.不过该文考虑的是,对于相同商品相同时间点/批次,可能产生不同价格的进货情形,实例在很多种情况下,也可通过将时间点细化或区分相同时间点的不同批次,而在相同批次内不允许存在不同价格的情况,改善第二点的解决难度,且也能满足大多数系统使用情况.

有先进先出法,理论上也有后进先出法,不过此法在国内由于某些原因是不允许使用的,在此略过不叙.

深入了解参考财务定义.

2.2 加权算术平均法(The Weighted Arithmetic Average)

其计算公式如下:

y = \Sigma (x_{i} \times w_{i}) \div \Sigma (w_{i})

xi代表某批次进货单位成本;
wi代表某批次进货数量;

如果是用库存日志法,在计算价格的时候相对比较容易,且不需考虑分批次问题(但同样需要考虑历史库存非负问题):

select store_code,p_code,...,
sum(in_price*add_count)/sum(add_count) as average_price 
from t_stock_log 
where condition
group by sth
-- 此处group by的是批次,在某些特殊情况下,也可将范围扩大

该法在系统设计上的优点包括:计算逻辑相对简单,在where的condition范围限制严苛的情况下,计算量也不会很大;

缺点和所有加权平均法一样,即由于金额最小值一般取到分,最后核销完先前批次的时候,可能存在由于除不尽导致的几分钱的盈余和亏损,实际来看这影响微乎其微,但在系统系统设计的时候需要考虑对这种情况的处理.

深入了解参考财务定义.

2.3 月末一次加权平均法/全月一次加权平均法(monthly weighted average method)

客观而言,目前接触到的客户还没有哪个是要用这种存货成本计算方法的.该方法的计算公式如下:

y = \frac{m_{s}+\Sigma(x_{p} \times w_{p})}{w_{s}+\Sigma (w_{p})}

ms代表期初结存材料成本;
ws代表期初结存数量;
xp代表本月内某批次进货单位成本;
wp代表本月内某批次进货数量;

这种计算方法对于系统设计的最大缺点,就是不利于核算的即时性.即不论如何设计,只能得到此前月份的准确成本核算,而使用系统往往就是为了及时性,两者可说是互相矛盾,故而设计进价计算基本不会考虑这种方法.

深入了解参考财务定义.

2.4 具体辨认/个别计价法

从名字上即可看出,这类出货的成本计算,是逐一辨认各批发货和期末存货所属的购进批别或生产批别,分别计算.

一般而言,在当前系统计算越来越自动化的今天,个别计价法除了在对不能替代使用的存货,以及为特定项目专门购入或制造的存货,如固定资产,珠宝外,就仅作为其他计算方法的一个补充了.

以系统设计的角度讲,譬如说某公司销售手机,客户想要某个型号手机的微订制版本,而正由于是微订制,该公司出于某种考虑未将该批手机与该型号其他手机从系统上区分开,但这两种手机又必然是不同的存货单位成本,此时就可考虑从系统上设置补充调整进价,以实现个别进价法了.

3 存货成本方案的选择

从以上四种方案综合来看,先进先出法或加权算术平均法是比较适合的两种核心方案.具体选择哪种,则需要与客户沟通来确定.

如果客户没有特别想法,个人的话建议采用加权算术平均法,此法不需考虑拆分明细,计算逻辑与计算量相对也比较简单,且有一定的容错率.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
成本系统设计说明书 1 引言 1 1.1 编写目的 1 1.2 读者对象 1 1.3 文档编写说明 1 1.4 项目背景 1 1.5 基本定义 1 1.6 参考资料 1 1.7 变更历史 1 2 任务概述 2 2.1 目标 2 2.2 设计原则和技术 2 3 功能需求 2 4 系统处理流程设计 2 4.1 总体处理流程设计 2 4.1.1 业务流程设计 2 4.1.2 数据流程设计 2 5 系统功能结构设计 2 6 数据结构设计 3 6.1 逻辑结构设计 3 6.2 物理结构设计 4 6.2.1 公用表设计 4 6.2.2 私有表设计 4 6.3 数据关联图 4 7 接口设计 7 7.1 外部接口 7 7.1.1 从外到内的接口 7 7.1.2 从内到外的接口 7 7.2 内部接口 8 8 系统模块详细设计 8 8.1 系统初始化(系统登录界面) 8 8.2 文件 8 8.2.1 重新注册 8 8.2.2 退出系统 9 8.3 基础设置 9 8.3.1 成本中心设置 9 8.3.2 成本项目设置 10 8.3.3 成本对象设置 11 8.3.4 成本结构设置 12 8.3.5 归集关系设置 13 8.3.6 分配关系设置 14 8.4 归集和分配 14 8.4.1 月末盘存 14 8.4.2 月末完工 15 8.4.3 费用归集 16 8.4.4 费用分配 17 8.5 成本报表 18 8.5.1 生产费用明细表 18 8.5.2 生产成本汇总表 19 8.6 生成凭证 20 8.6.1 结转生产成本 20 8.6.2 结转产成品 21 8.7 公式定义 22 8.8 系统工具 22 8.8.1 会计日历 22 8.8.2 计算器 23 8.9 帮助 23 8.9.1 系统帮助 23 8.9.2 网上**** 23 8.9.3 关于我们 23 9 实施注意 23 10 数据库设计 23 11 附件: 24 11.1 数据表及关系安装程序: 24 11.2 主要系统表数据预置 24 成本分析数据 25 1 引言 1.1 编写目的 编写此说明书,主要是针对以前阶段项目(沧化)的实施,测试部门的测试报告,以及产品发展的需求,对新世纪ERP5.0版本的成本系统进行详细分析和规划。同时也为了加强系统的稳定性和可扩充性。 本说明书也是最终对产品进行集成测试(也称综合测试或需求测试)的依据。 1.2 读者对象 系统分析、编程及测试人员。 1.3 文档编写说明 1、 本文档界面信息带“*”的项目为必添项目, 2、 带“↓”的项目为下拉选择或从其它数据表中读取选择(提供帮助) 3、 “(0)“或”(否)“等为缺省值 4、 带#号的项目为不可编辑项 1.4 项目背景 1.5 基本定义 列出.本需求规格说明书中涉及的专门术语、容易引起歧义的概念、关键词缩写及其它需要解释的内容,现统一认识。 一、 成本中心:成本费用的归集核单元 二、 核对象:即产品、劳务、商品等 三、 成本项目:构成成本费用的要素,如:水、电、原材料等。 四、 成本构成:组成成本中心对象的费用项目。 五、 归集关系:提取费用接口。 六、 费用种类:原材料、制造费用、动力费 七、 分配方式:直接、间接费用分配 1.6 参考资料 1.7 变更历史 序号 人员 日期 变更详情 1 魏永生 2001.07 初稿 2 向纪兰 2001.10 2 任务概述 2.1 目标 需求规格说明书要实现下列目标: 1. 在软件产品完成方面为客户和开发者之间建立共同协议创立一个基础。 2. 提高开发效率,近早发现遗漏、错误和理解的不一致。 3. 有助于估计项目所需资源。 4. 为确认和验证提供一个基准。 5. 便于移植和不断提高。 6. 在此参考合同相关章节再阐述本系统实际目标。 本系统所实现的功能:通过对企业内部生产过程中所发生的费用归集,然后将所归集的数据根据自定义公式分配到各个核对象中去,以报表的形式体现出各个核对象各种费用的消耗情况。 2.2 设计原则和技术 体系结构采用的客户/服务器模式(C/S) 操作系统采用WINDOWS NT 数据库采用 SQL SERVER 7.0 开发工具采用的是 VISUAL BASIC 6.0

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值