SAP物料账未分配差异-采购发票数量大于库存数量
在服务客户的过程中,碰到了比较多的未分配差异,有的时候,客户会比较疑惑,这些差异产生的原因,或者知道产生的原因,但不知道差异是怎么计算出来的。
为方便后续查询,将碰到的场景做一个记录。SAP oss note 908776 介绍了未分配差异的主要原因。
未分配差异和未包括差异
- 未分配差异 (Not distributed price differences): 中文翻译可能在不同地方和版本存在差异。未分配差异是在过账到物料的差异,这些差异未转到行“累计库存”(CKM3),因此不会包括在周期单价(PUP)中。在 CKM3 显示在累计库存上方。
- “未包括”或“未分配”差异 : 从“累计库存”行结转到类别“消耗”,这些差异不会进一步结算到单级或多级消耗中,在事务 CKM3 中,这些差异显示在类别“消耗”行下面
未分配差异产生的主要原因
note 908776 解释的主要几个原因:
- CKMLCP 启用了库存覆盖范围检查:如果物料差异相关数量大于库存数量,超过部分计入未分配差异
- 系统使用了回退策略(fallback strategy),以避免 PUP 价格为负数
- 执行了事务码 CKMM。如果执行了事务码 CKMM,则物料的差异数据会被删除。但在 CKM3 中仍然会显示,放在未分配差异之中
- 执行了后续价格修改。如果期间已经有消耗数据,在没有冲销交易的情况下运行 MR21 更改物料价格,则差异不能被分配
908776 并不是对所有场景的枚举,还存在其他场景。
发票数量大于库存数量导致未分配差异
业务场景:2024年12月采购收货,2025年1月收票,12月已消耗部分库存,导致差异无接收方
我们先来看 CKM3:
业务很疑惑未分配差异 47956.68 是如何计算出来的。CKM3 并不能直观看出未分配差异的来源,我们还是需要对数据的来龙去脉进行查找和分析。经查看,原因数据跨月发票校验的数量大于期初库存的数量,所以 SAP 将超过数量的部分计入未分配差异。
采购发票产生的差异
在 CKM3 界面中,收货的数量为0,价格差异为47956.68,展开可以看到,数据属于发票校验。因为 CKM3 展示从数量、初级评估、差异和实际值都要基于物料,都遵循期初+收货-消耗=期末。而发票校验并不产生数量的变化,所以为 0。
但从 CKMVFM 事务码中可以看到这个数量和差异的金额:
未分配差异计算的逻辑
因为发票数量 145,000 超过期初库存数量 81,495.727,所以只能部分参与参与分摊。
- 参与分摊的差异:-109,500.02 * 81,495.727 / 145,000 = -61,543.33611 (差异 * 期初/后续调整数量)
- 未分配差异: -109,500.02-(-61,543.34) = -47,956.68 (发票总差异 - 参与分摊的差异)