通过 com 对接录入数据,测试发现 “多借一贷 + 小数金额” 这种情况下经常出现 532 “凭证借贷不平衡,不可保存”,测试了脚本在没有保存之前取出数据计算是平的,有没有金蝶或者相关经验的大佬知道什么原因
环境
问题现象
通过 KIS 客户端界面手工录入以下凭证可以保存成功:
借 6601.003 1098.46
借 2221.012.002 44.41
贷 2241.015 1142.87
但通过 KISProfessionalPlugin.Voucher.Save() 写入同样内容时,稳定返回:
错误号:532
错误描述:凭证借贷不平衡,不可保存
排查结论
已排除 Python 、VBS 、金额赋值类型、摘要、附件数、分录顺序、币别、汇率等因素。使用 VBS 直接调用 COM 仍可复现。
COM 类型库中 VoucherEntry 仅暴露 AcctID、VchDebit、VchCredit、ItemID、ExchangeRate 等字段,没有暴露 KIS UI 保存后数据库中出现的 FAccountID2 对方科目字段。
矩阵测试显示,该问题不是固定行数触发,而是“多借一贷 + 小数金额 + 特定金额组合”下可能触发。两行凭证,即 1 借 1 贷,目前测试稳定成功。

