销售发货 (Delivery Order)
单据定义: 发货单 (Delivery Order/Transfer) 是仓库的行动指令。 它告诉仓库人员:“请在某日之前,把这些货,发给这个客户。”
关键特征:
- 源头:通常由销售订单 (SO) 自动生成。
- 状态:只有当库存充足并被预留 (Reserved) 时,发货单才会变成 Ready (准备就绪) 状态。
- 后果:验证后,实物库存扣减,财务成本结转。
1. 核心价值 (Value)
- 告别“抢货”: 系统遵循 “先单先得 (FIFO)” 原则。一旦库存被某张发货单 预留 (Reserved),其他发货单即使金额再大也无法发货,除非主管手动干预。
- 批次追踪 (Traceability): 对于食品行业,发货单是记录 “哪个批次卖给了谁” 的关键环节。这是食品安全召回的基石。
- 无纸化与精准化: 支持直接在 PDA 或手机上操作,避免看错行、发错货。
2. 界面解剖 (Anatomy)

A 区:状态流转 (Status Bar)
仓库员最需要关注的状态:
- Draft (草稿):还没生效,通常不会看到。
- Waiting (等待):缺货! 此时无法发货,需等待采购入库。
- Ready (准备就绪):货齐了! 库存已被锁定,可以去拣货了。
- Done (完成):货已发出,库存已扣减。
B 区:操作明细 (Operations)
这里有三列关键数字,请务必分清:
- 需求 (Demand):销售卖了多少。(目标)
- 预留 (Reserved):系统在架子上锁定了多少。(当前资源)
- 完成 (Quantity/Done):你实际拣了多少。(实际结果)
:::tip 为什么“预留”很重要?::: 如果
Demand= 10,但Reserved= 0,说明缺货或未预留。此时去架子上是找不到属于这张单的货的。
3. 标准作业流程 (SOP)
阶段 1:获取任务与拣货
- 打开看板:进入 Inventory (库存) > Delivery Orders (发货单)。
- 筛选任务:点击卡片上的 [X To Process](待处理),进入列表。
- 打印单据:
- 选中需要发货的单据。
- 点击 [Print] > [Delivery Slip (发货单)] 或 [Picking Operations (拣货单)]。
- 区别:拣货单按库位排序,方便走路;发货单按产品排序,方便核对。
阶段 2:实物拣选与录入 (Execution)
拿着纸质单据或 PDA,从货架上把货拿下来。
- 检查批次/有效期:
- 食品行业红线:必须确认拿下来的货,其批次号 (Lot) 与系统指示的一致(如果是系统指定)。
- 如果系统未指定批次,需手动录入您实际拿走的批次。
- 录入系统:
- 回到电脑前(或使用 PDA)。
- 点击单据上的 [Set Quantities (设为完成)] 按钮。
- 动作含义:
- 这相当于告诉系统:“我照着单子拣完了,而且数量一个不少”。
- 系统会自动把
Reserved (预留量)的数字填入Quantity (完成量)列。 - 如果您实际只拣了 8 个(而不是 10 个),请不要点这个按钮,而是手动在
Quantity列输入8。
- 录入批次:点击产品行右侧的 [≣] (详细操作) 按钮,确认或修改 Lot/Serial Number。
- 验证 (Validate):
- 确认无误后,点击左上角的 [Validate] 按钮。
- 重要概念解释:
- 什么是 Validate?
- 在 Odoo 中,Validate 意味着 “生效” 或 “过账”。
- 还没点 Validate 之前,这张单子只是一个“计划”或“草稿”,系统里的库存数还没真正减少。
- 点了 Validate 之后:
- 库存真正扣减了(Inventory Move)。
- 财务成本结转了(Journal Entry)。
- 这张单子就锁死了,不能再改了。
- 什么时候点?
- 只有当货车司机把货拉走了,或者包裹交给快递员了,您确定这批货真的离开仓库了,再点这个按钮。
- 千万不要在刚打印完单子就提前点,万一拣货时发现少货,想改都改不了。
- 什么是 Validate?
阶段 3:处理差异 (Backorder)
如果客户订了 10 个,但你只有 8 个能发:
- 在
Quantity列填入8。 - 点击 [Validate]。
- 系统弹窗询问:
- Create Backorder (创建欠单):剩下的 2 个以后再发。系统会生成一张新的发货单(状态为 Waiting)。
- No Backorder (不创建欠单):剩下的 2 个不发了(等于取消剩余部分)。销售订单上的已发货数量将定格在 8。
- 决策建议:除非客户明确说“剩下的不要了”,否则一律选择 Create Backorder。
4. 常见问题与异常
Q: 状态一直是 "Waiting",但我仓库里明明有货?
- 原因 1:货在系统里没入库(采购没点 Validate)。
- 原因 2:货在别的库位(如收货区),没移动到发货区 (Stock)。
- 原因 3:被其他更早的订单占用了 (Reserved)。
- 对策:点击页面顶部的 [Check Availability (检查可用量)] 按钮尝试重新分配。如果还是不行,请查看产品库存报表。
Q: 发现货坏了 (Scrap) 怎么办?
- 不要直接发给客户。
- 点击单据顶部的 [Scrap (报废)] 按钮。
- 填写报废数量,系统会把这部分库存移入
Virtual Locations/Scrap,并自动从发货单中移除。
Q: 发货后发现发错了怎么办?
- 已验证 (Validated) 的单据无法修改。
- 请立即通知销售,走 退货流程 (Return)。
- 仓库员在发货单上点击 [Return] 按钮,把错发的货收回来。
5. 下一步
发货完成后,您的任务结束。 👉 系统自动通知销售:可以开票了。 👉 系统自动通知客户:货已发出(如果配置了邮件)。
您可以继续处理下一张 [Ready] 的单据。