我们正在使用 Intuit API V2 从 QuickBooks Online 导入发票。
我们希望“TotalAmt”字段出现在所有发票上。
有几张发票在过去的某个时间点存在“TotalAmt”,但现在缺少“TotalAmt”字段并且“Balance”等于 0。
这是错误还是预期行为?
编辑 :这是我们从 QuickBooks API 得到的响应之一(我只更改了缩进并用 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>
最佳答案
<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>
我想,第二个适用于您的情况。
如果它回答您的 qts,请告诉我。
谢谢
关于intuit-partner-platform - 发票缺少 "TotalAmt"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17086443/