0

我正在尝试将发票从我的应用程序导出到 QuickBooks Desktop。发票已创建,我收到一条成功消息,但 QuickBooks 桌面应用程序未反映通过 API 发送的金额、价格或数量。

这是一个此类操作的请求/响应示例:

要求:

<?xml version="1.0"?>
<Mod xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.intuit.com/sb/cdm/v2" RequestId="6ffd7874b723b84ad2eba8146c12fda1">
  <ExternalRealmId>MY_REALM_ID</ExternalRealmId>
  <Object xsi:type="Invoice">
    <Id idDomain="NG">2064384</Id>
    <SyncToken>4</SyncToken>
    <Header>
      <DocNumber>100009</DocNumber>
      <TxnDate>2013-10-16</TxnDate>
      <Status>Pending</Status>
      <CustomerId idDomain="QB">2</CustomerId>
      <CustomerName>Jenny Cliff</CustomerName>
      <RemitToId idDomain="QB">2</RemitToId>
      <RemitToName>Jenny Cliff</RemitToName>
      <ShipDate>2013-10-16</ShipDate>
      <SubTotalAmt>950.0</SubTotalAmt>
      <TaxRate>0.0</TaxRate>
      <TaxAmt>0.0</TaxAmt>
      <TotalAmt>950.0</TotalAmt>
      <ToBePrinted>true</ToBePrinted>
      <ToBeEmailed>false</ToBeEmailed>
      <ARAccountId idDomain="QB">40</ARAccountId>
      <ARAccountName>Accounts Receivable</ARAccountName>
      <DueDate>2013-10-17</DueDate>
      <BillAddr>
        <Line1>217 E Washington Ave,</Line1>
        <City>Sunnyvale</City>
        <Country>USA</Country>
        <CountrySubDivisionCode>CA</CountrySubDivisionCode>
        <PostalCode>94086</PostalCode>
        <Tag>Billing</Tag>
      </BillAddr>
      <ShipAddr>
        <Line1>217 E Washington Ave,</Line1>
        <City>Sunnyvale</City>
        <CountrySubDivisionCode>CA</CountrySubDivisionCode>
        <PostalCode>94086</PostalCode>
        <Default>false</Default>
        <Tag>Shipping</Tag>
      </ShipAddr>
      <Balance>950.0</Balance>
    </Header>
    <Line>
      <Desc>Test Item 1</Desc>
      <Amount>500.0</Amount>
      <UnitPrice>500.0</UnitPrice>
      <Qty>1</Qty>
    </Line>
    <Line>
      <Desc>Test Item 2</Desc>
      <Amount>450.0</Amount>
      <UnitPrice>450.0</UnitPrice>
      <Qty>1</Qty>
    </Line>
  </Object>
</Mod>

回复:

<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2">
  <Success RequestId="6ffd7874b723b84ad2eba8146c12fda1">
    <ObjectRef>
      <Id idDomain="NG">2064384</Id>
      <SyncToken>5</SyncToken>
      <LastUpdatedTime>2013-10-16T17:45:06Z</LastUpdatedTime>
    </ObjectRef>
    <RequestName>InvoiceMod</RequestName>
    <ProcessedTime>2013-10-16T17:45:06Z</ProcessedTime>
  </Success>
</RestResponse>

文档参考可以在这里找到。

4

1 回答 1

5

根据文档:

对于您指定的每个节点,您还必须指定一个 Item 节点。从文档:

  • 项目 ID
  • 身份类型
  • 必需的
  • Item 对象的 ID。Create 操作需要对 Item 的引用,ItemId 或 ItemName;ItemId 是首选。

更改您的 XML 请求,以便您引用一个项目。

这反映了 QuickBooks GUI 的行为。

于 2013-10-16T19:02:29.933 回答