委外 材料核销 (按订单发料清单核销) 算法逻辑梳理原创
金蝶云社区-KFL
KFL
1人赞赏了该文章 1,958次浏览 未经作者许可,禁止转载编辑于2021年10月19日 17:17:20

业务流程

材料核销 (按订单发料清单核销)的业务流程就不多赘述,主要流程如下:

1. 新增委外订单

2. 由 委外订单 下推 委外发料单 和 委外入库单

3. 在材料核销界面勾选 委外入库单分录, 核销标准为 按订单发料清单自动核销,进行核销


算法逻辑

首先,进行核销时,发料单的本次核销基本数量计算公式如下:

本次核销基本数量 = 委外入库单基本数量 * 定额标准 * (100+损耗率)% 

本次核销基本数量 会根据 发料单物料的基本计量单位的精度 进行 四舍五入 。注意这里因为精度的四舍五入可能会出现尾差,举个例子(以下数据均为虚构):

image.png

如上图,发料清单上 定额标准 为1,损耗率为 1,所以数量计算得出 48.48 ,但因为这个物料的基本计量单位精度为0,所以向上取整为49(因为基本计量单位精度为0,不存在 0.5台 这样的数量。而进行核销时,按上面的公式计算 得出 本次核销基本数量 为 48.48,四舍五入后为 48,这就导致发料单的核销数量少了 1 台。


于是针对上面例子的问题,会根据当前核销的委外入库单是否为最后一笔入库,是的话进行一个尾差处理,保证发料单的已核销数量能够和委外订单上的数量一致。


正常核销

核销过程中,入库单的核销数量为入库单上的数量,而发料单的核销数量根据委外发料单的发料数量进行判断,正对根据委外发料单的发料数量可以将分为两种情况:发料单缺发料、发料单完全发料或超发料。

1.发料单缺发料

    因为本次核销基本数量是 由委外入库单的基本计算得出,所以当发料单缺发料时,本次核销基本数量 > 发料单未核销数量,这种情况 委外入库单核销数量不变,发料单的核销数量会根据 发料单的未核销数量 进行核销。

2.发料单完全发料或超发料

    当发料单完全发料或超发料时,本次核销基本数量 <= 发料单未核销数量这种情况 委外入库单核销数量不变,发料单的核销数量会根据 (订单发料清单上基本数量 - 发料单的已核销数量 )得出。


如果无论发料单多发料了多少都要核销完的话,那就需要勾选 核销界面上的完全核销选项,进行完全核销


完全核销

勾选了 完全核销 选项,委外发料单的核销数量就不需要通过计算得出,而是委外发料单上有多少数量就核销多少数量。

不过完全核销需要注意一点:当勾选多笔同一个核销单据行id的委外入库单,进行完全核销时,前面的入库单都是走正常核销的逻辑,只有最后一笔会进行完全核销。

接着上面例子的订单下推分别下推委外入库单和委外发料单:

image.pngImage_20211002163528.png


在核销界面如果只勾选一条入库单,进行完全核销的话,两条发料单都会与多选入库单核销;

Image_20211002163741.pngimage.png


在核销界面如果两条入库单都勾选,进行完全核销的话,第一笔入库单是正常核销,第二笔入库单才会进行完全核销;

image.pngimage.png

赞 1