问题描述:
销售类型单据在审核或者反审核时经常会遇到以下提示:汇率体系缺少【PREXXX-PREXXX】的汇率算换,请检查汇率体系数据 ,如下图所示提示:
该提示常见原因是启用了信用管理,在审核或者反审核(根据信用检查规则设置的更新时点判断是提交还是审核)的时候,更新信用检查时发现缺少对应汇率换算。
信用更新是用单据上的结算币别和对应信用档案的币别进行换算,所以要先检查信用档案上的币别和单据上的结算币别是否存在对应的汇率换算。同时信用更新的时候,不仅仅只检查当前审核的单据,而且还检查该信用档案对应的信用对象下所有更新信用的单据。
如下例子,销售订单审核时,提示缺少欧元和人民币的汇率换算。
查看该订单结算币别是人民币,对应信用档案也是人民币,这两个币别一致,所以不应该提示缺少汇率换算。
单据的结算币别如下:
信用档案的币别如下
所以审核提示缺少欧元和人民币的汇率换算,不是这个销售订单导致,应该根据信用检查规则的信息,看整个流程都有哪些单据更新信用。如本地测试使用的检查规则是【普通客户信用检查】,所以从销售订单开始检查对应信用档案客户的所有销售单据(销售订单、发货通知单、销售出库单匹配信用档案是用结算方字段,而不是客户字段),检查对应的结算币别。
通过销售订单列表查询到对应客户的销售订单确实存在结算币别为欧元的记录,所以在审核销售订单时,会根据提示缺少欧元和人民币的汇率换算。需要在汇率体系中添加对应币别换算,然后进行一次信用重算,就可以正常审核销售订单。
上述是通过前端系统界面查询,可能会比较花费时间查询到异常单据,如果可以直接连数据库,也可以参考以下方式直接在后台查询分析(附件有查询脚本参考)。
1、根据单据提示缺少的汇率换算,查询出对应信用单据信息。
2、如上查询出来是销售订单以及对应的单据ID,则根据这个信息查询出对应的单据号
3、如果在第一步查询出来的结果,没有具体的单据类型以及单据ID,如下图所示,则需要根据查询出来的信用档案id以及提示的币别ID在T_CRE_USEDETAILBAK 【信用占用明细归档表】继续查询
继续在信用占用归档表【T_CRE_USEDETAILBAK 】查询,根据查询出来单据类型以及ID值查询对应的单据
4、前台系统打开单据对应单据信息,根据单据信息检查对应的汇率体系是否缺少提示的信息。
总结:
单据更新信用时,是根据单据上的结算币别和信用档案的币别进行换算,如涉及不同的币别,需要在汇率体系中添加对应的汇率换算关系,且汇率类型要正确。如需要在固定汇率添加,结果添加到其他汇率类型,依旧会提示缺少汇率关系。
汇率类型的检查:销售组织对应默认核算体系中,核算组织绑定的默认会计政策里的默认汇率类型。
检查信用单据的结算币别,不仅仅只检查当前操作的单据,还需要检查该信用对象的历史单据,更新信用的单据可以结合该信用对象所绑定的信用检查规则里涉及到的单据。同时销售订单、发货通知单、销售出库单匹配信用档案是用结算方字段。
如果币别存在重名,如币别里有两个名称都是【美元】,这时仅仅通过名称无法区分单据和信用档案使用的是哪个美元,需要将对应币别编码显示出来比较,可以在BOS对应单据上添加一个【基础资料属性】,用于显示币别编码。这样就可以区分单据上和信用档案的币别是否一致。
参考的查询脚本.rar(0.77KB)