0

我正在尝试创建含税的销售收据。我了解尚未为 Quickbooks API v2 实现 SalesTaxCodeId/SalesTaxCodeName,因此我正在尝试通过该字段直接添加税率。这是我的要求:

<SalesReceipt 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>
    <CustomerId idDomain="QBO">10</CustomerId>
    <TaxRate>5.00</TaxRate>
    <DepositToAccountId>52</DepositToAccountId>
</Header>
<Line>
    <Id>1</Id>
    <Desc>asdfdsafds</Desc>
    <Amount>500.00</Amount>
    <Taxable>true</Taxable>
    <ItemId idDomain="QBO">5</ItemId>
    <Qty>1</Qty>
    <AccountId>52</AccountId>
</Line>

但是,作为响应,我收到了一个相当神秘的错误。

<Message>You must select a product/service or an account for each split line with either an amount or a billable $$customer$$.</Message><ErrorCode>BAD_REQUEST</ErrorCode><Cause>-13012</Cause>

仅当税率导致非零税额时,才会出现此错误。即,如果税率不为零且行项目应纳税,否则请求将通过罚款。我能找到的任何文档中都不存在错误代码,并且错误消息也不是很有帮助。有没有人对如何解决这个问题有任何想法?

编辑:更新 itembyid 响应

<Id idDomain="QBO">5</Id>
<SyncToken>2<SyncToken>
<MetaData>
    <CreateTime>2013-06-07T15:07:29-07:00</CreateTime>     
    <LastUpdatedTime>2013-08-02T14:34:47-07:00</LastUpdatedTime>
</MetaData>
<Name>Clothes</Name>
<Taxable>true</Taxable>
<UnitPrice>
    <Amount>123</Amount>
</UnitPrice>
<IncomeAccountRef>
    <AccountId idDomain="QBO">1</AccountId>
</IncomeAccountRef>

4

2 回答 2

1

在您的 SalesReceipt 请求行中,您传递了
< AccountId >52 。订单项不支持此标记。 https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0500_quickbooks_windows/0600_object_reference/salesreceipt

我认为这可能是问题所在。

于 2013-08-05T14:59:06.587 回答
1

您能否检查您的帐户中是否存在 ID 为 5 的项目。您还应该检查 SalesTax 设置。

[ QBO 帐户 - '公司' 选项卡 => 首选项 ]

我尝试了您上面提到的相同条件。即[如果税率不为零并且该行项目是应税的]它工作得很好。PFB 详细信息。

请求 XML

<SalesReceipt 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>
    <CustomerId idDomain="QBO">3</CustomerId>
    <TaxRate>5.00</TaxRate>
    <DepositToAccountId>4</DepositToAccountId>
</Header>
<Line>
    <Id>1</Id>
    <Desc>asdfdsafds</Desc>
    <Amount>500.00</Amount>
    <Taxable>true</Taxable>
    <ItemId idDomain="QBO">1</ItemId>
    <Qty>1</Qty>
</Line>
</SalesReceipt>

按 ID 检索

<SalesReceipt 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">75</Id>
  <SyncToken>0</SyncToken>
  <MetaData>
    <CreateTime>2013-08-02T22:10:41-07:00</CreateTime>
    <LastUpdatedTime>2013-08-02T22:10:41-07:00</LastUpdatedTime>
  </MetaData>
  <Header>
    <DocNumber>1038</DocNumber>
    <TxnDate>2013-08-02-07:00</TxnDate>
    <CustomerId idDomain="QBO">3</CustomerId>
    <SalesTaxCodeId idDomain="QBO">1</SalesTaxCodeId>
    <SalesTaxCodeName>IS_TAXABLE</SalesTaxCodeName>
    <SubTotalAmt>500.00</SubTotalAmt>
    <TaxRate>5</TaxRate>
    <TaxAmt>25.00</TaxAmt>
    <TotalAmt>525.00</TotalAmt>
    <ToBePrinted>false</ToBePrinted>
    <ToBeEmailed>false</ToBeEmailed>
    <ShipAddr>
      <Line1>Park Street</Line1>
      <City>Woodland Hills</City>
      <CountrySubDivisionCode>CA</CountrySubDivisionCode>
      <PostalCode>934657</PostalCode>
      <GeoCode>LAT=34.1785255,LNG=-118.597305</GeoCode>
      <Tag>CUSTOMER</Tag>
    </ShipAddr>
    <ShipMethodId idDomain="QBO" />
    <DepositToAccountId idDomain="QBO">4</DepositToAccountId>
    <DepositToAccountName>Undeposited Funds</DepositToAccountName>
    <DiscountTaxable>true</DiscountTaxable>
  </Header>
  <Line>
    <Id>1</Id>
    <Desc>asdfdsafds</Desc>
    <Amount>500.00</Amount>
    <Taxable>true</Taxable>
    <ItemId>1</ItemId>
    <Qty>1</Qty>
  </Line>
</SalesReceipt>

我还将尝试重现确切的错误消息。如果我有什么,我会在这里更新。

编辑

GetById - (项目 id - 1 )

<Item 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">1</Id>
    <SyncToken>0</SyncToken>
    <MetaData>
        <CreateTime>2013-04-10T08:27:00-07:00</CreateTime>
        <LastUpdatedTime>2013-04-10T08:27:00-07:00</LastUpdatedTime>
    </MetaData>
    <Name>Services</Name>
    <Taxable>false</Taxable>
    <IncomeAccountRef>
        <AccountId idDomain="QBO">1</AccountId>
    </IncomeAccountRef>
</Item>

DocRef - https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v2/0400_quickbooks_online/item

谢谢

于 2013-08-03T05:22:48.453 回答