我尝试使用带有v3 API的Java SDK(2.2.1)创建发票。由于Business Validation Error
表明我的交易行没有与之关联的税码(错误代码:6000),因此创建发票的API调用失败。
我试图像这样设置交易税(销售额):
TaxLineDetail taxLineDetail = new TaxLineDetail();
taxLineDetail.setPercentBased(true);
taxLineDetail.setTaxPercent( getTaxPercent() );
salesLine.setTaxLineDetail(taxLineDetail);
我也尝试使用Invoice#setTxnTaxDetail(TxnTaxDetail)
,但在两种情况下都失败了。似乎API需要一个税码,大概是我设置的税码:
TaxLineDetail#setTaxRateRef(ReferenceType)
但我不明白从哪里获得此税率代码。我的QB帐户确实配置了两种税(23%和0%),但如何将其中一种与发票相关联?我需要的这个(整数?)代码在哪里?
对于它的价值,这是一个非美国账户。
答案 0 :(得分:3)
我认为这里更大的问题是你正在查看完全错误的对象类型。
错误消息是关于:
没有与之关联的税码
但是你要设置一个:
TaxLineDetail
并且a:
TaxLineDetail #set TaxRate 参考(ReferenceType)
此处的底线 - 税码 NOT 与税率相同。它们是相关的,但完全是独立的实体。
QuickBooks抱怨的是,您没有在订单项上设置税码。查看订单项文档,然后查找您应该设置的 TaxCodeRef 节点。
您应该使用如下查询查询税码:
SELECT * FROM TaxCode
然后设置TaxCodeRef
值。
答案 1 :(得分:1)
您可以查询TaxCode和TaxRate ref以获取详细信息,并在创建发票时使用相应的ID。
ApiExplorer - https://developer.intuit.com/apiexplorer?apiname=V3QBO#TaxCode
要使用TaxCode和TaxRate获取Invoice对象的正确XML结构,您可以从QBO UI(含税)创建发票,并使用API检索相同的发票。
由于