促销生效与未生效排查
「促销审核了,门店没变价」是促销模块最高频的求助。真正的原因很少是「没生效」这么笼统,而是卡在七道闸口中的某一道:日期、状态、中止标志、线上标志、分店、商品范围、同步周期。本篇给一条按顺序走的排查路径,每一步都写明在界面上看哪里、什么结果算通过。
一、生效的七个条件
一张促销单要被门店收银端取到,必须同时满足下面七条。这是服务端组装促销快照时的取数条件,界面上的对应位置都列了出来。
| # | 条件 | 界面上看哪里 | 不满足会怎样 |
|---|---|---|---|
| ① | 当前日期在 开始日期 ~ 结束日期 之间 | 列表的 开始日期 / 结束日期 两列 | 单据不进快照,门店完全不变价 |
| ② | 单据状态是「已生效」或「已关闭」 | 列表的 单据状态 列 | 草稿、待确认状态的单永远不下发 |
| ③ | 未关闭 | 单据内部 | 已关闭的单不参与 |
| ④ | 中止标志 = 否 | 列表的 中止标志 列 | 中止的单不下发 |
| ⑤ | 不是线上单据 | 入口:「O2O业务 → 商城活动 → 在线促销」下的单都是线上单 | 在线促销永远不会改门店收银价 |
| ⑥ | 这家门店在 参于分店 范围内 | 适用范围 → 参于分店 | 分店没勾到 = 这家店不变价;留空 = 全部分店 |
| ⑦ | 收银端拉到新的促销快照 | 收银端同步状态 / 等十分钟 | 规则改了但端上还是旧快照 |
条件 ⑥ 之后还有一层排序:优先级降序、审核日期降序。它决定多张单同时命中时谁排在前面,但最终用哪一条由收银端决定,配置端不做跨单裁决。
二、界面侧排查步骤
按顺序走,每一步都有明确的「通过标准」,不要跳步。
第 1 步:确认单据状态
促销管理 → 促销方案,找到这张单。 通过标准:单据状态 = 已生效。 如果是草稿:打开单据 → 编辑 → 审核。审核不过会弹具体校验提示(各玩法分篇的「常见问题」里逐条列了),按提示改完再审核。 如果显示「单据 XXX 不是由 WEB 平台创建,无法在 WEB 端编辑」:这张单来自客户端,回客户端处理。
第 2 步:确认日期窗口
看 开始日期 / 结束日期 两列。 通过标准:开始日期 ≤ 今天 ≤ 结束日期。 两个高频坑:
- 结束日期已经过了。结束日期的时间部分固定是当天
23:59:59,过了当天就打烊失效。 - 日期是空的。空日期的单据取数时被日期条件直接排除,界面上却可能看不出异常。重新打开单据把两个日期填上再保存、审核。
第 3 步:确认中止标志
中止标志 列应为「否」。 是「是」说明这张单被中止过,需要回客户端处理或在网页端重新建单。
第 4 步:确认分店范围
打开单据 → 适用范围 → 参于分店。 通过标准:要么留空(全部分店),要么明确包含出问题时那家门店。 排查时最容易忽略的是「留空 = 不限制」这条:以为留空是「谁都不给」,实际是「所有店都给」;反过来,门店专属活动忘记勾分店,就会变成全店活动。
第 5 步:确认商品范围真的覆盖了这个商品
打开单据 → 促销规则 区。
- 单品/特价/折扣类:看 促销商品明细 表里有没有这一款商品、单位对不对。明细里配的是基础单位,收银端按箱/按件卖时对不上就不会命中。
- 范围类(全场折扣、满额立减、买赠、换购、第二件、阶梯):看 包含条件 的类型和选中内容,覆盖商品数 显示
--(尚未设置包含条件)就是根本没配范围。 - 选了「类别」时,要确认这个商品挂在该类别或其子类别下——分类是按子树展开的,父类别能覆盖子类别的商品。
- 排除条件 里是否把这个商品剔掉了。
第 6 步:确认玩法门槛够到
价格没变,很多时候是门槛没到而不是活动没生效:
| 玩法 | 常见「没到门槛」 |
|---|---|
| 满额立减 | 范围内金额没满 满 __ 元,或 最大套数 已用完 |
| 买赠 / 换购 | 购买件数/金额未达基准;赠品类型=电子券 时非会员交易不送 |
| 第二件打折 | 两件不是同一个 SKU(选了「同品」);或 最大套数 限制 |
| 阶梯促销 | 品项限制 选了「强制不同品项」,同款多买只计 1 件 |
| 量贩特价 | 数量落在档位区间外;档位按的是明细里配置的单位 |
| 套餐促销 | 购物车没有凑齐分组要求的件数 |
| 固定组合 | 购物车没凑齐组合的全部子件——它按整体识别,少一件就不算这套 |
| 场景营销 | 累计发生在 累计天数 窗口之外;限制会员享受次数 用完 |
| 积分赠送 / 抵扣 | 客人没录会员,或会员等级被 适用会员卡等级 挡在外面 |
第 7 步:确认会员维度条件
适用范围 → 会员卡类别 / 适用会员卡等级 有值时,非会员和不匹配等级的会员都不享受。收银员没录会员号,等于把客人排除在活动之外——这类「客人投诉别人有我没有」的情况,先查这一层。
第 8 步:确认同步已经发生
促销保存并审核后,约十分钟同步一次到门店。等过一轮同步周期再复测,不要连续改连续测。 验证方法:在门店收银端重新做一次同步/刷新,然后结一单看价格。
三、改了规则但门店没变:同步指纹
收银端拉快照时会带上自己已知的版本号,服务端比对内容指纹后:
- 指纹一致 → 返回「未变更」,收银端继续用本地旧规则;
- 指纹变了 → 下发全量新快照。
指纹是按各促销表的行数与最近变更时间算出来的。这里有一个需要知道的边界:
- 促销头表、商品明细表、主规则表带变更时间,改内容会翻指纹。
- 混搭参与商品、赠品规则、固定赠品、套餐分组与套餐明细这几张表在指纹里只按行数取信号。也就是说,只改内容、行数不变时,指纹可能不变,收银端会收到「未变更」而保持旧规则。
受影响的典型操作:改套餐分组里已选的商品(不加不减行)、改买赠的赠品行内容、改场景营销的参与商品行内容。
稳妥做法:改这类明细时,把相关行删掉重新添加(让行数变化),或者整单 复制 成新草稿单、审核后停用旧单。改完等一轮同步周期再验证。
四、典型现象与定位
| 现象 | 最可能的原因 | 定位方法 |
|---|---|---|
| 所有门店都没变价 | 状态还是草稿;日期为空或已过;这张单是在线促销 | 看列表的 单据状态 / 起止日期 两列;确认入口是「促销方案」而不是「商城活动 → 在线促销」 |
| 只有某几家店没变价 | 参于分店 勾法反了(想排除的没排除,或想参加的没勾) | 打开单据核对分店选择 |
| 只有某一款商品没变价 | 商品不在范围内;单位不对;被排除条件剔掉 | 看 覆盖商品数 与明细行;核对该商品的分类归属与单位 |
| 价格变了但力度不对 | 折扣率/百分比口径填错;档位单位与实际销售单位不一致 | 对照各玩法分篇的字段口径重填 |
| 促销时好时坏 | 同一批商品同时挂了几张单 | 按商品反查在生效期内的所有单,保留一张 |
| 改了明细没反应 | 命中第三节的指纹盲区 | 删行重加,或复制成新单重新审核 |
| 会员没享受到 | 收银时没录会员;卡类别/等级不匹配 | 结一单确认会员号是否录入 |
| 活动到期还在生效 | 结束日期填得太晚;或收银端没拉到新快照 | 改结束日期 → 审核 → 等一轮同步 |
| 想紧急停掉一个活动 | — | 反审核:单据回到草稿,从下一份快照里消失。这是最快的收口动作 |
五、升级排查前请准备好
如果按以上路径仍未定位,联系支持时请提供:
- 单据号(列表第一列,形如
PspYYMMDDNNNNNN)与 方案名称; - 出问题的 门店名称 与 收银端类型(传统收银机 / 平板收银 / 微商城);
- 出问题的 商品编码 与 销售单位;
- 一张 小票 或收银端截图,显示期望价格与实际价格;
- 你期望生效的 时间点(用于核对日期窗口与同步周期)。
有了这五项,可以直接按第二节的七道闸口逐条比对,通常一轮就能定位。
六、常见问题
审核通过了,为什么不立刻生效? 审核只把单据状态推到「已生效」,进快照还要等一轮同步周期(约十分钟)。急用可以在收银端手动触发同步。
反审核和删除有什么区别? 反审核把单据退回草稿、从快照里消失,单据还在、可以改完再审核;删除是物理去掉这张单,且只有草稿状态能删。要停活动用反审核,不要用删除。
批量删除时提示跳过了几条。 被跳过的是非草稿状态的单据。要先反审核,再批量删。
同一批商品能不能挂两张促销? 配置端不做跨单查重,两张都能审核生效。同时命中时按下发的顺序(优先级降序、审核日期降序)取用哪一条,属于收银端逻辑,上线前请在门店实测。稳妥做法是同一批商品同一时段只挂一种玩法。
促销时段设了,门店没按时间生效。促销时段 标题上写着【仅支持平板收银】,传统收银机不识别这个条件。
门店价和微商城价不一致,是不是配错了? 不一定是错。在线促销和促销方案是两条独立通道,本来就需要各建一张单。如果确实要同价,见 96在线促销 的「线上线下同价」做法。
列表里翻不到刚建的单。 先确认入口:场景营销的单只在「促销管理 → 场景营销」列表显示,在线促销的单只在「商城活动 → 在线促销」显示,两者都不会出现在「促销方案」列表里。其次注意列表按 单据日期 查询时最多查 31 天、只能查一年内数据。
