一、 业务场景
采购费用分摊,应付单可以分摊给多张入库单,如果采购入库单是以前期间,会生成对应的成本调整单,如果采购入库单是当期及以后期间且参数【采购入库/委外入库支持费用分摊】为是,分摊费用会反写到入库单。
例如:当前期间是2023.6期,以下分摊结果中6期的采购入库单直接反写采购费用到入库单,5期采购入库单会生成对应的成本调整单。当参数【费用分摊业务生成凭证的方式】为“应付费用发票和成本调整单分别生成”,用户使用采购核销记录生成凭证,由于生成凭证时不会考虑采购费用,导致供应链和总账对账不平。
应付单生成凭证,应借4.43(科目原材料),借13.27(中转科目),贷17.7(科目应付)。
成本调整单生成凭证,应借13.27(科目原材料),贷13.27(中转科目)。
二、 实践思路
费用分摊记录成本调整单部分金额可以通过应付单联查费用分摊记录,取到对应金额,反写入库单部分可以通过费用分摊记录找到所有采购入库单,再排除生成了成本调整单的数据。
三、 具体实现
凭证规则中借方科目分两行取数,使用自定义函数分别查询成本调整单和采购入库单金额。
1. 在任意转换规则配置界面按F9,输入管理员密码进入自定义函数界面
2. 新增两个自定义取数函数 脚本内容:
return #sql_val(" select sum(alleae.FCURRAPPORTIONAMT) from T_CL_ExpenseApportionEntry eae inner join T_CL_ExpenseApportionEntry alleae on eae.FPARENTID = alleae.FPARENTID and alleae.FBILLTYPEID = '3a3b5446-0106-1000-e000-01bcc0a812e6463ED552' where eae.FSOURCEBILLID = '"+id+"'");
return #sql_val(" select sum(alleae.FCURRAPPORTIONAMT) amt from T_CL_ExpenseApportionEntry eae inner join T_CL_ExpenseApportionEntry alleae on eae.FPARENTID = alleae.FPARENTID INNER JOIN T_im_purinwarehsbill bill on alleae.FSOURCEBILLID = bill.fid where eae.FSOURCEBILLID = '"+id+"' and not exists (select 1 from t_cl_costadjustbillentry t1 INNER JOIN T_CL_ExpenseApportionEntry t2 on t1.fid = t2.FSOURCEENTRYID INNER JOIN T_CL_ExpenseApportionEntry t3 on t2.FPARENTID = t3.FPARENTID where t3.FSOURCEBILLID = '"+id+"' and t1.FSOURCEBILLID = bill.fid ) ");
3. 分别配置单据转换规则
4. 生成凭证,验证结果
四、 注意事项
参数【采购入库/委外入库支持费用分摊】可以随时切换,参数为否时本期及以后期间的入库单也会生成成本调整单。