凭证API提示“借方金额不等于贷方金额”的原因及解决办法原创
金蝶云社区-战斗的凯文
战斗的凯文
8人赞赏了该文章 364次浏览 未经作者许可,禁止转载编辑于2024年04月03日 10:11:03

        不少开发在调用凭证API时,都遇到过提示“借方金额不等于贷方金额”的问题,如下图所示:
image.png

    但实际上,上传的凭证借贷方总金额是相等了,因此,不知道从何处开始分析原因。

    其实,对于系统来说,根据凭证实体中的数据来计算,确实是检查到了借方金额不等于贷方金额,提示并没有问题,根本原因是:json报文中个别科目编码指定有误,如编码不存在,编码在账簿核算组织下不可用,编码已禁用等。这导致科目录入不成功,此时系统默认无提示,由于科目是凭证分录中的关键字段,当平台检测到分录中的关键字段未录入时,会自动将该行数据删除,这样实体中就会少一行数据,借贷总金额自然不等了。

    要验证具体是哪一行的科目有误,可以设置报文json中的参数IsVerifyBaseDataField为true。该参数的官方说明如下:

    IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录),推荐值为true。

    该参数一般建议在项目开发阶段时一定要开启验证,否则可能的异常问题未暴露出来,会造成其它古怪的问题,很难排查原因。后期项目稳定了,出于性能考虑,可以设置为false。

    设置IsVerifyBaseDataField为true后,如果某个科目有误,系统会提示出具体哪一行的科目有问题,方便排查。

    另外,也可以手工验证。由于API上传凭证的实质和手工录入是一样的,因此,可以用方法为手工录入相同凭证的办法来找到有问题的科目。具体方法为:用API相同的用户名登录星空系统,然后进行凭证录入,录入和上传的报文相同的凭证内容,包含账簿,日期和科目等信息,如果遇到某行科目录入不了,就说明该科目不可用。

图标赞 8
8人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0