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

时间:2015-02-02 23:07:58

标签: c# quickbooks intuit

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

2 个答案:

答案 0 :(得分:0)

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

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

PFB样本。

<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>

由于

答案 1 :(得分:0)

以下是使用C#创建销售税的发票的链接 - https://gist.github.com/IntuitDeveloperRelations/6500373

我相信你会对各种细节信息感到困惑。 请阅读本文档以获取更多信息n每个linedetail类型 - https://developer.intuit.com/docs/api/accounting - &gt;复杂类型

需要注意的重要事项是,Invoice将有两个不同的税和项目行。 对于Taxes,您需要参考TxnTaxDetail行。 对于项目,您需要参考SalesItemLineDetail行。

现在,SalesItemLinDetail将为美国公司提供TAX的taxCodeRef值。当您对Invoice执行读取操作时,遍历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;
                        }