如何检查启用自定义发票编号是否导致重复的发票编号

时间:2019-08-12 06:51:05

标签: asp.net-mvc quickbooks

我正在将快速书籍与mvc集成在一起,我必须完成一项任务,即检查启用自定义发票编号是否会导致重复的发票。

我尝试过在速查簿中创建发票

 public Invoice PostInvoice(InvoiceViewModel model)
    {
        Intuit.Ipp.Data.Invoice invoice = new Intuit.Ipp.Data.Invoice();

        invoice.Deposit = new Decimal(0.00);
        invoice.DepositSpecified = true;
        invoice.DocNumber = "QBOInvoice" + DateTime.Now.ToString("MMddHHmmss");
        invoice.CustomerRef = new ReferenceType { Value = model.qboCustomer.Id };
        //  invoice.CustomerMemo = new MemoRef { Value = reference };
        invoice.DueDate = DateTime.UtcNow.Date;
        invoice.DueDateSpecified = true;
        invoice.TotalAmtSpecified = true;
        invoice.ApplyTaxAfterDiscount = false;
        invoice.ApplyTaxAfterDiscountSpecified = true;
        invoice.PrintStatus = PrintStatusEnum.NotSet;
        invoice.PrintStatusSpecified = true;
        invoice.EmailStatus = EmailStatusEnum.NotSet;
        invoice.EmailStatusSpecified = true;
        invoice.BalanceSpecified = true;
        invoice.TxnDate = DateTime.UtcNow.Date;
        invoice.TxnDateSpecified = true;
        invoice.ShipAddr = model.Address;
        invoice.BillAddr = model.Address; //new PhysicalAddress() { Line1 = "BillMohali", Line2 = "Sector 70 ", City = "Mohali", PostalCode = "160071" };
        //invoice.ShipAddr = new PhysicalAddress() {Line1="Mohali", Line2="Sector 70 ",City="Mohali",PostalCode="160071" };
        //invoice.BillAddr = new PhysicalAddress() { Line1 = "BillMohali", Line2 = "Sector 70 ", City = "Mohali", PostalCode = "160071" };
        Intuit.Ipp.Data.Line line = new Intuit.Ipp.Data.Line();
        SalesItemLineDetail lineSalesItemLineDetail = new SalesItemLineDetail();
        List<Intuit.Ipp.Data.Line> lineList = new List<Intuit.Ipp.Data.Line>();
        foreach (var item in model.qbolineitems)
        {
            lineSalesItemLineDetail = new SalesItemLineDetail();
            line = new Intuit.Ipp.Data.Line();
            //Line Sales Item Line Detail - ServiceDate 
            lineSalesItemLineDetail.ServiceDate = DateTime.Now.Date;
            lineSalesItemLineDetail.ServiceDateSpecified = true;
            lineSalesItemLineDetail.Qty = item.invoiceitem.quantity.Value;
            lineSalesItemLineDetail.QtySpecified = true;
            lineSalesItemLineDetail.ItemRef = new ReferenceType { Value = item.item.qboItemCode.Value.ToString(), name = item.item.qboItemName };
            lineSalesItemLineDetail.AnyIntuitObject = item.invoiceitem.SalePrice.Value / item.invoiceitem.quantity.Value;
            lineSalesItemLineDetail.ItemElementName = ItemChoiceType.UnitPrice;

            line.AnyIntuitObject = lineSalesItemLineDetail;
            line.Description = item.item.qboItemName;
            line.Amount = item.invoiceitem.SalePrice.Value;

            line.AmountSpecified = true;
            // line.Id = item.item.qboItemCode.Value.ToString();
            line.DetailType = LineDetailTypeEnum.SalesItemLineDetail;
            line.DetailTypeSpecified = true;


            //if (_connect.Country == "US")
            //{
            lineSalesItemLineDetail.TaxInclusiveAmt = item.invoiceitem.SalePrice.Value;
            lineSalesItemLineDetail.TaxCodeRef = new ReferenceType { Value = "TAX" };
            //}
            //else
            //{
            //_connect = (Connect)Session["Connect"];
            // objQBO = new QBOWrapper("jagjeetkr7@gmail.com", Request.Url.GetLeftPart(UriPartial.Authority) + "/Home/Callback", _connect, true);
            //var taxcode = objQBO.getTaxCodeList().Where(x => x.Active).FirstOrDefault();
            //lineSalesItemLineDetail.TaxCodeRef = new ReferenceType { Value = taxcode.Id };
            //var dis = item.invoiceitem.SalePrice.Value / (Convert.ToDecimal(taxcode.SalesTaxRateList.TaxRateDetail[0].TaxRateRef.Value) + 1);
            //line.Amount = item.invoiceitem.SalePrice.Value - dis;
            //lineSalesItemLineDetail.TaxInclusiveAmt = item.invoiceitem.SalePrice.Value;
            lineSalesItemLineDetail.TaxInclusiveAmtSpecified = false;
            invoice.GlobalTaxCalculationSpecified = false;
            invoice.GlobalTaxCalculation = GlobalTaxCalculationEnum.NotApplicable;
            //SendInsideFunctionEmail("Failed to create surcharge invoice for : " + reference, "Please create a surcharge invoice manually and send a receipt to the customer. Also,please assign the tax code for this account selected in qbo.", _generalSettings.AccountsEmail);

            // }
            lineList.Add(line);
        }
        //invoice.TotalAmt = new Decimal(0.90);
        //invoice.Balance = new Decimal(0.90);

        // xlic.Add(li);

        invoice.TotalAmt = model.Total;
        invoice.Balance = model.BalanceDue;
        invoice.Line = lineList.ToArray();
        _connect = (Connect)Session["Connect"];
        objQBO = new QBOWrapper("jagjeetkr7@gmail.com", Request.Url.GetLeftPart(UriPartial.Authority) + "/Home/Callback", _connect, true);
        //objQBO = new QBOWrapper("jagjeetkr7@gmail.com", Request.Url.GetLeftPart(UriPartial.Authority) + "/Home/Callback", _connect, true);
        invoice = objQBO.CreateInvoice(invoice);

        return invoice;
    }

我希望生成自定义发票编号会导致发票重复,但找​​不到实现该发票的方法

0 个答案:

没有答案