Tova Bernard
产品表里的价格会更新,但订单需要保留成交那一刻的单价。比如产品今天从 99 元改成 109 元,上个月的订单不能跟着变。
在 Busabase 里,这种情况是订单明细单独保存成交单价,只用关联字段指向产品;还是能引用产品的某个历史版本?想保留实时产品信息,也能还原当时给客户的报价。
产品表里的价格会更新,但订单需要保留成交那一刻的单价。比如产品今天从 99 元改成 109 元,上个月的订单不能跟着变。
在 Busabase 里,这种情况是订单明细单独保存成交单价,只用关联字段指向产品;还是能引用产品的某个历史版本?想保留实时产品信息,也能还原当时给客户的报价。

建议按你说的第一种做法:订单明细单独保存成交时的单价,关联字段只负责指向产品。在 Busabase 中可用产品 Base、订单 Base、订单明细 Base:订单明细关联订单和产品,另存成交单价、币种、数量、折扣/税费口径和小计。创建订单时从产品的当前报价带入一个初始值,由销售确认后保存为这条订单的价格快照。以后产品从 99 元改为 109 元,老订单仍保存 99 元;只有新订单按新报价填价。
如果在订单明细里用 Lookup 直接显示产品当前价格,那一列会跟着产品变化,适合提醒“今天卖多少钱”,不适合作为历史成交价。产品记录的历史可以帮助回看当时谁改价,但不要让订单每次都去查产品的某个历史版本来计算金额:历史记录未必等于这位客户当时实际谈定的折扣价。订单金额需要更正时,对订单明细本身提交有审核和理由的修改,保留审计。
你们是否有同一产品对不同客户、渠道或数量的不同成交价?若有,更需要让订单明细的成交价独立于产品目录价格。英文同题讨论也有同一建议。
Sign in to join the discussion. Reading is always open; you only need an account to post.
Sign in