我正在使用Quickbooks Desktop 18.0,并且正在通过Web连接器在c#应用程序和QuickBooks之间同步数据。
我有一项任务是必须发送账单,并且在“供应商->账单”下的“账单”中为每个费用行预定义了帐户参考。
我无法提交帐单,因为我遇到这样的错误
0x80040400:QuickBooks在解析提供的XML时发现错误 文字流
由于帐户参考中的中间点分隔符引起的错误。帐户参考名称为
附录:市场营销:858700·广告
查看 858700 和广告。如果我从BillAddRq XML中删除<AccountRef>
标记,则Bill会被推送,如果我用破折号替换中点,则会出现这样的错误
<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<BillAddRs statusCode="3140" statusSeverity="Error" statusMessage="There is an invalid reference to QuickBooks Account "EXPENDITURE:Marketing:858700 - Advertising" in the Bill. QuickBooks error message: Invalid argument. The specified record does not exist in the list." />
</QBXMLMsgsRs>
</QBXML>
我需要将Bill和Account reference一起推送。
我该怎么办?
请帮助。预先感谢。
答案 0 :(得分:0)
这里有两件事-
您不能随便更改一个帐户名,并期望它能正常工作。因此,不要只是将随机字符(例如,项目符号)换成-破折号,并期望它可以工作。
谁给您该帐户名给您错误的数据。帐户名称实际上是:EXPENDITURE:Marketing:Advertising
。他们从QuickBooks的报告中复制/粘贴了一些内容,并给了Account Number
和 Account Name
字段(由该项目符号点弄脏)了。仅实际帐户名不包括项目符号。
将来,如果您对QuickBooks进行AccountQuery
,则可以查看返回的FullName
,并查看您应该使用的实际帐户名与依赖的帐户名在某人发送给您/您的数据中,用户界面中显示的格式是帐号和帐号名。