如何添加发票或销售收据quickbooks rest api v3.0

问题描述:

如何使用 QuickBooks API Rest v3 添加发票或销售收据?最好在 .NET 中.我以前对 v2 感兴趣,但显然很快就会被取代.我似乎无法在 .NET 中找到任何示例代码来为第 3 版添加销售收据或发票.提供最少数据的简单示例将不胜感激.

How can I add an invoice or sales receipt using the QuickBooks API Rest v3? Preferably in .NET. I was interested previously in v2 but apparently that is going to be replaced soon. I can't seem to find any sample code in .NET to add a sales receipt or invoice for version 3. A simple example with minimum data supplied would be appreciated.

你可以试试下面的代码片段.

You can try the following code snippet.

   public void AddInvoice()
   {
       OAuthRequestValidator reqValidator = new OAuthRequestValidator(accessToken, accessTokenSecret, consumerKey, consumerKeySecret);
       ServiceContext context = new ServiceContext(realmId, IntuitServicesType.QBO, reqValidator);

       Invoice added = Helper.Add<Invoice>(qboContextoAuth, CreateInvoice(qboContextoAuth));

   }

   internal Invoice CreateInvoice(ServiceContext context)
    {
        Customer customer = FindorAdd<Customer>(context, new Customer());
        TaxCode taxCode = FindorAdd<TaxCode>(context, new TaxCode());
        Account account = FindOrADDAccount(context, AccountTypeEnum.AccountsReceivable, AccountClassificationEnum.Liability);

        Invoice invoice = new Invoice();
        invoice.Deposit = new Decimal(0.00);
        invoice.DepositSpecified = true;
        invoice.AllowIPNPayment = false;
        invoice.AllowIPNPaymentSpecified = true;

        invoice.CustomerRef = new ReferenceType()
        {
            name = customer.DisplayName,
            Value = customer.Id
        };
        invoice.DueDate = DateTime.UtcNow.Date;
        invoice.DueDateSpecified = true;
        invoice.GlobalTaxCalculation = GlobalTaxCalculationEnum.TaxExcluded;
        invoice.GlobalTaxCalculationSpecified = true;
        invoice.TotalAmt = new Decimal(0.00);
        invoice.TotalAmtSpecified = true;
        invoice.ApplyTaxAfterDiscount = false;
        invoice.ApplyTaxAfterDiscountSpecified = true;

        invoice.PrintStatus = PrintStatusEnum.NotSet;
        invoice.PrintStatusSpecified = true;
        invoice.EmailStatus = EmailStatusEnum.NotSet;
        invoice.EmailStatusSpecified = true;
        invoice.ARAccountRef = new ReferenceType()
        {
            type = Enum.GetName(typeof(objectNameEnumType), objectNameEnumType.Account),
            name = "Account Receivable",
            Value = "QB:37"
        };
        invoice.Balance = new Decimal(0.00);
        invoice.BalanceSpecified = true;

        List<Line> lineList = new List<Line>();
        Line line = new Line();
        line.Description = "Description";
        line.Amount = new Decimal(100.00);
        line.AmountSpecified = true;

        line.DetailType = LineDetailTypeEnum.DescriptionOnly;
        line.DetailTypeSpecified = true;

        lineList.Add(line);
        invoice.Line = lineList.ToArray();
        TxnTaxDetail txnTaxDetail = new TxnTaxDetail();
        txnTaxDetail.DefaultTaxCodeRef = new ReferenceType()
        {
            Value = taxCode.Id,
            type = Enum.GetName(typeof(objectNameEnumType), objectNameEnumType.Customer),
            name = taxCode.Name
        };

        txnTaxDetail.TotalTax = new Decimal(0.00);
        txnTaxDetail.TotalTaxSpecified = true;


        return invoice;
    }

V3 发票文档参考 - https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v3/030_entity_services_reference/invoice希望对你有用.

V3 Invoice Doc Ref - https://developer.intuit.com/docs/0025_quickbooksapi/0050_data_services/v3/030_entity_services_reference/invoice Hope, it will be useful to you.

谢谢