ERP采购收货在标准成本和移动平均价下的差别
欢迎关注微信公众号:iERPer (ERP咨询顾问之家)
ERP系统在处理主要的采购流程有:
下采购合同->下采购订单->收货->发票校验->付款(财务)
其中 收货和发票校验并不是固定的顺序 ,存在票到货未到或者货到票未到的情况。
那么在这样的情况下,物料价格是以标准成本还是移动平均价差别就比较大。
以下简要说明一下采购过程中物料在这两种计价方式之下是如何结算存货成本的。
标准成本法:MM03 成本视图里面价格控制 = S(标准价格)
移动平均价:MM03 成本视图里面价格控制 = V(标准价格)

当信息记录或者采购订单上勾选了“基于收货的发票校验”时,则必须先收货才能做发票校验; 如果没勾选,则可以先做发票校验再收货。

一、收货早于发票(货到票未到,根据收货做发票校验)
这种业务最常见。
当采用标准成本法时,收货按标准成本计入存货价值,采购订单价格与物料标准成本的差异、采购订单价格与发票校验上的发票价格的差异都记入"发票价差"。
当采用移动平均价时,收货直接按采购订单价格记入存货价值,即以暂估价值入库,不会产生差异。而后续收发票时校验的价差(与采购订单价格的差异)部分,如果库存充足则直接更新库存价值(会体现在MM03上面移动平均价栏位),如果库存低于发票数量则按比例一部分更新库存价值,一部分记入"发票价差"科目。
二、发票早于收货(票到货未到)
这种业务相对少见。
收发票时发票校验金额借记"商品采购"科目,贷记“应付账款”。
当采用标准成本法时,采购收货时的价差记入"发票价差"科目;
当采用移动平均价时,采购收货按发票金额更新库存价值;
以下为每个采购步骤的会计凭证, 为了简单,省去进项税科目 。
标准成本法
1.先收货 后收发票
标准成本:10元/件 库存数量:100件
采购订单:13元/件 数量:100件
收货: 数量:100件
发票:12.5元/件 数量:100件
收货时:
借:存货 1000
发票价差 300
贷:商品采购 1300
收发票时:
借:商品采购 1300
贷:发票价差 50
应付帐款--供应商明细 1250
收货时的"发票价差"为采购订单金额与标准成本之间的差异;收发票时"发票价差"为采购订单金额与发票金额之间的差异。
经过收货和发票校验之后,"存货"借记1000,"应付帐款--供应商明细"贷记1250,之间的差异在"发票价差"之中,借贷差异为300-50=250。
2. 先收发票 后收货
标准成本:10元/件 库存数量:100件
采购订单:13元/件 数量:100件
发票: 12.5元/件 数量:100件
收货: 数量:100件
发票校验时:
借:商品采购 1250
贷:应付帐款--供应商明细 1250
收货时:
借:存货 1000
发票价差 250
贷:商品采购 1250
移动平均价
1. 先收货 后收发票 库存充足
初始移动平均价:10元/件 库存数量:100件
采购订单:13元/件 数量:100件
收货: 数量:100件
发票:12.5元/件 数量:100件
收货时:
借:存货 1300
贷:商品采购 1300
发票校验时:
借:商品采购 1300
贷:存货 50
应付帐款--供应商明细 1250
发票校验时发票金额和采购订单金额之间的差异直接贷记"存货"科目,因此收货和发票校验过程中,"存货"科目中的借贷总额为1300-50=1250,反映了真实成本。
移动平均价变化情况如下:

2. 先收货 后收发票 库存不足
初始移动平均价:10元/件 库存数量:100件
采购订单:13元/件 数量:100件
收货: 数量:100件
领用: 数量:120件
发票:12.5元/件 数量:100件
收货时:
借:存货 1300
贷:商品采购 1300
发票校验时:
借:商品采购 1300
贷:存货 40
发票价差 10
应付帐款--供应商明细 1250
发票校验时存在-50元发票价差(应付-商品采购),但库存数量80低于发票数量100,因此将价差按照比例进行分摊,"存货"科目分摊额为-50*80/100=-40元,"发票价差"科目分摊额为-50-(-40)=-10元
移动平均价变化情况如下:

3. 先收发票 后收货
初始移动平均价:10元/件 库存数量:100件
采购订单:13元/件 数量:100件
发票:12.5元/件 数量:100件
收货: 数量:100件
发票校验时:
借:商品采购 1250
贷:应付帐款--供应商明细 1250
收货时:
借:存货 1250
贷:商品采购 1250
移动平均价变化情况如下:

备注:影响移动平均价的不仅除了收货和发票校验,还有库存领用等。
移动平均价可以视为是实际成本,但不等于标准成本+月末差异还原。
ERP采购收货在标准成本和移动平均价下的差别的更多相关文章
- 【MM系列】SAP MM模块-分析采购收货完成标识
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-分析采购收货完成标 ...
- SAP交货单过账自动生产采购订单、采购订单自动收货入库
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...
- SAP MM 标准采购组织的分配对于寄售采购订单收货的影响
SAP MM 标准采购组织的分配对于寄售采购订单收货的影响 PO 4100004022 是一个寄售的采购订单, 采购组织是CSAS, 工厂代码SZSP.采购信息记录也是有的, MIGO试图对该采购订单 ...
- 【MM系列】SAP 采购订单收货后不能修改价格的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...
- 【MM系列】SAP MM模块-收货自动创建采购订单
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-收货自动创建采购订 ...
- 收货MIGO
FUNCTION zrfc_mm003. *"---------------------------------------------------------------------- * ...
- MB_SELECT_GR_BLOCKED_STOCK 读取物料收货冻结库存
MMBE 查询物料的当前库存,有一列是收货冻结库存(GR Blocked Stock),但是没有明细. 通过函数 MB_SELECT_GR_BLOCKED_STOCK 可以查询物料收货冻结库存的明细. ...
- OpenERP实施记录(10):采购补货
本文是<OpenERP实施记录>系列文章的一部分. 上文中业务部门接到沃尔玛三台联想Y400N笔记本电脑的订单,但是仓库无货.本文需要完成采购补货处理. 1. 联想YN400N是ABC公司 ...
- SAP MM 公司间STO发货单输出报错 - 合并工厂AUC1和存储位置6002没有货物收货地点 - 之对策
SAP MM 公司间STO发货单输出报错 - 合并工厂AUC1和存储位置6002没有货物收货地点 - 之对策 昨天收到客户业务部门报错,说是业务对交货单0080022298做POD失败.相关交货单的输 ...
随机推荐
- 【Android开发】Bitmap的质量压缩法
public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputS ...
- mysql数据乱码
更改数据库安装时的字符编码.打开mysql安装目录,找到my.ini文件,通过使用记事本的方式打开,将这里面的default-character-set=latin1修改成gbk,注意这里面有两处需要 ...
- IO流入门+简单案例实现
IO流 总结内容 1. IO流是什么 2. 字符流和字节流 3. File常用API(前面类型为返回类型) 4. 编码转换 5. IO流实现流程 6. 输入输出流简单实现 7. 输入输出流简单实现 总 ...
- 使用Socket实现HttpServer(二)
使用Socket实现HttpServer(二) 前面我们使用 Socket 实现了一个简易的 HttpServer,接下来我们将对我们的服务器进行优化: 面向对象的封装 优化线程模型(引入多线程) R ...
- c++对c的拓展_编译检测的增强
一:全局变量检测增强:c++编译对全局变量的声明定义有严格区别 //c中全局变量的声明及定义 //c++中全局变量的声明及定义 //c++全局变量写成下列形式则报错 in ...
- Qt 实现文字输入框,带字数限制
Qt 实现文字输入框,带字数限制 核心构思 核心的点在于,限制输入的字数:主要的方法为创建一个组合窗口 textChanged 这个信号,会在你输入字符之后发射,可以连接这个信号,在发射了信号之后,去 ...
- el-menu菜单 -- unique-opened 子菜单唯一性失效
总结: 点击的是 el-sub-menu . 所以 el-sub-menu 的唯一性是必须的.否则 unique-opened 属性不生效
- ctx.createCircularGradient is not a function
正确 const grd = ctx.createCircularGradient(75, 50, 50) grd.addColorStop(0, 'red') grd ...
- (更新中)"华为杯" 武汉大学21级新生程序设计竞赛 非官方题解
"华为杯" 武汉大学21级新生程序设计竞赛 https://ac.nowcoder.com/acm/contest/31620#question D.和谐之树 思路:披着线段树外皮 ...
- switch 和 if else if else 有什么区别
1. 一般情况下,它们两个语句可以相互替换 2. switch..case语句通常处理case为比较确定值的情况,而if...else...语句更加灵活,常用于范围判断(大于.等于某个范围) 3. ...