4

Intuit API V2 を使用して、QuickBooks Online から請求書をインポートしています。

「TotalAmt」フィールドがすべての請求書に存在することが期待されます。過去のある時点で "TotalAmt" が存在していたが、現在は "TotalAmt" フィールドがなく、"Balance" が 0 になっている請求書がいくつかあります。

これはバグですか、それとも予想される動作ですか?

編集: これは、QuickBooks API から取得した応答の 1 つです (インデントのみを変更し、実際のデータを 3 つのドットに置き換えました)。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>    
<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo" xmlns:qbp="http://www.intuit.    com/sb/cdm/qbopayroll/v1">
  <Id idDomain="QBO">36673</Id>
  <SyncToken>1</SyncToken>
  <MetaData>
    <CreateTime>2013-04-10T15:24:03-07:00</CreateTime>
    <LastUpdatedTime>2013-04-11T08:32:11-07:00</LastUpdatedTime>
  </MetaData>
  <Header>
    <DocNumber>...</DocNumber>
    <TxnDate>2013-04-10-07:00</TxnDate>
    <Note>...</Note>
    <CustomerId idDomain="QBO">464</CustomerId>
    <ToBePrinted>true</ToBePrinted>
    <ToBeEmailed>false</ToBeEmailed>
    <SalesTermId idDomain="QBO">1</SalesTermId>
    <DueDate>2013-04-10-07:00</DueDate>
    <BillAddr>
      <Line1>...</Line1>
      <City>...</City>
      <CountrySubDivisionCode>...</CountrySubDivisionCode>
      <PostalCode>...</PostalCode>
      <Tag>CUSTOMER</Tag>
    </BillAddr>
    <ShipAddr>
      <Line1>...</Line1>
      <City>...</City>
      <CountrySubDivisionCode>...</CountrySubDivisionCode>
      <PostalCode>...</PostalCode>
      <Tag>CUSTOMER</Tag>
    </ShipAddr>
    <ShipMethodId idDomain="QBO"/>
    <Balance>0.00</Balance>
    <DiscountTaxable>true</DiscountTaxable>
  </Header>
  <Line>
    <Desc>...</Desc>
    <Taxable>false</Taxable>
    <ItemId idDomain="QBO">5</ItemId>
    <UnitPrice>450</UnitPrice>
    <Qty>1</Qty>
  </Line>
</Invoice>
4

2 に答える 2

1
<Balance>0.00</Balance> 

請求書に関連付けられた金額が 0 であることを示します。この場合、応答 XML には「TotalAmt」フィールドは含まれません。

「TotalAmt」が含まれない場合がいくつかあります。

1.

金額が 0 の請求書を作成しました。その請求書は QBO に記録され、対応する応答 XML が PFB に記録されます。

ここに画像の説明を入力

<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
  <Id idDomain="QBO">50</Id>
  <SyncToken>0</SyncToken>
  <MetaData>
    <CreateTime>2013-07-01T01:59:37-07:00</CreateTime>
    <LastUpdatedTime>2013-07-01T01:59:37-07:00</LastUpdatedTime>
  </MetaData>
  <Header>
    <DocNumber>1016</DocNumber>
    <TxnDate>2013-07-01-07:00</TxnDate>
    <CustomerId idDomain="QBO">6</CustomerId>
    <ToBePrinted>false</ToBePrinted>
    <ToBeEmailed>true</ToBeEmailed>
    <SalesTermId idDomain="QBO">3</SalesTermId>
    <DueDate>2013-07-31-07:00</DueDate>
    <BillAddr>
      <Line1>Park Avenue NY</Line1>
      ...
    </BillAddr>
    <ShipAddr>
      <Line1>Park Avenue NY</Line1>
      ... 
    </ShipAddr>
    <BillEmail>john_doe@digitalinsight.mint.com</BillEmail>
    <ShipMethodId idDomain="QBO" />
    <Balance>0.00</Balance>
    <DiscountTaxable>true</DiscountTaxable>
  </Header>
  <Line>
    <Desc>Beer HB</Desc>
    <Taxable>true</Taxable>
    <ItemId idDomain="QBO">4</ItemId>
  </Line>
</Invoice>

2.

タグの「金額」フィールドに値を渡さない場合、またはそのフィールドを完全にスキップした場合。

PFB サンプルのリクエストとレスポンス。

リクエスト

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:ns2="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:ns3="http://www.intuit.com/sb/cdm/qbo">
    <Header>
        <Msg>Testing</Msg>
        <CustomerId>6</CustomerId>
    </Header>
    <Line>
        <Desc>Pens</Desc>
        <Amount></Amount>
        <Taxable>true</Taxable>
        <ItemId>3</ItemId>
        <UnitPrice>450</UnitPrice>
        <Qty>1</Qty>
    </Line>
</Invoice>

応答

<Invoice xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:qbp="http://www.intuit.com/sb/cdm/qbopayroll/v1" xmlns:qbo="http://www.intuit.com/sb/cdm/qbo">
    <Id idDomain="QBO">57</Id>
    <SyncToken>0</SyncToken>
    <MetaData>
        <CreateTime>2013-07-01T02:48:48-07:00</CreateTime>
        <LastUpdatedTime>2013-07-01T02:48:48-07:00</LastUpdatedTime>
    </MetaData>
    <Header>
        <DocNumber>1022</DocNumber>
        <TxnDate>2013-07-01-07:00</TxnDate>
        <Msg>Testing</Msg>
        <CustomerId idDomain="QBO">6</CustomerId>
        <ToBePrinted>false</ToBePrinted>
        <ToBeEmailed>false</ToBeEmailed>
        <DueDate>2013-07-01-07:00</DueDate>
        <BillAddr>
            <Line1>Park Avenue NY</Line1>
            ...
        </BillAddr>
        <ShipAddr>
            <Line1>Park Avenue NY</Line1>
            ...
        </ShipAddr>
        <ShipMethodId idDomain="QBO" />
        <Balance>0.00</Balance>
        <DiscountTaxable>true</DiscountTaxable>
    </Header>
    <Line>
        <Desc>Pens</Desc>
        <Taxable>true</Taxable>
        <ItemId idDomain="QBO">3</ItemId>
        <UnitPrice>450</UnitPrice>
        <Qty>1</Qty>
    </Line>
</Invoice>

私は、2番目のものはあなたの場合に当てはまると思います。

それがあなたのqtsに答えるかどうか私に知らせてください。

ありがとう

于 2013-07-01T09:17:08.167 に答える
0

Amount in the Line が設定されていないようです。金額は、設定する必要がある必須フィールドです。ドキュメントは次のとおりです: https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/invoice

合計金額フィールドが計算されます

ありがとう
ジャレッド

于 2013-06-18T12:41:36.090 に答える