繁体   English   中英

将发票关联到销售订单

[英]Associate invoice to a Sales Order

我无法在发票上设置“创建自”以通过 SOAP web 服务引用销售订单记录。 我已经尝试直接设置此字段,也可以通过 Initialize API (使用销售订单初始化发票记录,然后将 CreatedFrom 字段从初始化发票复制到正在创建的发票)。

我没有收到任何错误,但尚未在创建的发票记录上设置 Created From 字段。

我正在尝试的代码如下所示:

// initialize invoice from sales order
var initializeRecord = new InitializeRecord()
            {
                type = InitializeType.invoice,
                reference = new InitializeRef() { internalId = "sales-order-internal-id", type = InitializeRefType.salesOrder, typeSpecified = true }
            };            
            var result = Utility.Do(async () => await connector.NetSuiteClient.initializeAsync(initializeRecord));
SuiteTalk.Invoice initializedInvoice = result.record;

// create a invoice and copy over the "createdFrom" field
var invoice = new SuiteTalk.Invoice();
invoice.createdFrom = initializedInvoice.createdFrom;

/* set other fields on the invoice and add some line items
....
...
..
*/

// finally create the invoice
var result = Utility.Do(async () => await connector.NetSuiteClient.addAsync(invoice));

创建时如何将此发票关联到销售订单?

您将不得不做的——尽管很痛苦——是使用 netsuite 从initializeRecord调用中提供给您的转换后的记录,然后对其进行修改。 这很痛苦,因为您在填写记录时必须取消设置几个字段。

问题是在 header 级别和行级别上都有createdFrom关联,需要填写销售订单到发票关联才能采用。

以下是我必须在发票中取消设置的行字段列表:

行级:

  • quantityRemaining
  • quantityAvailable
  • quantityFulfilled
  • quantityOrdered
  • quantityOnHand
  • costEstimate
  • taxRate1

以下是标题级字段:

  • subTotal
  • total
  • totalCostEstimate
  • estGrossProfit
  • estGrossProfitPercent
  • discountTotal
  • giftCertApplied
  • shippingTax1Rate

谢谢2ps 就我而言,这段代码就足够了

Invoice invoice = (Invoice)initializeResponse.record;
                    invoice.totalCostEstimateSpecified = false;
                    invoice.estGrossProfitPercentSpecified = false;
                    invoice.discountTotalSpecified = false;
                    invoice.totalSpecified = false;

                    foreach (var item in invoice.itemList?.item)
                    {
                        item.quantityRemainingSpecified = false;
                        item.costEstimateSpecified = false;
                    }

                    var writeResponse = svc2.add(invoice);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM