【问题标题】:Quickbooks XML fails with QuantityOnHandQuickbooks XML 因 QuantityOnHand 而失败
【发布时间】:2013-07-12 18:48:17
【问题描述】:

我正在尝试将以下 XML 发布到 QB 桌面 SDK。当我不包含 QuantityOnHand 或 PurchaseCost 节点时,调用成功,但当包含这些节点中的一个或两个时,调用失败。这是我正在生成的 XML:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="12.0"?>
<QBXML>
  <QBXMLMsgsRq onError="continueOnError">
    <ItemInventoryAddRq>
      <ItemInventoryAdd>
        <Name>11200</Name>
        <IsActive>1</IsActive>
        <SalesDesc>R/C Glider.</SalesDesc>
        <SalesPrice>149.99000</SalesPrice>
        <PurchaseCost>124.99000</PurchaseCost>
        <QuantityOnHand>35</QuantityOnHand>
        <IncomeAccountRef>
          <FullName>Construction Income:Materials Income</FullName>
        </IncomeAccountRef>
        <COGSAccountRef>
          <FullName>Cost of Goods Sold</FullName>
        </COGSAccountRef>
        <AssetAccountRef>
          <FullName>Inventory Asset</FullName>
        </AssetAccountRef>
      </ItemInventoryAdd>
    </ItemInventoryAddRq>
  </QBXMLMsgsRq>
</QBXML>

【问题讨论】:

  • 我得到的错误是:HRESULT 异常:0x80040400
  • 详细登录后,日志文件显示什么?

标签: xml quickbooks qbxml


【解决方案1】:

对于 qbXML,XML 节点的顺序很重要

所以,如果 Intuit XSD/QuickBooks OSR 告诉您节点的顺序应该是:

<SalesDesc >STRTYPE</SalesDesc> <!-- optional -->
<SalesPrice >PRICETYPE</SalesPrice> <!-- optional -->
<IncomeAccountRef> <!-- optional -->
<ListID >IDTYPE</ListID> <!-- optional -->
<FullName >STRTYPE</FullName> <!-- optional -->
</IncomeAccountRef>
<PurchaseDesc >STRTYPE</PurchaseDesc> <!-- optional -->
<PurchaseCost >PRICETYPE</PurchaseCost> <!-- optional -->
<COGSAccountRef> <!-- optional -->
<ListID >IDTYPE</ListID> <!-- optional -->
<FullName >STRTYPE</FullName> <!-- optional -->
</COGSAccountRef>
<PrefVendorRef> <!-- optional -->
<ListID >IDTYPE</ListID> <!-- optional -->
<FullName >STRTYPE</FullName> <!-- optional -->
</PrefVendorRef>
<AssetAccountRef> <!-- optional -->
<ListID >IDTYPE</ListID> <!-- optional -->
<FullName >STRTYPE</FullName> <!-- optional -->
</AssetAccountRef>
<ReorderPoint >QUANTYPE</ReorderPoint> <!-- optional -->
<QuantityOnHand >QUANTYPE</QuantityOnHand> <!-- optional -->

那么您必须按该顺序提供节点。

在您的情况下,您在 IncomeAccountRef、COGSAccountRef 等之前发送 QuantityOnHand,这将被拒绝。另请注意,PurchaseCost 位于 IncomeAccountRef 节点之后。

我们的QuickBooks integration wiki - FAQ sectionQuickBooks wiki in general 有更多信息。

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2018-02-16
    • 2012-10-03
    • 2014-07-16
    • 2021-11-23
    • 2018-10-04
    相关资源
    最近更新 更多