使用QuickBooks Desktop SDK发起BillAdd请求时无法按名称查找子账户
解决QuickBooks Desktop SDK子账户AccountRef名称查找失败的问题
核心原因
QuickBooks允许不同父账户下存在同名子账户,单独使用子账户名称无法唯一定位到对应记录,这就是你遇到报错的根源——必须指定完整的层级名称路径才能正确匹配子账户。
解决方法
- 使用层级名称引用子账户:按照「父账户名称:子账户名称」的格式填写,比如父账户是"运营支出",子账户是"My sub-account",需要写成
"运营支出:My sub-account"。注意必须和QuickBooks界面中显示的账户完整名称完全一致(包括空格、大小写)。 - 优先用ListID引用(更可靠):如果层级名称仍有问题,可先调用
AccountQuery接口,通过子账户名称+父账户名称的条件过滤,获取目标子账户的ListID,后续BillAdd请求中用ListID指定AccountRef。ID是唯一标识,不会出现匹配错误。
额外注意
测试时可以直接复制QuickBooks界面里子账户的完整显示名称,避免手动输入导致的格式或字符错误。
内容的提问来源于stack exchange,提问作者Anna Aimeri
相关产品推荐
相关产品推荐

