采购流程计价单位和库存单位浮动换算时的一种处理方式原创
金蝶云社区-九月_Sept
九月_Sept
101人赞赏了该文章 1232次浏览 未经作者许可,禁止转载编辑于2023年11月12日 12:41:08

一、业务需求背景

    如物料【钢材】,计价单位是【千克】,基本单位、采购单位、库存单位都是【平方米】,设置浮动换算比例是1:1,采购订单录入采购数量为10平方米,默认携带出来的计价数量也是10千克,在收料通知单环节,根据实际重量进行称重确认,如称重为13.56千克,希望在后续入库、应付等环节,按照收料通知单上10平方米,13.56千克的比例携带。


二、需求分析

    1、标准系统在处理浮动换算时,是会根据物料上配置的浮动换算比例来重新计算,需要在每个环节都要重新称重录入,所以上述例子,在收料通知单称重后下推入库单,又会重新换算出计价数量为10千克。

    2、考虑在收料通知单称重时,计算出一个浮动换算比例,将这个比例一直携带到下游单据。当计价单位和库存单位是浮动换算时,根据这个比例进行相关计算。

    3、因为在采购入库单到应付单后续环节是用计价基本数量进行携带换算, 所以考虑入库单后续流程环节采用尾差策略调整。财务环节可参考:https://vip.kingdee.com/article/362247731672613120?productLineId=1&isKnowledge=2


三、具体配置步骤

1、物料【GC202301】 基本单位为【平方米】,采购计价单位【千克】,浮动换算,换算比例如下

image.png

2、收料通知单新增一个小数字段【浮动换算比例】

  • 浮动换算比例=计价数量/交货数量,保留6位小数(保留的小数位需要大于单位精度,这样可以确保用比例换算时减少误差)

  • 可设置字段【浮动换算比例】不允许修改

image.png

  • 单据转换【采购订单-收料通知单】,表单服务策略中,配置【浮动换算比例】作为一个初始值比例值,服务顺序放在最后。下推后根据实际情况修改计价数量时重新计算【浮动换算比例】

  • 配置前提条件【FPriceUnitId  <> null AND  GETCONVERTTYPE ( FMaterialId ,FStockUnitId , FPriceUnitId ) <> 0】 当计价单位和库存单位是浮动换算时,触发执行。

  • 计算公式 F_QVBL_DECIMAL=round( FPriceUnitQty / FActReceiveQty,6)

image.png

  • 在收料通知单的计价数量、交货数量两个字段上配置值更新,计算【浮动换算比例

  • 注意配置前提条件为浮动换算时【FPriceUnitId  <> null AND  GETCONVERTTYPE ( FMaterialId ,FStockUnitId , FPriceUnitId ) <> 0】

  • 配置的公式如下【 F_QVBL_Decimal =round( FPriceUnitQty / FActReceiveQty,6)】

image.png

  • 配置后效果如下

image.png

3、携带浮动换算比例字段到下游采购入库单

  •  采购入库单上新增一个小数字段【浮动换算比例】,单据转换中将字段【浮动换算比例】直接携带到下游采购入库单

image.png

  • 单据转换中表单服务策略配置重算计价数量服务

  • 表单服务策略添加服务,服务类型为【计算定义公式的值并填写到指定列】

  •  注意配置前提条件为浮动换算时,且换算比例大于0的时候重算【(FPriceUnitId  <> null AND  GETCONVERTTYPE ( FMaterialId , funitid, FPriceUnitId ) <> 0 )  and  F_QVBL_Decimal >0】,配置换算比例大于0主要是针对兼容历史未下推入库单的收料通知单,计算公式【FPriceUnitQty = FRealQty * F_QVBL_Decimal 】

  •  服务添加的位置,如截图所示,在实收数量计算之后,金额计算服务image.png


  • 同时在该服务后,再加一条服务,类型为【根据数量关联的单位自动计算目标数量】,前提条件配置为浮动换算时触发,根据上一步计算出来的计价数量换算对应的计价基本数量

image.png

  • 配置后收料通知单下推采购入库单效果如下,浮动换算的物料,按照配置计算,固定换算的物料按照系统标准逻辑计算。

image.png

  • 考虑到收料通知单可能存在分多次下推入库单的情况,需要在采购入库单上的实收数量字段的值更新添加换算服务,当是浮动换算时,重算计价数量

  • 前提条件设置为浮动换算时:【FPriceUnitId  <> null AND  GETCONVERTTYPE ( FMaterialId , FUnitID  , FPriceUnitId ) <> 0

  • 配置截图如下,浮动换算时,重算计价数量,并根据计算出来的计价数量换算计价基本数量,注意值更新服务的位置顺序

image.png

image.png


  • 通过上述配置,如果收料通知单部分下推入库单时,修改实收数量会根据上游携带的浮动换算比例,重新计算出对应的计价数量。(默认换算比例在收料通知单称重确认后不再发生改变),效果如下截图

image.png

4、采购入库单下推暂估应付单时

image.png

  • 采购入库单下推暂付应付单效果如下

image.png

5、暂估应付下推财务应付时

  • 在单据转换【应付单—应付单】(暂估应付推财务应付分录),尾差策略,新增如下,并勾选【在转换中启用尾差处理】

image.png

  •  暂估应付下推财务应付效果如下

image.png


6、财务应付下推发票

  • 单据转换【应付单-采购增值税专用发票】,尾差策略,新增如下,并勾选【在转换中启用尾差处理】

image.png


四、总结一下

  • 采购环节不启用尾差处理方法,是考虑到实际业务中经常存在分多次下推的情况,尾差调整只是在最后一笔下推完才会触发,而实际业务希望分多次下推时,都是按照收料通知单称重时的比例携带。还有另外一个原因是采购流程环节会存在变更单价的情况,启用尾差有时候会导致价税合计异常。

  • 浮动换算需要在录入单据时,根据实际重量去修改单据上的对应数量字段,而不是每次去修改物料上的浮动换算率,不管是浮动换算还是固定换算,都不建议去修改物料的换算率,很容易会导致数据异常。

  • 浮动换算配置需要结合具体实际的业务,主要看在哪个环节确定称重确认数量,哪两个单位是浮动换算的,根据不变的换算数换算成浮动的数。

    


 

   



赞 101