向QuickBooks Harmony添加发票,获得与税收相关的“业务验证错误”?

时间:2014-03-13 22:02:33

标签: intuit-partner-platform

我们的一位客户无法使用新的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>

3 个答案:

答案 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美元,则必须明确附加此免税税码,并且不能将其保留为空。