0

在 Quickbooks 桌面中,每个项目都被归类为产品、服务或折扣等。在 Quickbooks Online 中,我需要下载项目列表并注意到它们不再被分类。

我正在使用的代码是这样的:

list = commonService.FindAll(new Intuit.Ipp.Data.Qbo.Item(), currentPage, itemListPageSize) as IEnumerable;

当我从 Quickbooks Online 下载此列表时,我需要知道它是否是产品/服务/折扣,以便我可以将其导入我们的系统,就像我们为 QB Desktop 所做的那样。

如何获取此项目的类别?

4

1 回答 1

2

QuickBooks Online 没有多种不同的项目类型。这是一种不同的产品,与适用于 Windows/Mac 的 QuickBooks 的工作方式大不相同。

Intuit Anywhere/IDS API 目前不支持 QuickBooks Online 的任何库存概念,尽管 QuickBooks Online 本身确实支持该概念。

QuickBooks Online 根本没有“折扣”项目的概念(折扣只是发票上的另一个费率/金额字段,与 QuickBooks for Windows 中的行项目相比)。

这是 QuickBooks Online 界面的屏幕截图:

在此处输入图像描述

请注意,我添加了 10% 的折扣,但 10% 的折扣不会显示为正常的订单项。它只是发票上接受折扣金额的字段。因为它不是一个行项目,所以它根本不需要项目类型。

这也反映在 API 中。

这是一个 qbXML 示例(注意:它不是行项目,根本不涉及项目类型):

<DiscountLineAdd> <!-- optional -->
  <!-- BEGIN OR -->
    <Amount >AMTTYPE</Amount> <!-- optional -->
  <!-- OR -->
    <RatePercent >PERCENTTYPE</RatePercent> <!-- optional -->
  <!-- END OR -->
  <IsTaxable >BOOLTYPE</IsTaxable> <!-- optional -->
  <AccountRef> <!-- optional -->
    <ListID >IDTYPE</ListID> <!-- optional -->
    <FullName >STRTYPE</FullName> <!-- optional -->
  </AccountRef>
</DiscountLineAdd>

这是一个 IPP 示例(同样,notice 不是一个行项目,并且根本不涉及项目类型):

     <Header>
        <DocNumber>00010</DocNumber>
        <TxnDate>2010-08-07-07:00</TxnDate>
        <Msg>No Black Ink Pens</Msg>
        <Note>Blue Ink pens only</Note>
        <CustomerId>5</CustomerId>
        <SalesTaxCodeId idDomain="QBO">1</SalesTaxCodeId>
        <SalesTaxCodeName>IS_TAXABLE</SalesTaxCodeName>
        <SubTotalAmt>200.00</SubTotalAmt>
        <TaxAmt>100.00</TaxAmt>
        <TotalAmt>298.75</TotalAmt>
        <DueDate>2010-08-16-07:00</DueDate>
        <BillEmail>john_doe@digitalinsight.com</BillEmail>
        <DiscountAmt>-1.25</DiscountAmt>
    </Header>
于 2013-04-02T01:15:02.953 回答