Quickbooks XML因QuantityOnHand而失败

时间:2013-07-12 18:48:17

标签: xml quickbooks qbxml

我正在尝试将以下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>

1 个答案:

答案 0 :(得分: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还有更多信息。

希望有所帮助!