销售历史价格快速查看
角色:销售员 场景:销售在与客户确认订单时,客户经常会问:“上次你给我算的是什么价格?”。为了避免切出当前页面去翻找历史订单,我们需要一个快捷工具直接在当前明细行调出该产品的历史成交价。
本功能由定制开发的 3will_sale_order_line_price_history 插件提供。
1. 解决什么问题?
在 Odoo 原生的销售流程中,要查一个客户之前买某个产品的价格,往往需要新开一个浏览器标签页,去“销售订单”列表里搜客户名、搜产品,效率很低。
本插件为销售提供了“沉浸式”的价格追溯体验:
- 无缝查看:直接在订单行点击查看该客户该产品的历史成交记录(包含日期、数量、单价和折扣)。
- 一键应用:在 ERP 后台可以直接选中某条历史记录,将其价格和折扣一键覆盖到当前的明细行中。
- 跨端一致:不仅在 ERP 后台可用,在“商城代客下单”模式下同样支持弹出历史价格看板。
2. 核心操作场景
场景 A:ERP 后台录入销售订单 (Backend)
-
在 ERP 中创建一份销售订单,选择客户并录入产品明细行。
-
在该明细行的右侧(或操作按钮区域),点击 [历史价格 (Price History)] 按钮。
图 1: 在销售订单明细行点击带有时钟图标的历史价格按钮 -
系统将弹出一个窗口,列出该客户过去购买该产品的所有历史订单记录(按时间倒序排列)。
-
一键应用:如果想沿用某次交易的条件,点击那条记录旁边的 [应用此价格 (Set Price)] 按钮(即打钩图标)。
- 系统会自动关闭弹窗,并将当前行的 单价 (Unit Price) 和 折扣 (Disc.%) 更新为历史记录的值。
图 2: 客户历史价格弹窗,点击右侧的打钩图标可一键应用该历史单价与折扣
场景 B:B2B 商城代客下单 (Website On-Behalf)
销售员在外拜访客户,使用平板进入 代客下单模式。
-
在商城加购商品后,进入 购物车 页面。
-
对于每一行商品,在删除按钮旁边会多出一个 [历史价格 (Price History)] 的小链接。
图 3: 购物车商品行下方的“历史价格”入口(仅代客销售可见) -
点击该链接,网页会弹出一个轻量级的模态框,展示该客户购买该产品的历史明细。
图 4: 快速浏览该客户的历史成交价和折扣情况 -
销售可以根据历史情况,结合我们定制的 购物车手工打折功能,现场给客户调整出一个合适的价格。
3. 业务规则与逻辑说明
- 展示单据状态:
- ERP 后台默认只显示已确认的销售订单 (sale) 和已完成的订单 (done) 的历史行(后台可通过勾选“包含报价单”来查看 draft/sent 状态)。
- 商城前台默认只显示已确认 (sale) 与已完成 (done) 的历史行,不显示草稿状态的报价单。
- 不受发票状态限制:只要订单已确认,不论是否开票,都会出现在历史价格中。
- 排除当前订单:历史记录会自动排除当前正在编辑的这个订单,避免“自己查自己”的干扰。
- 展示条数限制:为了保证加载速度,系统默认只加载最近的 20条 历史记录。
- 管理员可在系统参数
3will_sale_order_line_price_history.order_line_limit中调整此上限。
- 管理员可在系统参数
- 商业实体追溯:查询历史不仅看当前具体联系人,默认还会往上追溯其总公司(Commercial Entity)及其下属所有门店的购买记录,让价格参考更全面。
4. 权限与可见性边界
ERP 后台可见性规则
- 权限要求:只要用户具备销售 (Sales) 权限即可在录入订单时使用该查询功能。
- 按钮位置:在销售订单明细行(Order Lines)列表中,单价字段旁边。
B2B 商城前台可见性规则
前台购物车的“历史价格”入口并不是所有人都能看到的,必须同时满足以下三个条件才会出现:
- 代客下单模式开启:当前浏览器会话必须处于代客下单模式下(即销售在帮客户下单,而不是客户自己登录)。
- 销售权限:当前操作人员账号必须具备后台销售(内部员工)权限。
- 商品行有效:当前购物车该行必须关联了真实的商品(排除促销凑单空行)。
注:普通客户登录自己下单时,无法看到该价格历史入口(普通客户只能通过他们的“我的账户”去翻看整单历史)。