退货与退款政策 (RMA Policy)
核心原则: 退货不是简单的“把货拿回来”,它是库存和财务的双重逆向操作。 销售员作为客户的接口人,必须确保每一笔退货都有据可依,并正确驱动仓库和财务。
1. 退货业务分类
在 Odoo 中,根据订单执行阶段的不同,退货处理方式完全不同:
| 场景 | 状态特征 | 处理方式 | 责任人 |
|---|---|---|---|
| 未发货退单 | 订单已确认,但仓库 Delivered = 0 | 直接改单:解锁 (Unlock) -> 修改/取消 | 销售 |
| 拒收/未收货 | 货已发出,但客户拒收 | 仓库退回:在发货单点击 Return | 仓库 (销售通知) |
| 售后退货 | 客户已收货,事后要求退货 | RMA 流程:创建退货单 -> 仓库收货 -> 财务退款 | 销售发起 |
warning
严禁操作: 如果货物已经发出(Delivered > 0),严禁直接在销售订单上修改数量或删除行!这会导致发货单与订单数据不一致,造成库存差异。必须走标准的“退货流程”。
2. 标准退货流程 (RMA Workflow)
退货涉及三个部门的协作,请严格按照以下步骤流转:
步骤 1:销售发起 (Sales Initiation)
当客户提出退货请求时,销售员需要判定是否符合公司退货政策。
- 找到源单据:
- 打开关联的 销售订单 (SO)。
- 点击右上角的 [Delivery] 智能按钮,找到对应的 发货单 (WH/OUT/xxxxx)。
- 发起退货:
- 打开该发货单。
- 点击顶部的 [退货 (Return)] 按钮。
- 注:如果销售没有权限点击此按钮,请在 Chatter (消息墙) 中 @仓库主管,注明“客户退货,请操作 Return”。
- 填写退货信息:
- Quantity:修改为实际退回的数量(不要多退)。
- Return Location:通常默认为
Partner Locations/Customers。 - To Refund:勾选此项(这将告诉财务需要退款)。
步骤 2:仓库收货 (Warehouse Receiving)
(此步骤通常由仓库完成,销售需知晓)
- 仓库收到系统生成的 接收单 (WH/IN/xxxxx)。
- 仓库实物清点与质检。
- 仓库点击 [Validate] 确认入库。
- 此时,系统的库存数量自动增加。
步骤 3:财务退款 (Financial Refund)
(库存入库后,才能进行退款)
- 回到 销售订单 页面。
- 点击 [Create Invoice]。
- 系统会自动识别这是一笔“负数”交易,生成 红字发票 (Credit Note)。
- 类型:
Credit Note。 - 金额:负数(例如 -¥1000)。
- 类型:
- 财务审核并确认,最后将款项退回客户账户或留作余额抵扣。
3. 特殊场景处理
场景 A:只退款不退货 (Refund Only)
适用:货物损坏严重,无需寄回,直接赔偿客户。
- 操作:
- 不要操作仓库的 Return(因为没东西回来)。
- 直接在 销售订单 中点击 [Create Invoice]。
- 选择
Credit Note类型。 - 手动说明原因:“货损赔偿”。
场景 B:换货 (Exchange)
适用:客户把 A 退回来,换成 B。
这是一个组合动作:“退货 A + 新单 B”。
- 对产品 A 走 标准退货流程(入库 + 生成余额)。
- 为产品 B 新建一张销售订单。
- 在支付时,使用 A 产生的余额支付 B 的订单。
4. 常见问题 (FAQ)
Q: 为什么我看不到“Return”按钮?
- A: 通常
Return按钮在 发货单 (Delivery Order) 上,而不是销售订单上。且该按钮只有在发货单状态为Done时才会出现。如果还没发货,请直接点Cancel。 - 权限:公司可能限制只有“库存管理员”才能发起退货。此时请通过 Chatter 通知仓库。
Q: 退货后的库存去哪了?
- A: 默认会退回到主库位 (
Stock). - 如果是次品,仓库在收货时应修改目标库位为
Scrap(废品区) 或Repair(维修区)。
Q: 可以在销售订单上把数量改成负数吗?
- A: 技术上可以,但仅限特定场景。
- Odoo 的机制:如果在销售订单上输入负数数量(如 -1),系统会自动生成一张入库单 (Receipt),并产生负数应收(退款)。
- 允许使用的场景:
- 以旧换新 (Trade-in):客户买新手机(+1),同时退回旧手机折价(-1)。此时旧手机确实需要入库。
- 服务/费用冲减:退回一项不需要物流的服务费。
- 折扣调整:作为一种特殊的“负数产品”来记录折扣(虽然建议用标准折扣功能)。
- 禁止使用的场景:
- 标准售后退货:严禁使用负数行代替 RMA 流程!
- 原因:直接加负数行生成的入库单,无法关联原发货单。这意味着系统不知道你退的是哪一批货(Traceability),会导致库存成本计算(FIFO/AVCO)不准确,且无法追踪批次号。请务必使用发货单上的 [Return] 按钮。