2015-04-23 97 views
0

使用QuickBooks Online v3 API(https://developer.intuit.com/apiexplorer?apiname=V3QBOQuickbooks API Explorer - 如何將交易鏈接到發票?

如何創建付款,然後使用API​​ Explorer將該付款鏈接到現有發票?我正在使用沙箱進行所有測試。

例如,我在客戶端創建了一個付款,這裏是響應。

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-04-23T04:27:18.490-07:00"> 

    <Payment domain="QBO" sparse="false"> 

    <Id>162</Id> 

    <SyncToken>0</SyncToken> 

    <MetaData> 

     <CreateTime>2015-04-23T04:28:55-07:00</CreateTime> 

     <LastUpdatedTime>2015-04-23T04:28:55-07:00</LastUpdatedTime> 

    </MetaData> 

    <TxnDate>2013-07-11</TxnDate> 

    <PrivateNote>Payment smoke test</PrivateNote> 

    <CustomerRef name="ZeanabArafat">61</CustomerRef> 

    <DepositToAccountRef>4</DepositToAccountRef> 

    <TotalAmt>200.00</TotalAmt> 

    <UnappliedAmt>200.00</UnappliedAmt> 

    <ProcessPayment>false</ProcessPayment> 

    </Payment> 

</IntuitResponse> 

我的付款是200美元。然後我創建了一張發票,這裏是迴應...

然後我創建了一個發票,我從API下面得到的回覆。

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-04-23T05:25:26.668-07:00"> 
    <Invoice domain="QBO" sparse="false"> 
    <Id>163</Id> 
    <SyncToken>0</SyncToken> 
    <MetaData> 
     <CreateTime>2015-04-23T05:26:58-07:00</CreateTime> 
     <LastUpdatedTime>2015-04-23T05:26:58-07:00</LastUpdatedTime> 
    </MetaData> 
    <CustomField> 
     <DefinitionId>1</DefinitionId> 
     <Name>Crew #</Name> 
     <Type>StringType</Type> 
    </CustomField> 
    <DocNumber>1049</DocNumber> 
    <TxnDate>2015-04-23</TxnDate> 
    <Line> 
     <Id>1</Id> 
     <LineNum>1</LineNum> 
     <Amount>2000.00</Amount> 
     <DetailType>SalesItemLineDetail</DetailType> 
     <SalesItemLineDetail> 
     <ItemRef name="Concrete">3</ItemRef> 
     <TaxCodeRef>NON</TaxCodeRef> 
     </SalesItemLineDetail> 
    </Line> 
    <Line> 
     <Amount>2000.00</Amount> 
     <DetailType>SubTotalLineDetail</DetailType> 
     <SubTotalLineDetail /> 
    </Line> 
    <TxnTaxDetail> 
     <TotalTax>0</TotalTax> 
    </TxnTaxDetail> 
    <CustomerRef name="ZeanabArafat">61</CustomerRef> 
    <BillAddr> 
     <Id>98</Id> 
     <Line1>2007 Sailborough Ct Winter Garden, FL 34787</Line1> 
     <Lat>28.522938</Lat> 
     <Long>-81.605711</Long> 
    </BillAddr> 
    <ShipAddr> 
     <Id>98</Id> 
     <Line1>2007 Sailborough Ct Winter Garden, FL 34787</Line1> 
     <Lat>28.522938</Lat> 
     <Long>-81.605711</Long> 
    </ShipAddr> 
    <DueDate>2015-05-23</DueDate> 
    <TotalAmt>2000.00</TotalAmt> 
    <ApplyTaxAfterDiscount>false</ApplyTaxAfterDiscount> 
    <PrintStatus>NeedToPrint</PrintStatus> 
    <EmailStatus>NotSet</EmailStatus> 
    <Balance>2000.00</Balance> 
    <Deposit>0</Deposit> 
    <AllowIPNPayment>false</AllowIPNPayment> 
    <AllowOnlinePayment>false</AllowOnlinePayment> 
    <AllowOnlineCreditCardPayment>false</AllowOnlineCreditCardPayment> 
    <AllowOnlineACHPayment>false</AllowOnlineACHPayment> 
    </Invoice> 
</IntuitResponse> 

我然後運行在API瀏覽器中的以下XML的發票上的更新命令只是爲了測試,並確保它的工作原理,然後我仔細檢查了,它沒有更新中的UI發票私人評論沙箱......所以......迄今爲止非常好。

<Invoice xmlns="http://schema.intuit.com/finance/v3" domain="QBO" sparse="true"> 

    <Id>163</Id> 

    <SyncToken>0</SyncToken> 

    <MetaData> 

     <CreateTime>2014-10-15T14:13:24-07:00</CreateTime> 

     <LastUpdatedTime>2014-10-15T14:13:24-07:00</LastUpdatedTime> 

    </MetaData> 

    <PrivateNote>Invoice update Test</PrivateNote> 

    </Invoice> 

所以這個工作。我得到了迴應...

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-04-23T05:30:04.336-07:00"> 
<Invoice domain="QBO" sparse="false"> <Id>163</Id> <SyncToken>1</SyncToken> <MetaData> <CreateTime>2015-04-23T05:26:58-07:00</CreateTime> <LastUpdatedTime>2015-04-23T05:31:36-07:00</LastUpdatedTime> </MetaData> <CustomField> <DefinitionId>1</DefinitionId> <Name>Crew #</Name> <Type>StringType</Type> </CustomField> <DocNumber>1049</DocNumber> <TxnDate>2015-04-23</TxnDate> <PrivateNote>Invoice update Test</PrivateNote> <Line> <Id>1</Id> <LineNum>1</LineNum> <Amount>2000.00</Amount> <DetailType>SalesItemLineDetail</DetailType> <SalesItemLineDetail> <ItemRef name="Concrete">3</ItemRef> <TaxCodeRef>NON</TaxCodeRef> </SalesItemLineDetail> </Line> <Line> <Amount>2000.00</Amount> <DetailType>SubTotalLineDetail</DetailType> <SubTotalLineDetail /> </Line> <TxnTaxDetail> <TotalTax>0</TotalTax> </TxnTaxDetail> <CustomerRef name="ZeanabArafat">61</CustomerRef> <BillAddr> <Id>98</Id> <Line1>2007 Sailborough Ct Winter Garden, FL 34787</Line1> <Lat>28.522938</Lat> <Long>-81.605711</Long> </BillAddr> <ShipAddr> <Id>98</Id> <Line1>2007 Sailborough Ct Winter Garden, FL 34787</Line1> <Lat>28.522938</Lat> <Long>-81.605711</Long> </ShipAddr> <DueDate>2015-05-23</DueDate> <TotalAmt>2000.00</TotalAmt> <ApplyTaxAfterDiscount>false</ApplyTaxAfterDiscount> <PrintStatus>NeedToPrint</PrintStatus> <EmailStatus>NotSet</EmailStatus> <Balance>2000.00</Balance> <Deposit>0</Deposit> <AllowIPNPayment>false</AllowIPNPayment> <AllowOnlinePayment>false</AllowOnlinePayment> <AllowOnlineCreditCardPayment>false</AllowOnlineCreditCardPayment> <AllowOnlineACHPayment>false</AllowOnlineACHPayment> </Invoice> </IntuitResponse> 

正如我說的在沙箱UI中看到的,我看到了結果。我在私人評論中看到我放置的文字。 (或聲明備忘錄區域)


現在爲我的問題:試圖將付款鏈接到交易。

根據我的文檔和一些猜測工作,我假設我必須去更新發票,我需要爲客戶提供我的customerRef,更新SyncToken'1',並提供linkedtransaction xml我會發布我試圖做的,所以你可以告訴我我做錯了什麼。請記住我的付款ID是162,我認爲這是TxnId的含義?

所以我的新的XML命令來嘗試並把這個時間是交易...

<Invoice xmlns="http://schema.intuit.com/finance/v3" domain="QBO" sparse="true"> 
    <Id>163</Id> 
    <SyncToken>1</SyncToken> 
    <MetaData> 
     <CreateTime>2014-10-15T14:13:24-07:00</CreateTime> 
     <LastUpdatedTime>2014-10-15T14:13:24-07:00</LastUpdatedTime> 
    </MetaData> 
    <PrivateNote>Invoice update Test</PrivateNote> 
    <LinkedTxn> 
     <TxnId>162</TxnId> 
    <TxnType>Payment</TxnType> 
</LinkedTxn> 
    </Invoice> 

這返回如下回應......

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-04-23T05:40:03.383-07:00"> 
    <Invoice domain="QBO" sparse="false"> 
    <Id>163</Id> 
    <SyncToken>1</SyncToken> 
    <MetaData> 
     <CreateTime>2015-04-23T05:26:58-07:00</CreateTime> 
     <LastUpdatedTime>2015-04-23T05:31:36-07:00</LastUpdatedTime> 
    </MetaData> 
    <CustomField> 
     <DefinitionId>1</DefinitionId> 
     <Name>Crew #</Name> 
     <Type>StringType</Type> 
    </CustomField> 
    <DocNumber>1049</DocNumber> 
    <TxnDate>2015-04-23</TxnDate> 
    <PrivateNote>Invoice update Test</PrivateNote> 
    <Line> 
     <Id>1</Id> 
     <LineNum>1</LineNum> 
     <Amount>2000.00</Amount> 
     <DetailType>SalesItemLineDetail</DetailType> 
     <SalesItemLineDetail> 
     <ItemRef name="Concrete">3</ItemRef> 
     <TaxCodeRef>NON</TaxCodeRef> 
     </SalesItemLineDetail> 
    </Line> 
    <Line> 
     <Amount>2000.00</Amount> 
     <DetailType>SubTotalLineDetail</DetailType> 
     <SubTotalLineDetail /> 
    </Line> 
    <TxnTaxDetail> 
     <TotalTax>0</TotalTax> 
    </TxnTaxDetail> 
    <CustomerRef name="ZeanabArafat">61</CustomerRef> 
    <BillAddr> 
     <Id>98</Id> 
     <Line1>2007 Sailborough Ct Winter Garden, FL 34787</Line1> 
     <Lat>28.522938</Lat> 
     <Long>-81.605711</Long> 
    </BillAddr> 
    <ShipAddr> 
     <Id>98</Id> 
     <Line1>2007 Sailborough Ct Winter Garden, FL 34787</Line1> 
     <Lat>28.522938</Lat> 
     <Long>-81.605711</Long> 
    </ShipAddr> 
    <DueDate>2015-05-23</DueDate> 
    <TotalAmt>2000.00</TotalAmt> 
    <ApplyTaxAfterDiscount>false</ApplyTaxAfterDiscount> 
    <PrintStatus>NeedToPrint</PrintStatus> 
    <EmailStatus>NotSet</EmailStatus> 
    <Balance>2000.00</Balance> 
    <Deposit>0</Deposit> 
    <AllowIPNPayment>false</AllowIPNPayment> 
    <AllowOnlinePayment>false</AllowOnlinePayment> 
    <AllowOnlineCreditCardPayment>false</AllowOnlineCreditCardPayment> 
    <AllowOnlineACHPayment>false</AllowOnlineACHPayment> 
    </Invoice> 
</IntuitResponse> 

所以看起來像它的工作沒有任何錯誤...但是當我去檢查沙箱UI,看看它的連接?我沒有看到任何東西,沒有交易狀態,發票上也沒有變化?

我做錯了什麼?我錯過了一步嗎?

回答

0

我找到答案,招數是先創建發票然後通過付款引用發票。我正在做錯誤的順序,在與intuit的版主交談後,我確認這是一個錯誤。

使用類似這樣的支付鏈接到發票

<Payment xmlns="http://schema.intuit.com/finance/v3"> 
    <CustomerRef name="Customer Name Here">61</CustomerRef> 
    <TotalAmt>500</TotalAmt> 
     <Line> 
     <Amount>500</Amount> 
     <LinkedTxn> 
      <TxnId>164</TxnId> 
      <TxnType>Invoice</TxnType> 
     </LinkedTxn> 
    </Line> 
</Payment> 

TxnID的發票編號,確保數量和總金額排隊!

+0

謝謝!我到處尋找這個。 – Varun

相關問題