出库单:筛选、建单与编辑
出库单列表查询条件全部常显、draft 状态全量可编辑、Store + UOM 下拉规则、Cluster 向导检查前移。

出库单列表查询条件全部常显#
出库单列表支持状态 / 客户 / 运输方式 / 承运商 / 创建日期范围的组合查询。所有查询条件现在全部常显在列表上方——原来的"高级筛选"折叠面板撤掉了。多个条件叠加着用——比如"客户 X 本周还是 draft 的 parcel 单",一次筛出来。也可以按优先级(已提级 1 以上 / 紧急 10 以上 / 默认 0)、加急(仅加急 / 仅非加急)和发货日期范围筛选——发货日期按列表里的"发货时间"算,只会筛出在该时间段内真正发过货的单。导出用的就是当前已应用的筛选条件,CSV 和屏幕上的列表始终一致。
Draft 出库单全量可编辑#
出库单在 draft 状态下,订单类型、order line、所有订单信息都能编辑(之前只能改表头)。单子走出 draft 之后,编辑按原来的规则锁死。
CSV 导入建单#
出库单支持批量导入建单:在订单列表页,下载模板 → 填好 → 上传。页面解析文件后把行发给后端;后端逐行校验(必填项、数量 > 0、SKU 存在、客户存在、仓库存在、shipment_no 未重复),按 shipment_no 建单——相同 shipment_no 的多行合并为一张草稿单。
- 模板列:shipment_no | client* | warehouse | order_type | ship_to_name* | ship_to_address* | ship_to_city* | ship_to_state | ship_to_postal* | ship_to_country | ship_to_phone | sku* | qty* | uom | note(* 为必填)。
- shipment_no 留空自动生成;warehouse 留空用当前仓库;order_type 默认 parcel。
- 校验失败的行会报出原因且不入库——只有合法的行才会建单。
Store + UOM 下拉规则#
- Store 下拉框放在 Ship To 旁边:选了 store,ship to 地址自动带出并锁定不能改(地址来自 store 主数据,不是手输的);Store 留空,ship to 地址随便填。
- Order line 加 item 时,UOM 是下拉框,默认带产品的 default UOM——这单要按别的单位发,逐行改就行。
Cluster 向导:parcel 检查提前到第 1 步#
order_type=parcel 检查提前到向导第 1 步(原来第 4 步才拦)。向导里的 order 号可点,在新 tab 打开详情页——核对订单不用丢向导进度。
出库单详情:记录类 tab#
出库单详情页除了 Info,还有 6 个记录类 tab,把这张单发生过的事全列出来。以前这些 tab 只显示“Coming soon”,现在全部上线了。
- Picked Inventories(已拣库存):这张单实际拣了什么,按拣选任务分组。列:任务号、拣选方式、SKU、产品、数量(已拣 / 应拣)、来源库位、托特(LPN)、批次号——外加四个"拣选实测"列,显示拣货确认时记录的真实值:pick-from 库位编码、pick-to 库位编码、托盘 LPN、托特 LPN。订单是在 cluster 里拣的,这里只显示属于本单的那一份。
- Shipped Inventories(已发库存):这张单发出的每一票货,一行 = 一个包裹(parcel)或一票货运(freight)。列:SP 发运单号、订单类型、承运商、服务、Tracking 号(freight 显示 PRO/BOL)、包裹 x of n、重量、发货时间。展开一行能看里面装了哪些 SKU、多少件。
- Shipping SN(发运序列号):这张单采集到的序列号。注意口径:这些序列号是在拣货时采集的(产品放进托特/LPN 时扫的),发货时不会再复核,tab 里会明说。列:序列号、SKU、拣选任务、托特/LPN、采集人、采集时间。不做序列号跟踪的产品,这个 tab 是空的。
- Attachment Upload(附件):属于这张单的文件——打包照片、签收单据、承运商文件等。支持上传、下载、删除;同一文件重复上传会秒传,不存第二份。
- Accessorial Charges(附加费):这张单的额外费用,条目来自 Accounting 收费目录(包材、额外人工、特殊操作、加急费等)。填数量,金额按目录单价自动算。删除一行是真删除:同步到 Accounting 但还没开票的费用,会连那边的计费事件一起删掉;已经开票或已关闭的费用删不掉(会告诉您原因),每次删除都记审计日志。费用一旦同步到 Accounting,在这里就不能改价——删掉这行再按正确金额新建一行。费用随月结进入 Accounting,落到货主的发票上。
- Put Back History(退回历史):这张单已拣的货每次被退回上架(Return to Stock)的记录。列:SKU、退回数量、原因(任务取消、订单取消、拣错货、拣错数量、其他)、退回库位——上架真正做完之前显示“待执行”——还有发起人和时间。
发货弹窗:库位、Carrier、Service 联动#
- Deduct from location(扣减库位)改成下拉选择,不再手填:按库位编码或名称选。默认预填这张单拣货到的库位(拣选任务的 staging / picked 库位),正常情况直接确认就行——货不在那儿时再改。
- Carrier(承运商)改成下拉,列启用中的承运商。选了 Carrier,Shipping Service(运输服务)下拉自动列出这家承运商的服务;选好的服务会存到发运记录上,在 Shipped Inventories tab 能看到。
Direct Ship(直接发货):不用建拣选任务也能发货#
- 在出库单详情页的操作菜单里,Draft(草稿)、Allocated(已分配)或 Planned(已计划)的单子有 Direct Ship。适合随手就能拿货发走的小单——不用去打包台。Planned 的单子已经建了拣选任务:还没开始拣的,Direct Ship 会自动取消那张任务再发货;已经开始拣货的单子不能直接发货——先完成或取消拣选任务。
- 弹窗里逐行列出可以扣减的库位、每个库位的类型(picking / storage)和可用数量。确认后单子变成 Fulfilled。系统会自动以您的名义补记一张已完成的拣选任务,单子的历史和拣货计数保持完整——从单子上的拣选任务链接就能打开它。
- 选了承运商,Tracking 号就必填;没选承运商(比如客户自提)可以留空。整单只用一个 Tracking 号;多包裹发货走打包台(Packing Station)。已发的 Tracking 号直接显示在订单详情页的订单行旁边,不用再去包裹页里翻。
- 从 storage(存储)库位扣减的行按托盘发货:每行都要扫或选托盘,否则发货会被拦下,并提示缺什么。
- 托盘输入框和下拉现在合并成了一个组合框:打字过滤、从下拉里选(只列出所选库位上的托盘)、或直接扫码——扫码全等匹配自动落定。换库位会自动清空已选托盘,不会把托盘从错的库位发出去。
- 库存不够?把某行的发货量改成 0(或少于订购量),再选缺货原因确认——单子照样发出,标记为 short-fulfilled(短发完成)。已经开始拣货的单子不能直接发货:先完成或取消拣选任务。
Clone 弹窗:复制前先看清复制什么#
Clone 现在打开正式的弹窗,不再是浏览器裸确认框。弹窗里列清两段——会复制的:订单表头(客户、收货地址、承运商偏好、礼品信息)和全部明细行(数量、UOM、自定义字段);不会复制的:状态时间线、拣选任务、已拣/已发数量、Tracking 号、费用和附件。新单号由系统自动生成;克隆完直接跳到新单,新单从 draft 重新开始。
Ship-to(收货信息):从地址本选、选门店,或手填#
- 建单和编辑表单上的 Ship-to 区有两种填法:从客户的地址本里选,或手工填写收件人。地址维护在客户地址本(Master Data)里,OMS 和 WMS 共用。
- 勾“只看 Store”可以把地址本过滤到只剩门店地址(每条地址都标着类型)。选中一个 Store,整块 Ship-to 会按门店地址回填并锁定——地址本身在地址本里维护;这张单确实要改的话,解锁后再改。
- 已有单子的 Ship-to 只有在 Draft(草稿)状态下能改。单子往前走了之后这块就只读——货已经按这个地址承诺出去了,不能中途改。
编辑表单:Carrier 改下拉,Shipping Service 跟着联动#
- Carrier 不再手填——从承运商主数据里选(和收货单、发货弹窗同一份清单)。承运商在 Carriers 主数据里维护好,所有建单/编辑表单都跟着用。
- Shipping Service 跟着所选 Carrier 联动:这家承运商存了服务,就出现在下拉里,选了就存到单子上;换承运商时服务自动清空重选。这家没存服务时,字段保持输入框,直接手填即可。
建拣选任务:可以先选拣货员(可跳过)#
建 Order Pick 任务时——从订单详情页的 Create Task 下拉里建,或在订单列表批量建(Create Pick Task → Order Pick)——都会先弹一个框问指派给谁。详情页上所有建任务入口收拢进了一个 Create Task 下拉。选一位仓库成员,任务建好就直接派给他;也可以不选:任务先建出来不指派,之后再派或由拣货员认领。任务一建好,订单状态就从 Allocated 推进到 Planned。