从c#应用程序添加账单时如何在QuickBooks中添加帐户引用

从c#应用程序添加账单时如何在QuickBooks中添加帐户引用,quickbooks,qbxml,Quickbooks,Qbxml,我正在使用Quickbooks Desktop 18.0,并通过Web连接器在我的c#应用程序和Quickbooks之间同步数据 我有一个任务,我必须推送账单,并且我在“供应商->账单”下为账单中的每个费用行预定义了账户引用 我不能推动法案,因为,我得到这样的错误 <?xml version="1.0" ?> <QBXML> <QBXMLMsgsRs> <BillAddRs statusCode="3140" statusSeverity="Error"

我正在使用Quickbooks Desktop 18.0,并通过Web连接器在我的c#应用程序和Quickbooks之间同步数据

我有一个任务,我必须推送账单,并且我在“供应商->账单”下为账单中的每个费用行预定义了账户引用

我不能推动法案,因为,我得到这样的错误

<?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>
0x80040400:QuickBooks在分析提供的XML时发现错误 文本流

由于帐户引用中的中间分隔符而导致的错误。帐户引用名称为

支出:营销:858700·广告

858700广告之间寻找。如果我从billaddrqxml中删除
标记,则会推送Bill,如果我将middot替换为dash,则会出现如下错误

<?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>

我需要把账单和账户证明一起推

我该怎么办

请帮忙。提前谢谢。

这里有几件事--

  • 你不能只是随意更改一个帐户名,然后期望它工作。因此,不要只是将随机字符(如子弹头)换成破折号,并期待它能起作用

  • 给你那个账户名的人给了你错误的数据。帐户名实际上是:
    支出:营销:广告
    。他们从QuickBooks中的报告中复制/粘贴了一些内容,并将
    账号
    账户名
    字段(通过那个圆点)混在一起。实际帐户名本身不包括项目符号点

  • 将来,如果您对QuickBooks执行
    AccountQuery
    ,您可以查看返回的
    FullName
    ,查看您应该使用的实际帐户名,而不是依赖于某人发送给您/您在用户界面中看到的数据,该用户界面的格式为帐号加上帐户名