从 C# 应用程序添加账单时如何在 QuickBooks 中添加帐户参考

How to add Account Reference in QuickBooks while adding bills from c# application

我正在使用 Quickbooks Desktop 18.0,我正在通过 Web Connector 在我的 c# 应用程序和 QuickBooks 之间同步数据。

我有一项任务,我必须推送账单,我在供应商 -> 账单下为账单中的每个费用行预定义了帐户参考。

我无法提交账单,因为我收到这样的错误

0x80040400: QuickBooks found an error when parsing the provided XML text stream

帐户引用中的中间点分隔符导致的错误。帐户参考名称是

EXPENDITURE:Marketing:858700 · Advertising

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 &quot;EXPENDITURE:Marketing:858700 - Advertising&quot; in the Bill.  QuickBooks error message: Invalid argument.  The specified record does not exist in the list." />
</QBXMLMsgsRs>
</QBXML>

我需要将账单与帐户参考一起推送。

我该怎么办?

请帮忙。提前致谢。

这里有几件事 --

  1. 您不能随意更改帐户名并期望它能正常工作。因此,不要只是将随机字符(例如项目符号点)换成 -dash- 并期望它能正常工作。

  2. 谁给你那个账户名给了你错误的数据。帐户名实际上是:EXPENDITURE:Marketing:Advertising。他们 copy/pasted 从 QuickBooks 中的一份报告中提取了一些东西,并给你 Account Number Account Name 字段混在一起(通过那个圆点)。单独的实际帐户名称不包括项目符号点。

  3. 将来,如果您对 QuickBooks 执行 AccountQuery,您可以查看您返回的 FullName 并查看您应该使用的实际帐户名, 与依靠某人发送的数据 you/you 在 UI 中看到的数据相比,这些数据的格式是帐号加上帐户名。