我们的一位客户无法使用新的v3 REST API将发票导出到QuickBooks Online Harmony。他们得到的错误是"业务验证错误:一个或多个交易行没有与之关联的税码。请为这些行分配税码。"
示例请求和响应如下所示。
我想知道:
对于它的价值,客户位于加拿大。使用类似数据测试非加拿大公司的发票导出工作正常。谢谢你的帮助。
示例请求:
<Invoice xmlns="http://schema.intuit.com/finance/v3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TxnDate>2014-03-12</TxnDate>
<PrivateNote>Some private note.</PrivateNote>
<Line>
<Description>My Description</Description>
<Amount>3333.33</Amount>
<DetailType>SalesItemLineDetail</DetailType>
<SalesItemLineDetail>
<ItemRef name="My Description">3</ItemRef>
<ClassRef name="3">3333</ClassRef>
</SalesItemLineDetail>
</Line>
<CustomerRef name="My Customer Name">33</CustomerRef>
<ClassRef name="3">3333</ClassRef>
</Invoice>
示例响应:
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2014-03-13T11:47:58.052-07:00">
<Fault type="ValidationFault">
<Error code="6000" element="">
<Message>A business validation error has occurred while processing your request</Message>
<Detail>Business Validation Error: One or more transaction lines do not have a tax code associated with it. Please assign a tax code for those lines.</Detail>
</Error>
</Fault>
</IntuitResponse>
答案 0 :(得分:3)
如果您在QBO中启用了销售税,则发票中的所有订单项都需要TaxCodeRef,并且发票本身需要有TxnTaxDetail个对象。您应该能够从TaxCode / TaxRate端点获取需要进入这些值的数值。
您最好的办法是在用户界面中创建发票,然后通过API加载,这样您就可以看到它的外观。
答案 1 :(得分:3)
我发现您已启用销售税设置。接下来你可以做的是在UI中创建发票,然后像Matt建议的那样通过API加载它。为发票分配一些税,并使用API资源管理器阅读。 这将使您了解线路中的预期。这肯定会帮助您设置需要设置的正确标签。
在此交替参考带有示例请求的文档 - https://developer.intuit.com/docs/api/accounting#/complex-data-types
全球税收模式 - https://developer.intuit.com/docs/0100_accounting/0300_developer_guides/global_tax_model
答案 2 :(得分:1)
我也遇到过这种情况,虽然我花了很长时间才弄明白,答案很简单。
如果为公司启用了税,则每行必须具有税码,是否已应用税款。这意味着系统中应该有“无税”的税码。 (对于澳大利亚,这被称为“OOS”或“超出范围” - 显然你得到的取决于你何时设置税收,所以寻找两者!)
如果特定行的税收为0美元,则必须明确附加此免税税码,并且不能将其保留为空。