NetSuite REST API如何将销售订单更新为已发货并添加Tracking Number
NetSuite销售订单更新发货状态+添加运单号实现方案
你的思路是完全正确的,直接调用PATCH /salesOrder/{id}无法实现需求,NetSuite的发货状态、运单号信息本身就不直接挂载在销售订单对象上,必须通过货品履行(Item Fulfillment)相关接口实现,具体流程如下:
- 前置校验:确认要操作的销售订单处于「待履行」状态,无异常锁定,获取该订单的内部ID(Internal ID)
- 调用
POST /itemFulfillment接口创建货品履行单,请求体核心必填字段如下:createdFrom:填写关联的销售订单引用,格式为{"id": "销售订单内部ID"}item子列表:匹配销售订单内的待发货行,每行需传入对应销售订单的行号orderLine、实际发货数量quantitypackage子列表:填写每个包裹的对应信息,运单号直接填在该子列表的trackingNumber字段内,也可补充承运商、包裹重量等扩展信息
- 生效触发状态更新:创建货品履行单时如果直接传入
status: "shipped",履行单会自动审核生效,对应销售订单的状态会根据发货比例自动更新为「部分已履行」或「已发货」;如果创建时未传该字段,后续可调用PATCH /itemFulfillment/{履行单ID}更新状态为已发货触发同步。
注意事项
- 支持分批发货场景:一个销售订单可关联多个货品履行单,每个履行单对应一次发货批次,可单独设置对应批次的运单号
- 只有销售订单内所有行的发货数量都等于订单数量时,销售订单才会变为完全发货状态
内容的提问来源于stack exchange,提问作者Geek PinkFlower
相关产品推荐
相关产品推荐

