本文讨论了跨组织销售业务中,不参与核算物料销售时遇到的财务核算问题。由于物料在库存组织中不参与核算,但在销售组织中需进行成本核算,导致现有单据设置无法满足财务要求。解决方案为在销售出库单和采购入库单上增加“参与核算”字段,通过配置使这些单据在结算组织中参与核算。该方案解决了跨组织交易中核算难题,但需业务人员手动操作并注意核对单据类型。
一、业务背景
(一)业务背景
10087组织(工厂)通过10086组织(销售公司)将不参与核算的物料卖给外部客户(这里不参与核算的物料在即时库存的库存状态=不参与核算,物料实质可能是研发试制产品、已报废呆滞物料等。)
系统单据采用的是跨组织销售方式,做对外销售出库单(库存组织=10087组织,销售组织=10086组织),由于物料的库存状态是库存组织下的库存状态,因此在这张销售出库单上,物料的库存状态=不参与核算。
跨组织销售业务一共有三张业务单据,销售出库单(原单,对外销售),内部交易产生采购入库单,内部交易产生的销售出库单,单据的库存状态也是携带原单的库存状态。这三张单的核算关系如下:
销售出库单(原单) | 采购入库单(内部交易产生) | 销售出库单(内部交易产生) | |
核算组织 | 结算组织(10086组织) | 结算组织(10086组织) | 结算组织(10087组织) |
库存状态 | 不参与核算 | 不参与核算 | 不参与核算 |
但是财务核算要求,10087组织本身将不参与核算物料进行销售,因此可以没有成本,但是10086组织是正常向10087组织采购,支付了结算金额,是需要参与核算的,需要计算销售成本的。
销售出库单(原单) | 采购入库单(内部交易产生) | 销售出库单(内部交易产生) | |
核算组织 | 结算组织(10086组织) | 结算组织(10086组织) | 结算组织(10087组织) |
库存状态 | 不参与核算 | 不参与核算 | 不参与核算 |
核算要求 | 需要核算 | 需要核算 | 不需要核算 |
存货核算是按照单据行进行核算,而这三张单据的库存状态都是不参与核算,导致10086组织无法核算到这笔业务的采购和销售成本。但是又不能去修改销售出库单(原单)的库存状态,因为这样就会导致即时库存不对。
(二)业务需求
由于原单的库存状态是根据库存组织生成,不能进行修改(修改的话会影响即时库存数据准确性),那么怎么样才能使销售出库单(原单)、采购入库单(内部交易产生)都参与核算呢?
二、解决方案
(一)整体思路
我们现在通过在销售出库单上增加字段以及根据这个字段修改核算单据配置的方式进行处理。
在销售出库单(原单)、采购入库单(内部交易产生)上配置字段“结算组织参与核算”,当销售出库单(原单)勾选时,即时库存状态=不参与核算,这张单也会在核算组织(结算组织)下进行核算,生成内部交易单据时,采购入库单(内部交易产生)也携带这个字段。
(二)关键步骤
步骤1:销售出库单添加“结算组织参与核算”的复选框,勾选代表在结算组织参与核算。
注:存货核算配置单是高阶配置,因此前台是没有发布出来的,需要去BOS发布。
发布完成后,开始进行配置:
1、先找到销售出库单。
在中间添加过滤条件FcheckBox=1
原核算过滤条件(设置前先比对下,看打开的单据是否正确):FBussinessType<>'VMI' and FOwnerTypeId= 'BD_OwnerOrg' and FDocumentStatus <> 'Z' and FCANCELSTATUS='A' and FBaseUnitQty>0 and FISGENFORIOS='0' AND FStockStatusID.FType<>'8' AND FRowType IN('Standard','Son',' ')
调整后:FBussinessType<>'VMI' and FOwnerTypeId= 'BD_OwnerOrg' and FDocumentStatus <> 'Z' and FCANCELSTATUS='A' and FBaseUnitQty>0 and FISGENFORIOS='0' AND (FStockStatusID.FType<>'8' OR FCheckBox = '1') AND FRowType IN('Standard','Son',' ')
2、配置采购入库单(调拨),出入库类型=调拨的才是组织间结算生成的采购入库单。
同理,把采购入库单上的“内部交易是否参与核算”字段标识也添加进去:
调整前:FOwnerTypeId= 'BD_OwnerOrg' and FDocumentStatus <> 'Z' and FCANCELSTATUS='A' and FBaseUnitQty>0 and FISGENFORIOS='1' AND FStockStatusId.FType<>'8' AND FRowType IN('Standard','Son',' ')
调整后:FOwnerTypeId= 'BD_OwnerOrg' and FDocumentStatus <> 'Z' and FCANCELSTATUS='A' and FBaseUnitQty>0 and FISGENFORIOS='1' AND (FStockStatusId.FType<>'8' or FCheckBox='1') AND FRowType IN('Standard','Son',' ')
3、再打开出入类型=标准的采购入库单配置暂估过滤条件。
调整前:FDOCUMENTSTATUS='C' and FCANCELSTATUS='A' and (FBusinessType='CG' or FBusinessType = 'DRPSALE' or FBusinessType='ZYCG') AND (FStockStatusId.FType<>'8' or FROWTYPE = 'Parent')
调整后:FDOCUMENTSTATUS='C' and FCANCELSTATUS='A' and (FBusinessType='CG' or FBusinessType = 'DRPSALE' or FBusinessType='ZYCG') AND (FStockStatusId.FType<>'8' or FCheckBox='1' or FROWTYPE = 'Parent')
4、配置完成后,保存并清除缓存。
三、方案推广价值
原单的库存状态确实是不参与核算,但是财务又要求这张单参与核算,其实是跨组织交易业务天然就不支持这种销售不参与核算物料的场景。
在标准产品未能实现的情况下,解决客户跨组织销售业务中,库存组织不参与核算销售组织参与核算的核算问题。
四、注意事项
1、这个方案需要业务人员在做单时进行操作,也就是在销售出库单上勾选结算组织参与核算,如果在未勾选的情况下,产生了内部交易单据,就需要反审核销售出库单重新勾选。
2、如果已经无法反审核销售出库单,需要通过审核状态下允许勾选此选项,并重新核算。历史单据无法处理。
3、这种处理方式就需要人为的判断和勾选。但是库存组织不参与核算,销售组织参与核算这种场景应该在企业少见,总体来说的,应该工作量也不大。
4、由于同一个单据名称存在多种类型,调整的时候切记核对好,不要改错单据。
推荐阅读