库存余额问题分析解决指南

栏目:云星瀚知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

库存余额问题分析解决指南

一、 背景介绍

余额通常包括即时库存余额、期间库存余额、核算期间余额,是供应链中查询和更新最频繁的数据,对企业的管理具有极其重要的意义,所以客户对余额的准确性要求也非常并且根据过往经验,余额相关功能属于问题高发区域,本章节通过对使用过程中常见问题的总结,指导用户、顾问或现场开发人员快速准确的定位问题,并从根本上解决问题。


二、 常见问题分析方法

1、 出库提示库存不足

1.1 库存不足不是程序出了问题,在负库存校验开启的情况下这是对即时余额更新正常的业务控制。想要找出库存不足的原因,必须要了解如下内容:

余额表有哪些库存维度

余额更新规则中单据与余额表字段如何映射的


1.2 通过单据分录的库存查询有库存,但单据审核出库时提示库存不足?

1) 库存查询和余额更新是可以分别配置的,如果两边配置不一致就有可能更新的维度并不是查询看到的。我们需要做的是参照单据对应的余额更新规则,逐一比对库存余额和单据值是否完全匹配,数量是否足够。维度包括货主、保管者、计量单位、批号、辅助属性等等

库存单据与即时库存维度逐一比对

2) 常见问题为增加或减少了库存维度,余额更新规则没有完全修改,比如某客户增加了“入库日期”作为库存维度,入库单的更新规则配置了字段映射,入库后即时库存明细就会存入库日期字段,而出库单的更新规则未配置,则出库时不会带单据上的字段去匹配库存,任何维度对不上都会提示库存不足。

同理,也出现过某客户要求减少库存维度,如“项目”不用更新到库存余额,只需要在余额更新规则中将维度字段映射修改“匹配方式”为“系统默认值”即可

3) 若人工实在排查不出来,结合环境情况,开启负库存,让单据先审核,看下余额记录变化,若你认为要出库的记录没变,多了一条负的,则就是维度对不上导致,比对一正一负的两条余额记录找到哪个维度对不上。注意:生产环境切记不能随便修改负库存配置,找到问题后,数据和配置要还原。


1.3即时库存明细报表上一正一负,但看上去所有维度仍然一致怎么办?

先仔细检查文本字段前后是否加了空格

另外只有后台查询数据库存分析了,因为前台报表显示的是编码或名称,而后台数据库存储的是ID,可以通过平台的查询分析器或其他可用的数据库存工具查询t_im_inv_realbalance表,比对一正一负的两条余额。根据以往案例,某客户的物料是通过接口生成的,后来又通过接口删除再重新生成相同的物料,但这时物料ID发生了变化,出库单据是获取新的基础资料,与历史库存余额就不一致了,对于这样的问题首先要解决接口的控制问题才能根本上避免再次出现。


1.4入库单据为什么也会提示库存不足?

可能有人认为入库单据就是增加库存,为啥还会提示库存不足呢,其实单据是增加库存还是减少库存是由余额更新规则配置决定的,并不能仅根据单据名称叫入库单还是出库单来简单认为。比如采购入库单当业务类型为“收货检验合格入库”时,单据审核会减少“待检”库存,同时增加“可用”库存,当待检状态库存不足时也会正常提示出来。


2、 库存余额数量不对

这可能有多种原因引起需要具体分析余额的更新快照,先在开发平台找到即时库存余额表,列表界面预览后设置过滤条件,选中有问题的库存明细行查看更新快照

2.1快照中显示的单据编号查寻不到?

根据过往经验,有如下场景可能造成这种问题:

1) 场景1非法单问题,曾经有的顾问对星不了解,反审核单据不成功(正常的单据校验不通过)然后就通过开发平台扩展放开删除按钮或者直接通过数据库删除单据,并认为单据没有了余额记录也会自动更新。其实没有通过余额更新规则配置的回滚操作,如反审核单据,就不会更新余额。对于这种后台操作一定要尽可能的避免,不得已要如此处理时也要充分评估风险。且后台操作在系统中没有操作日志,很难分析定位问题,往往需要找可能的负责人沟通询问。

2) 场景2,某客户是通过MES系统对接星生成完工入库单,生成单据时调用了单据的审核操作,审核操作会触发余额更新规则更新余额,然后单据审核可能存在校验不通过的情况,然后单据生成失败并回滚,而余额更新是在另外的事务处理,却更新成功(代码级联操作,A操作触发了B操作,A操作失败回滚,这样也造成了余额错误。这种问题需要在技术方案上重新考虑。单据被删除的问题,需要按单据ID重算余额,可以将原余额快照回滚,同时重新计算余额。


2.2即时余额明细报表与收发汇总表/明细表结存数量为什么对不上?

我们先了解一下这两个报表的数据来源即时余额明细报表取的是im_inv_realbalance即时库存余额表,而收发汇总表/明细表的期初和结存数量是根据im_inv_periodbalance库存期间余额表最近一期的期初数量加减截止日期当期的出入库单据计算得出的,正常情况下收发汇总表/明细表截止到当天的结存数量应该与即时余额表数量一致,如果出现不一致可用分别查询两个余额表的快照进行比对,更新的单据和数量是否一致。常见问题如下:

1) 场景1如2.1节中的非法单问题。

2) 场景2用户录入单据时某库存维度字段录入错误,比如批号、仓位等,然后并为正常反审核修改,而是刷数据库修改完成了。

3) 场景3,二开逻辑在单据审核后又更新了余额的维度或发生数据字段。

4) 场景4,客户自定义的反写规则,单据审核后又反写到了发生数据字段。


2.3收发汇总表/明细表上期的结存与本期的期数量为什么对不上?

上面2.2小节我们提到,收发汇总表/明细表的期初数量是根据库存期间余额表最近一期的期初数量加减截止日期当期的出入库单据计算得出的,当单据发生了变化,与当时更新的期间余额表不一致时就可能出现此问题,如前面提到的

1) 单据更新余额后被非法删除;

2) 数据库修改过单据的余额期间字段,如记账日期、业务日期;

3) 数据库修改了库存维度字段等等


2.4收发汇总表/明细表某期间结存为什么为负数

1) 类似上述提到的更新期间余额后单据发生变化的情况可能会引起;

2) 在补录单据的情况下,用户补录的出库单据日期在前,入库单据的日期在后。


2.5查看余额更新快照,为什么有的单据重复更新余额

1) 案例1:某客户场景是通过接口生成星的单据,单据审核后接口直接单后又重新同步生成了同样单据,单据编号一样,但单据ID发生了编号,之后由于某种原因重算余额后,会按新的ID重新更新余额,而原ID的更新记录不会被回滚(单据ID如果一样,系统会自动回滚之前的更新),造成余额两次更新。针对于此问题首先需要检查和增加接口的控制,然后再修复数据,从余额更新快照中找到原单据ID,再按单据ID重算余额。

2) 案例2:某客户由于其他余额问题需要进行余额重算,由于数据量较大,部分重算任务执行时间较长,操作人员在第一次未执行完的时候又发起了一次重算,可能会造成重复更新。余额重算需要在支持部门或研发部门指导下进行,不建议现场直接处理,另外也需要确认重算完成后才可以再次执行重算。


2.6单据反审核后重新审核,或者按单据重算余额后原余额更新快照没有回滚,是为什么

案例1:用户复制了一条余额更新规则,单据也根据此规则更新了余额,后来用户做了调整,又删除了那条规则,这时单据再次更新时,由于拿不到原有的更新规则无法回滚。此问题目前只有全量清空余额后全量重算余额。业务操作上需要避免删除已经发生业务的更新规则,确实不需要用到的,标识为禁用即可。


三、 其他注意事项

1、 修复数据只是治标,分析定位引发余额问题的根本原因,解决根本问题才是治本

2、 尽可能通过反审核和重新审核单据用标准的更新逻辑解决问题,这样是最可靠的修复方法

3、 修复数据需要考虑存货核算相关数据,库存单据会同步生成入库/出库核算单据、核算成本记录等,需要评估上游修复后与核算数据是否需要同步修复;

4、【余额更新规则】字段映射的“匹配方式”不推荐使用“不匹配”这个选项。已使用的都应进行调整(取源单字段或系统默认值),调整后数据异常,应重算。

不推荐使用原因:该场景在业务上方案不够完整,技术上有较多无法突破的瓶颈,标准产品将探索更优的解决方案。


-the end-





库存余额问题分析解决指南

一、 背景介绍余额通常包括即时库存余额、期间库存余额、核算期间余额,是供应链中查询和更新最频繁的数据,对企业的管理具有极其重要的意...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息