【问题标题】:how to add invoice or sales receipt quickbooks rest api v3.0如何添加发票或销售收据 quickbooks rest api v3.0
【发布时间】:2013-09-08 06:09:50
【问题描述】:

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

【问题讨论】:

    标签: .net api rest intuit-partner-platform quickbooks-online


    【解决方案1】:

    你可以试试下面的代码sn-p。

       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 希望对你有用。

    谢谢

    【讨论】:

    • 您好,这可行,但我想指定订单项详细信息。当我指定 LineDetailTypeEnum.SalesItemLineDetail 时,我收到错误错误请求。您能否发布一个带有 SalesItemLineDetail 的样本。也许与数量和单价有关。谢谢
    • 请检查以下线程的答案。 stackoverflow.com/questions/18542914/…谢谢
    • @ManasMukherjee 上面的代码对于税收部分是否正确?看起来您正在创建一个 txnTaxDetail 但从未以任何方式将其附加到发票?
    • 是的.. 在编写此 POC 时(仅用于创建示例发票:)),我错过了将 txnTaxDetail 与发票相关联。我会更新我的帖子。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多