NetSuite指定地点库存关联对应销售订单的实现方法咨询
NetSuite指定地点绑定SO的库存追溯报表实现方案
核心关联逻辑
你当前环境内的特殊订单物料、直运物料和销售订单的绑定是交易行级的,物料主数据上没有固定绑定关系:
- 特殊订单物料入库后,系统会自动将对应库存分配给来源销售订单,关联标记直接打在库存交易行、库存明细记录上
- 标准直运物料默认不经过自有库存,若存在业务场景下直运物料入库的情况,关联关系会沿「入库单→采购订单→来源销售订单」的链路留存
不要直接从物料主数据关联销售订单,同一物料可能对应多笔不同SO的库存,直接连主数据会出现数据串错的问题
无代码实现方案(原生保存搜索,无需开发,推荐优先用)
全程用NetSuite原生保存搜索功能实现,不需要写脚本,操作步骤如下:
- 新建保存搜索
路径:报表 > 保存的搜索 > 新建,搜索记录类型选择事务(Transaction) - 配置筛选条件(「条件」标签页)
按以下规则加筛选,避免取到无效数据:- 主行筛选:
是否为过账事务= 是 - 行级筛选:
地点= 你需要查询的目标地点(可后续设为动态参数,跑报表时自由选择) - 行级筛选:
物料类型= 特殊订单物料、直运物料 - 行级筛选:
现有库存数量> 0(排除已经出库完成的历史交易)
- 主行筛选:
- 配置结果列(「结果」标签页),对应你需要的字段映射如下:
- Location(地点):选
行:地点,汇总方式选「分组」 - Item(物料):选
行:物料,汇总方式选「分组」 - Qty(数量):选
行:现有库存数量,汇总方式选「求和」 - Amount(金额):选
行:库存价值,汇总方式选「求和」,如果需要取最新的持有成本,可替换为行:数量 * 行:平均成本计算 - SO#(销售订单编号):加公式文本字段,输入公式
CASE WHEN {allocatedto} IS NULL THEN {createdfrom.createdfrom.documentnumber} ELSE {allocatedto.documentnumber} END,汇总方式选「分组」,这个公式同时覆盖特殊订单自动分配、直运物料入库两类场景的SO取数 - Customer Name(客户名称):加公式文本字段,输入公式
CASE WHEN {allocatedto} IS NULL THEN {createdfrom.createdfrom.entity} ELSE {allocatedto.entity} END,汇总方式选「分组」
- Location(地点):选
- 配置动态筛选器(「可用筛选器」标签页)
把地点、物料、销售订单编号、客户字段拖入可用筛选器列表,设置为「在搜索头区域显示」,后续跑报表时可以直接在页面上切换查询范围,不用每次修改搜索配置。
特殊场景适配(启用高级库存/WMS/批次序列号管理时用)
如果你们启用了高级库存模块、WMS仓配,或是物料按批次/序列号管理,把搜索的记录类型换成**库存明细(Inventory Detail)**即可,字段关联逻辑和上面完全一致,还可以额外加批次号、序列号、库位这类仓配维度的字段。
数据校验方法
报表配置完后抽部分记录做核对即可:
- 点进对应物料的库存明细页,核对系统显示的分配SO号和报表输出的SO号是否一致
- 汇总报表的总库存数量、总金额,和对应地点的标准库存汇总报表数据比对,确认没有漏取、重复取交易行。
注意:如果你们对直运物料做了定制化开发修改了标准关联链路,把公式里的
{createdfrom.createdfrom}替换成你们定制字段的关联路径即可。
内容的提问来源于stack exchange,提问作者BluedogVIP
相关产品推荐
相关产品推荐

