1功能介绍
作为一名费用会计,我想要在审核费用报销单时检查发票是否在费用发生日期的下个季度的第一个月的15号前报销,以方便确认报销合规性。
2主要操作
2.1新增智能数据洞察决策方案
1、智能数据洞察应用,方案列表菜单,点击新增,源单选择费用报销单,检查项类型选择单据检查。
2、详情配置页面,检查目标选择“目标单内容检查”,源单与目标单关系选择“本单”。
3、新增检查规则配置,高级表达式中配置如下信息:
dateDiffUnit(er_dailyreimbursebill_billObj.expenseentryentity.happendate , er_dailyreimbursebill_billObj.bizdate ,"Q" ) ==0 --该条表达式的意思是费用报销单的申请日期与费用发生日期同属于一个季度(属于时效内报销,合规)
dateDiffUnit(er_dailyreimbursebill_billObj.expenseentryentity.happendate , er_dailyreimbursebill_billObj.bizdate ,"Q" ) ==1 && mod(month( convertJavaDate(er_dailyreimbursebill_billObj.bizdate)),3) == 1 && date( convertJavaDate(er_dailyreimbursebill_billObj.bizdate) )<=15 --该条表达式的意思是费用报销单的申请日期是费用发生日期的下一个季度的第一个月的15号前(属于时效内报销,合规)
dateDiffUnit(er_dailyreimbursebill_billObj.expenseentryentity.happendate , er_dailyreimbursebill_billObj.bizdate ,"Q" ) >1 --该条表达式的意思是费用报销单的申请日期比费用发生日期大于1个季度(属于超时效报销,不合规)
dateDiffUnit(er_dailyreimbursebill_billObj.expenseentryentity.happendate , er_dailyreimbursebill_billObj.bizdate ,"Q" ) ==1 && mod(month( convertJavaDate(er_dailyreimbursebill_billObj.bizdate)),3) != 1 --该条表达式的意思是费用报销单的申请日期在费用发生日期的下一个季度,但是并不是下一个季度的第一个月(属于超时效报销,不合规)
dateDiffUnit(er_dailyreimbursebill_billObj.expenseentryentity.happendate , er_dailyreimbursebill_billObj.bizdate ,"Q" ) ==1 && mod(month( convertJavaDate(er_dailyreimbursebill_billObj.bizdate)),3) == 1 && date( convertJavaDate(er_dailyreimbursebill_billObj.bizdate) )>15 --该条表达式的意思是费用报销单的申请日期在费用发生日期的下一个季度,且是下一个季度的第一个月,但是不是第一个月的15号前(属于超时效报销,不合规)
2.2新增费用报销单,验证各个场景是否符合预期。
场景1、报销日期和费用发生日期,同属于一个季度,允许报销(合规)
场景2、报销日期在费用发生日期的下一个季度的第1个月的15号前,允许报销(合规)
场景3、报销日期与费用发生日期间隔大于1个季度,报销不合规
场景4、报销日期在费用发生日期的下一个季度,但是不是下一个季度的第1个月,报销不合规
场景5、报销日期在费用发生日期的下一个季度,且是下一个季度的第1个月,但是不是15号前,报销不合规
推荐阅读