我如何从 Quickbooks 的 SalesItemLineDetail 中查看产品(或项目)?

How i can see the products (or items) from a SaleItemLineDetail from Quick Books?

我一直在寻找一种方法来从 QuickBooks 中的销售收据或发票中查找具有销售税的产品。 我找到了 Saletaxitems 的 属性,但是我如何在将我的应用程序连接到我的公司沙箱后在 C# 中实现。 抱歉,如果问题不是很清楚,感谢阅读。

您可以从 QBO UI 创建 SalesTax 并从发票中引用它。这样(从响应 XML/JSON)您将获得对象结构。

我猜,你使用的是官方的.net devkit(它具有构建POCO的所有相关属性) http://developer-static.intuit.com/SDKDocs/QBV3Doc/IPPDotNetDevKitV3/ https://developer.intuit.com/docs?redirectid=acctgNET

这是一个示例:

<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-02-02T20:36:29.188-08:00">
  <QueryResponse startPosition="1" maxResults="1" totalCount="1">
    <Invoice domain="QBO" sparse="false">
      <Id>1</Id>
      <SyncToken>1</SyncToken>
      <MetaData>
        <CreateTime>2015-02-02T20:34:40-08:00</CreateTime>
        <LastUpdatedTime>2015-02-02T20:36:21-08:00</LastUpdatedTime>
      </MetaData>
      <DocNumber>1001</DocNumber>
      <TxnDate>2015-02-02</TxnDate>
      <CurrencyRef name="United States Dollar">USD</CurrencyRef>
      <Line>
        <Id>1</Id>
        <LineNum>1</LineNum>
        <Description>random dex</Description>
        <Amount>20.00</Amount>
        <DetailType>SalesItemLineDetail</DetailType>
        <SalesItemLineDetail>
          <ItemRef name="Services">12</ItemRef>
          <UnitPrice>20</UnitPrice>
          <Qty>1</Qty>
          <TaxCodeRef>TAX</TaxCodeRef>
        </SalesItemLineDetail>
      </Line>
      <Line>
        <Amount>20.00</Amount>
        <DetailType>SubTotalLineDetail</DetailType>
        <SubTotalLineDetail />
      </Line>
      <TxnTaxDetail>
        <TxnTaxCodeRef>2</TxnTaxCodeRef>
        <TotalTax>2.25</TotalTax>
        <TaxLine>
          <Amount>2.25</Amount>
          <DetailType>TaxLineDetail</DetailType>
          <TaxLineDetail>
            <TaxRateRef>1</TaxRateRef>
            <PercentBased>true</PercentBased>
            <TaxPercent>11.25</TaxPercent>
            <NetAmountTaxable>20.00</NetAmountTaxable>
          </TaxLineDetail>
        </TaxLine>
      </TxnTaxDetail>
      <CustomerRef name="John Doe">1</CustomerRef>
      <SalesTermRef>3</SalesTermRef>
      <DueDate>2015-03-04</DueDate>
      <TotalAmt>22.25</TotalAmt>
      <ApplyTaxAfterDiscount>false</ApplyTaxAfterDiscount>
      <PrintStatus>NotSet</PrintStatus>
      <EmailStatus>NotSet</EmailStatus>
      <Balance>22.25</Balance>
      <Deposit>0</Deposit>
      <AllowIPNPayment>false</AllowIPNPayment>
      <AllowOnlinePayment>false</AllowOnlinePayment>
      <AllowOnlineCreditCardPayment>false</AllowOnlineCreditCardPayment>
      <AllowOnlineACHPayment>false</AllowOnlineACHPayment>
    </Invoice>
  </QueryResponse>
</IntuitResponse>

这里是 link 用于在 C# 中创建含销售税的发票- https://gist.github.com/IntuitDeveloperRelations/6500373

我相信您对各种线路细节感到困惑。 请阅读此文档以获取有关每个行详细信息类型的更多信息- https://developer.intuit.com/docs/api/accounting -> 复杂类型

需要注意的重要一点是,发票将有 2 个不同的税项行和项目行。 对于税收,您需要参考 TxnTaxDetail 行。 对于项目,您需要参考 SalesItemLineDetail 行。

现在,对于美国公司,SalesItemLinDetail 的 taxCodeRef 值为 TAX。当您读取发票时,循环遍历 SalesItemLineDetail 标记并查看是否设置了 taxCodeRef= TAX,然后读取相应的 ItemRef 值。

下面的代码可以用来读取SalesItemLineDetail-

QueryService<Invoice> bill1QueryService = new QueryService<Invoice>(context);
Invoice bill11 = bill1QueryService.ExecuteIdsQuery("select * from Invoice").FirstOrDefault<Invoice>();


 SalesItemLineDetail a1 = (SalesItemLineDetail)bill11.Line[0].AnyIntuitObject;

                        if(a1.TaxCodeRef.Value=="TAX")
                        {
                            string taxCodeid = a1.ItemRef.Value;
                            object unitprice = a1.AnyIntuitObject;
                            decimal quantity = a1.Qty;
                        }