先说结论
在 Odoo 里,报废(scrap)和库存调整(inventory adjustment)表面都可能让数量减少或变化,但它们代表的业务语义并不一样。
最实用的区分是:
- scrap:这批货因为损坏、失效、不可再用而退出可用库存
- inventory adjustment:系统库存记录与现实盘点不一致,需要校正账实差异
所以它们不只是“两个都能改数量”的入口,而是在表达两种完全不同的库存事实。
为什么这个问题特别容易被混
因为用户最直接的目的很像:
- 把数量改对
于是很容易想成:
- 用哪个都差不多吧
但库存系统不仅关心数字最后是多少,还关心:
- 为什么会变成这样。
而 scrap 和 inventory adjustment,回答的就是两种不同的“为什么”。
scrap 更像什么
它更像:
这批货物本身失去了继续参与正常库存流转的资格。
也就是说,scrap 关心的是货物状态变化:
- 坏了
- 过期了
- 污损了
- 不能再卖 / 再用
这是一种业务事实,而不只是数值修正。
inventory adjustment 更像什么
它更像:
现实库存和系统记录对不上,所以需要把系统账面修正回来。
这时重点不一定是货坏了,而是:
- 盘点发现差异
- 记录不准
- 需要校正系统现状
所以它更多是在修“系统认知”和“现实状态”的偏差。
为什么这两者不能随便互换
因为后面你还可能需要回答:
- 这批货是坏掉了,还是只是系统记错了?
- 这是损耗,还是盘点差异?
- 这是业务损失,还是数据修正?
如果入口语义用错,后面:
- 分析
- 追责
- 报表
- 流程解释
都会被带偏。
所以区别它们,不是做形式主义,而是保留真实业务原因。
实战里最容易踩的 5 个坑
1. 只想着把数改对,不想为什么改
后面语义会乱。
2. 用库存调整去代替报废
损耗原因会被抹平。
3. 用报废去覆盖盘点差异
系统认知问题会被伪装成货损。
4. 只看数量结果,不看业务解释链
很多报表会失真。
5. 把所有库存修正都理解成同一种动作
这是最根本的误区。
一句话记忆法
把它记成一句话:
scrap 在表达“货本身失去可用资格”,inventory adjustment 在表达“系统记录和现实库存不一致需要校正”;它们都改数量,但原因语义完全不同。
理解这一句,库存修正问题会清楚很多。
DISCUSSION
评论区