【迪森专家专栏】第113篇:SAP管理会计 - 如何进行DUV盘点差异分配?
发布时间: 2026-06-24
浏览次数: 13

文章配图-1
 

[前言]


迪森深耕SAP领域20+年,深受众多客户好评夸赞。为了能够更好地帮助客户实施数字化项目,「迪森专家专栏」完全免费开源,向马斯克开源精神致敬!
 

本文根据迪森众多拥有20+年SAP经验的专家级顾问团队的资深能力,并结合迪森1000+个成功项目案例,总结并发表企业在推行ERP项目实施中的相应研究心得与建议,持续为企业的SAP实施与交付保驾护航。
 

[需求描述]


生产车间工单投料时,采用BACKFLUSH方式倒扣料,即:按报工数量*BOM标准用量,来自动投料到生产订单,但是期末盘点时,将出现盘点差异,这些差异数量和差异金额需要按当月投入到生产订单的数量来分配。这样处理的好处是,材料用量、材料费金额,更真实地计入了生产订单(真实还原:料工费等成本组件、材料投入产出损耗)。
 

为此,SAP功能DUV (Distribution of Usage Variances),专门处理分摊这个差异。注意:只是生产现场盘点差异适用于这样处理,对于生产消耗无关的:成品仓库的盘点溢缺、非生产性物资 MRO (Maintenance, Repair & Operations) 盘点溢缺,不适用于DUV。
 

文章配图-1
 

[系统配置]


注意:DUV功能虽然是为实际成本核算服务,是否激活物料分类账,不影响DUV功能的使用。
 

1. 基础功能激活 事务码

早期的SAP (SAP_FIN 730以前版本),需要激活 EA-FIN 。后续版本中默认激活。
 

文章配图-1
 

ENTERPRISE_EXTENSIONS->EA-FIN
 

文章配图-2
 

2. 按”工厂+库位”指定激活DUV 事务码 SM30 视图 CKMLDUVN001L
 

文章配图-1

文章配图-1
 

配置说明:

分配有效:指是否激活DUV功能

缺省分配标识:创建盘点凭证时,盘点点凭证行项目中是否默认启用DUV

绑定分配标识:给盘点凭证行项目中的默认启用DUV或不启用DUV绑定,不允许手工修改

附:盘点凭证行项目,缺省分配标识=1时,差异分配=X,缺省分配标识=空时,差异分配=空
 

文章配图-1
 

3. 移动类型相关配置

(1) 添加移动类型配置中的事务码 事务SM30视图 V_158_ALL(后续版本中,SAP默认给加上了)
 

文章配图-1
 

(2) 指定DUV分摊的基础移动类型,事务码SM30视图 TDUVN156

在这里你可以指定收集的差异按哪些基础收发移动类型分析。
 

文章配图-1

文章配图-1
 

通常情况下,盘点差异按工单投料 261/262的投料数量来分摊差异。

(3) 创建差异分摊移动类型 事务码 OMJJ
 

文章配图-1
 

注:为了考虑WM(Warehouse Management system)盘点,Z29复制711,而不复制701。

对于盘盈,通过Z29移动类型将损耗负数转出:701, 703, 707, 712, 714, 716, 718 -> Z29

对于盘亏,通过Z30移动类型将损耗正数转出:702, 704, 708, 711, 713, 715, 717 -> Z30

对于Z29损耗负数,通过Z72移动类型投入到工单 :Z29 -> Z72 (or 262)

对于Z30损耗正数,通过Z71移动类型投入到工单 :Z30 -> Z71 (or 261)
 

A. 创建移动类型 Z29 复制711移动 后,注意按以下红框内容修改:
 

文章配图-1
 

其中:取消勾选 “生成实际盘点凭证” ,此移动类型不能用于创建盘点凭证;

其中:勾选 “反向移动类型标识” ,此移动类型按 701,711负数处理;
 

文章配图-1
 

按上图,增加两个事务码:CKMDUVMAT MIGO。

CKMDUVMAT 表示,通过 CKMDUVMAT事务码来处理 Z29分摊转出过账。

MIGO 表示,通过 MIGO事务码来处理 冲销 Z29分摊转出过账。
 

文章配图-1
 

如上图:Z29 DUV对应 Z72 分摊到工单 ,Z29冲销对应过账为 Z30。
 

B. 创建移动类型 Z30 复制712移动 后,注意按以下红框内容修改:
 

文章配图-1
 

其中:取消勾选 “生成实际盘点凭证” ,此移动类型不能用于创建盘点凭证;

其中:勾选 “反向移动类型标识” ,此移动类型按 702,712负数处理;
 

文章配图-1

文章配图-1
 

如上图:Z30 DUV对应 Z71 分摊到工单 ,Z30冲销对应过账为 Z29。
 

C. 创建移动类型 Z71 复制261移动 后,注意按以下红框内容修改:
 

文章配图-1
 

按上图,增加两个事务码:CKMDUVMAT MIGO。

CKMDUVMAT 表示,通过 CKMDUVMAT事务码来处理 Z71分摊转入工单过账。

MIGO 表示,通过 MIGO事务码来处理 冲销 Z71分摊转入工单过账。
 

文章配图-1
 

如上图:Z71冲销对应过账为 Z72。
 

D. 创建移动类型 Z72 复制262移动 后,注意按以下红框内容修改:
 

文章配图-1
 

按上图,增加两个事务码:CKMDUVMAT MIGO
 

文章配图-1
 

E. 给移动类型指定后续处理:701, 703, 707, 712, 714, 716, 718 -> Z29
 

文章配图-1
 

F. 给移动类型指定后续处理:701, 703, 707, 712, 714, 716, 718 -> Z29
 

文章配图-1
 

[场景测试]


1. 创建盘点凭证并过账,参考以下事务码:
 

文章配图-1
 

MI09 = MI01 + MI04

MI08 = MI04 + MI07

MI10 = MI01 + MI04 + MI07

测试盘点两个过账凭证如下:
 

文章配图-1
 

2. 数据过账后,数据表记录如下:
 

文章配图-1
 

系统除了在 IKPF ISEG表记录外,等待分摊的盘点差异,还在数据表CKMLDUVN 记录。
 

文章配图-1
 

3. 执行盘点差异分摊,事务码:CKMDUVMAT
 

文章配图-1

文章配图-1
 

选择全部行项目,点:分配到订单。
 

文章配图-1
 

如上图,可以看到盘点差异状态已经变为:分配已创建。
 

文章配图-2
 

如上图:系统默认按261/262投料量分摊到生产订单,同时允许手工调整,还可以增加行,允许分配到其他生产订单。处理后,需要点保存按钮。
 

文章配图-1
 

如上图执行过账,过账后,系统显示过账凭证号,可以通过MIGO查看凭证行项目:
 

文章配图-1

文章配图-1
 

查看CKM3N 可以看到,系统补做了Z30 来转出分摊 702 盘亏差异,如下:
 

文章配图-1
 

同时,分摊转入生产消耗,如下:
 

文章配图-1
 

补充说明:如果当前物料701、702盘点差异,无相应的 261、262生产投料,手工补充一行。
 

文章配图-1
 

手工补充后,点过账,程序DUMP 读取 ct_imseg。
 

文章配图-1

文章配图-1
 

程序:LCKMLDUVMATF06 读取基础分摊移动凭证时,出错。
 

4. 查询盘点差异分摊记录,事务码:CKMDUVSHOW
 

文章配图-1

文章配图-1
 

5. 思考问题:如果盘点直接使用MIGO处理702、701,能否使用DUV分摊差异。

理论上可以。

(1) 事务码MIGO ,直接处理702、701 盘点差异。
 

文章配图-1
 

(2) 开发程序,补充IKPF/ISEG/CKMLDUVN表记录
 

文章配图-1

文章配图-1

文章配图-2
 

(3) 事务码CKMLDUVN 分摊盘点差异。
 

文章配图-1

文章配图-1
 

(4) 事务码CKM3N查看物料分类账结果。

可以看到盘亏有两笔:一笔通过MI*系列事务码处理,一笔直接通过MIGO事务码处理,都通过事务码CKMLDUVN 分摊成功!
 

文章配图-1

文章配图-1
 

总结:

A. 如果通过MIGO直接做盘点差异701/702过账,则需要补充IKPF/ISEG/CKMLDUVN,补充后可以使用DUV功能来分摊差异。

注意:补充IKPF/ISEG表记录盘点凭证号是,需要通过系统函数拿 MATBELEG 对象编号,不要任意写盘点凭证编号!!!
 

B. 当月待分摊的盘点差异,必须有相应的261/262投料作料基础,否则程序运行DUMP。
 

附:

1. 事务码CKMDUVMAT 默认处理和查看未过账的数据,时间段为:月初到当前指定日期。

如果查看已过账的,则勾选以下选项:
 

文章配图-1
 

2. 事务码CKMDUVMAT 创建分配前,需要指定日期段,即:取哪一个期间的261/262过账数据。
 

文章配图-1
 

3. 事务码CKMDUVSHOW 查询DUV分摊结果时,数据画面有中功能处理按钮,其中:过账和冲销过账,系统处理不了,因为 OMJJ事务码中,没的允许 CKMDUVSHOW事务码处理。
 

文章配图-1
 

事务码 OMJJ中,Z29/Z30移动只允许 CKMDUVMAT 处理,不允许CKMDUVSHOW 处理,如果允许了, CKMDUVSHOW 就不只是查看功能了。
 

文章配图-1
 

相关数据表:

CKMLDUVN001L 消耗差异的分配:激活控制

CKMLDUVN 使用差异的分配 (每个ISEG条目的状态)

CKMLDUVNCO 每个科目分配对象使用的差异
 

参考NOTES:

1369514 - DUV INFO: Activation steps

645739 - Transaction types for DUV

939881 - Missing DUV documents- materials with serial number profile

2776096 - INFO: Error KI 153 during CKMDUVACT posting
 

问题一:

物料W911002 工厂 6011,当月只有盘亏,没有261、262生产投料,则CKMDUVMAT一直显示未分摊,如何处理?
 

文章配图-1
 

事务码CKMDUVMAT一直显示未分摊。
 

文章配图-1
 

处理开发功能,将ISEG-XDISPATCH 字段清空。
 

文章配图-1
 

CKMLDUVN-STATUS 状态修改为 70。
 

文章配图-1


【服务指南】

如需了解更多SAP课程资讯、项目咨询运维,请拨打迪森官方咨询热线: 400-600-8756

 

【关于迪森】

全球专业的咨询、技术及培训服务提供商,SAP金牌合作伙伴、SAP软件合作伙伴、SAP实施合作伙伴、SAP官方授权培训中心。二十年品质,值得信赖!

在线咨询
微信咨询
咨询电话
400-600-8756