Quickbooks API Explorer - 如何 Link 交易到发票?
Quickbooks API Explorer - How To Link Transactions To Invoices?
使用 QuickBooks Online v3 API (https://developer.intuit.com/apiexplorer?apiname=V3QBO)
如何创建付款,然后使用 API Explorer link 将该付款发送到现有发票?我正在使用沙盒进行所有测试。
例如,我在客户下创建了一个付款,这是响应。
<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 用于发票上更新命令的以下 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 我确实看到了结果。我在私人评论中看到了我输入的文字。 (或结单备忘区)
现在解决我的问题:尝试link支付交易。
根据文档和我的一些猜测,我假设我必须去更新发票,我需要为客户提供我的 customerRef,将 SyncToken 更新为“1”,并提供 linkedtransaction xml 我会 post 我尝试做的,所以你可以告诉我我做错了什么。请记住我的付款 ID 是 162,我想这就是 TxnId 的意思?
所以我要尝试的新 XML 命令和 link 这次的交易是...
<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 看看它是否已连接?我什么都没看到,没有交易状态,发票也没有变化?
我做错了什么?我错过了一步吗?
我找到了答案,技巧是先创建发票,然后通过付款引用发票。我做错了顺序,在与 intuit 的版主交谈后,我确认这是一个错误。
使用类似的方式link支付发票
<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为发票ID,请确保金额与总金额一致!
使用 QuickBooks Online v3 API (https://developer.intuit.com/apiexplorer?apiname=V3QBO)
如何创建付款,然后使用 API Explorer link 将该付款发送到现有发票?我正在使用沙盒进行所有测试。
例如,我在客户下创建了一个付款,这是响应。
<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 用于发票上更新命令的以下 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 我确实看到了结果。我在私人评论中看到了我输入的文字。 (或结单备忘区)
现在解决我的问题:尝试link支付交易。
根据文档和我的一些猜测,我假设我必须去更新发票,我需要为客户提供我的 customerRef,将 SyncToken 更新为“1”,并提供 linkedtransaction xml 我会 post 我尝试做的,所以你可以告诉我我做错了什么。请记住我的付款 ID 是 162,我想这就是 TxnId 的意思?
所以我要尝试的新 XML 命令和 link 这次的交易是...
<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 看看它是否已连接?我什么都没看到,没有交易状态,发票也没有变化?
我做错了什么?我错过了一步吗?
我找到了答案,技巧是先创建发票,然后通过付款引用发票。我做错了顺序,在与 intuit 的版主交谈后,我确认这是一个错误。
使用类似的方式link支付发票
<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为发票ID,请确保金额与总金额一致!