更新日志

改了什么,
一条条记在这里。

已经上线的直接写;还没上线的会标明「尚未上线」。 目前共 794 条
同一条更新可能同时属于多个模块,因此各模块条数相加会大于总数。

顾客营销

老板尚未上线

老板首页「要你处理」补上开票申请、顾客跟进、临期批次、服务呼叫、入职审核;读不到的写「没读到」,不再当成没有

  • 网页总览和小程序老板首页的「要你处理」,新增这几类:开票申请、顾客跟进到期、临期批次(7 天内到期或已过期、还有库存)、服务呼叫(不含催菜)、入职审核;小程序首页同时补上了供货申请。每一类的数字都跟它自己那一页的列表一致,点一下进到那一页;没有对应权限的人看不到那一类。
  • 后端某一类这次没算出来(比如雷达扫描、补货建议出错),首页会写「XX没读到 · 重试」,不再悄悄当成「没有」,也不再在这时说「今天没有要你处理的事」。
  • 已经有自己行的几类(未交班、超时桌;网页上还有供货申请)不重复列第二次。网页上「服务呼叫 4 4」这类数字重复显示的问题一并修了。

顾客 CRM进销存客人呼叫服务员工账号与权限

老板尚未上线

小程序新增「营销业绩」页:按组看业绩、点组看成员、可建组放人、配带队提成比例

  • 小程序「更多功能」里多了「营销业绩」(需要有提成查看权限且门店开了提成模块)。顶部选月份,下面是全店合计,每个组一行;点一个组,底部抽屉里看成员各自的业绩,没放进组的订单单独算在「未分组」。
  • 有提成结算权限的人,可以在抽屉里选组长、把人移出组;「分组管理」里建组、把员工 / 外部公关 / 股东放进组;「带队提成与口径」里填组长、总监的比例,并设置股东带台是否计入组业绩和提成基数。
  • 读不到的地方写「没读到」并给原因,不画 0;选组长和移出这两个动作加了防连点;切换门店后页面自动重新读取。

提成/推广

老板

网页后台新增「营销业绩」:营销、股东、公关可以分组,业绩按组汇总,可算带队提成

  • 侧栏「客户与营销」里多了「营销业绩」。顶部选月份,下面是全店合计,再往下每个组一行(组名、人数、单数、业绩);点一个组看成员各自的业绩,没放进任何组的订单单独算在「未分组」里。
  • 「分组管理」:建组(可以建部门,部门下面再建小组,最多两层)、选组长、把员工 / 外部公关 / 股东放进组。一个人同一时间只能在一个组;换组时旧组自动在换组前一天结束,之前月份的业绩仍算原来的组,不会变。
  • 放进组时有「生效日」,这一天之前的业绩不算进这个组;想让本月已有业绩也算进来,把生效日填成月初,放错了在组里能改。
  • 「带队提成与口径」:组长按本组营业额的几 %、总监按本部门营业额的几 %,各店自己填,不填就不算;页面上显示的是「应得金额」。股东带台是否计入组业绩、是否计入带队提成基数,两个开关各店自己定(默认:计入组业绩显示、不计入提成基数)。

提成/推广

老板

小程序顾客页和老板首页重排:首页一屏半,只列要处理的事

  • 老板首页:页头只放门店和营业日(只写一次)和右上角「我的」;大卡改成并排两个数「已收 / 未结 · N 桌」;「要你处理」只列数量大于 0 的事(超时没交的班、超时开台、有开台但没开班、待批核、设置没填),整行可点。
  • 常用入口 8 个图标;「全部功能」点开是可搜索的完整清单;原来摊开的三组大磁贴、页底口号和重复的「我的账号」去掉;开店第一周清单并进「要你处理」里的一条「开店设置 x/y」。
  • 参考区变成一个列表,一行一项带具体数值;AI 一句话、各店状态也收进这里;「净利怎么算」改成已收旁的 ⓘ。
  • 顾客页:名单每人一行(姓名、会员号 · 等级 · 认领人、累计消费);统计分析收进「会员分析」;会员详情 1.3 屏,分「概览 / 交易 / 资料 / 关系」,输入表单都改成点按钮从底部弹出。
  • 金额统一两位小数加千分位;常点商品数量去掉多余小数。

顾客 CRM老板经营看板

老板

顾客页重排:名单一屏放得下,统计分析收进「分析」页签,会员详情分四个页签

  • 顾客页最上面一行是「共 N 位 · ⓘ 口径」和「新增会员」,下面是「名单 | 分析」两个页签。原来名单下面平铺的 11 块统计,现在放进「分析」页签的卡片里;没数据的卡不占位,合成最后一行小字「还没有数据:…」,读失败的卡用橙色框写「这次没读到」并带「重试」。
  • 「今天该联系」「到期跟进」只在数量大于 0 时才出现在页头;导出生日名单等一次性操作收进「⋯ 更多」菜单。
  • 点开一个会员:页头卡写姓名、等级和储值、积分、累计消费三个数,两个主按钮「储值」「记一笔跟进」;下面是「概览 / 交易 / 资料 / 关系」四个页签;冻结、清退、注销、合并收进最底部「危险操作」,里面按钮都是红框。
  • 服务偏好、私下备注、标签、跟进这些原来常驻的输入框,改成点「改」才出现。流水默认只露 3 条,其余点「看全部」;积分、到访次数等大数字加千分位。
  • 没有留名字的会员,在名单和档案里显示「未留名 · 尾号 0099」。选中会员时详情栏加宽,窄屏下详情排在名单下面。

顾客 CRM

老板

会员套餐储值:先写「给谁充多少送多少、怎么收」再确认入账

  • 顾客详情点「+ 储值」,选套餐(如充 200 送 20)后先出一句「给 合成会员·吴建霖 充 ¥200 送 ¥20,收款:现金」,点「确认储值」才入账;没选套餐直接点会写「请输入有效的储值金额」。
  • 名单里累计消费写成「累计消费 ¥…」。
  • 三端同一套句子,后端没改。

顾客 CRM

老板

礼品卡详情:充值先选收款方式再确认,冻结要填原因

  • 卡详情点「充值」要先选收款方式(现金、微信、支付宝、银行卡,没有默认),确认句出现后点「确认充值」才入账,点「取消」不入账。
  • 现金充值要先有当班抽屉,没开班就不动余额并说明要先开班;微信、支付宝、银行卡记到对应结算账户,不进抽屉。
  • 「冻结」不再点一下就生效:要填原因,点「确认冻结」才冻;「解冻」点「确认解冻」,原因不强制。会员档案里的同一颗按钮同样先确认。
  • 冻结、解冻、充值的日志带卡号、改前改后、原因/收款方式。收银台把冻结和过期分开说。

礼品卡

老板

会员建档:不满 11 位建不了,没留名字的会员显示「未留名 · 尾号」

  • 手机号不是刚好 11 位数字,前后端都拦住,写「请输入 11 位手机号」;空号写「请输入手机号」。改手机号走同一句检查。
  • 姓名仍是选填。名单、档案标题里姓名空的,显示「未留名 · 尾号 0099」,不再露整个手机号;编辑框仍是空姓名,保存不会把这句写进名字。
  • 重复的 11 位号仍写「手机号 … 已注册」,小程序这句红字挪到「建立」正上方;建档时跟进提醒、礼品卡等一组入口先收起。

顾客 CRM

老板

股东门户:验证码失败不进冷却、已发分红摆在缺资料前面、店规带发布人

  • 查看股比:发送验证码失败(号码不合法、模板缺失、频率限制)不再进入冷却,错误留在按钮下;成功才写「验证码已发到 138****0000」,掩码和冷却秒数由服务端给。
  • 股东门户第一屏:已发放分红挪到「还没有出资记录」上面;没有绑定门店时的说明改成人话。
  • 申请提现说明改成「可提现 = 已确认分红 − 已提现 − 审批中」;店规制度页带发布人姓名和日期,空的写「还没有店规」。
  • 纯股东误入「呼叫队列」「运营异常」时,写「这是员工用的页面,你的入口在股东门户」;订台默认时间按 17:00–02:00 的营业时段取。

股东与分红店规与公告

老板

分红确认之后帐又变了会写明;毛利趋势不再叫现金流;还没启用的股东不进股比合计

  • 股权分红确认页:已确认的月份,先写确认事实(净利、可分配),再写「下方损益表显示的是确认当时冻结的数字」,并说明确认之后同月又变过的原因,不再写「不会重算」。
  • 财务健康一档原来叫「现金流健康」,改叫「毛利趋势」,大字「未来 N 天毛利趋势」;说明写清这个数不是现金(房租、薪水、采购没算进去)。
  • 股东页:还没启用的股东单独一块、只读,句子是「这几位还没启用,股比不进上面的合计。」不再被画成启用。
  • 后端没改:确认分红本来就不关会计期间,这轮只把话说清楚,没有改任何已过账的分录。

股东与分红财务/日结/流水

财务/提成

日结挂账写未收现,没有提成写今天没有符合资格的提成

  • 日结里,挂账和标了未收的款项后面写「未收现」。
  • 提成读不到才是破折号,并说明读不到,不当成 0。
  • 读到了但没有明细,金额按 0,并写「今天没有符合资格的提成」。

财务/日结/流水提成/推广

店员

礼品卡带人民币符号,调拨列出品项,应付不写角色名

  • 礼品卡金额空的留空,否则前面加人民币符号,已经有的不重复加。
  • 调拨列表写出品项摘要。发出去的单写出发货时间。
  • 没有付款权限的人打开应付,只看到「你没有付款权限,只能查看」,不写角色名。

礼品卡调拨采购

提成

退掉不算提成的品,不再把整单外部推广分润冲掉

  • 外部推广的分润跟服务员提成同一条规则:不算提成的品退掉,分润不动。
  • 退的是算提成的酒水时,只冲回这一笔,日结冲回栏能看到这笔金额。

提成/推广

提成

退掉不算提成的品,不再把整单服务员提成冲掉

  • 只退一杯不算提成的饮品时,服务员已经算出的提成留着,不再整笔作废。
  • 退的是算提成的酒水时,只冲回这一笔对应的提成,原来的记录还在。
  • 日结和提成明细的冲回栏会写出冲掉的金额,不再一直是 0。

提成/推广

会员储值

搜不到会员时,有建档权限才能新建

  • 有新建会员权限的人,搜不到这个手机号时可以新建,并带上刚搜的号码。
  • 没有这把权限的人会看到:没有这位会员。可以先点单,结账时请有会员权限的同事建档。
  • 没有扫码入会。

顾客 CRM

收银

收银台、进货核对、导入、损耗——读不到的时候不再显示成「就是没有/就是零」

  • 结账时如果订金/低消/积分兑换比例这几项之一读不到,「找零」和三颗快捷收现钮(刚好/凑整)以前照样显示一个可能算错的金额,现在改讲「应收未确定,暂不能算找零」并停用这三颗钮,等读到了才恢复——避免收银员照一个错的找零金额多找或少找钱给客人。
  • 结账合计与结账按钮上的金额,以前服务器账单读不到时会悄悄退回本机估算的数字,看起来跟服务器核定过的一样;现在读不到标「本机估算」、用的是上次读到的旧数据时标「旧数据」。
  • 后台「从平台商品库导入」弹窗,以前本店上架清单读不到时导入按钮照样能按,可能把已经上架过的商品重复导入;现在读不到时弹窗顶部提示 + 全部导入操作(单选、全选、一键导入)停用,重试成功才恢复。
  • 采购三方对帐表里第二处引用收货记录的地方,以前读不到时数量悄悄当成 0,让「票、款、货」对不上的情况可能被误判成对上了;现在读不到明讲「读取失败」,不当真数字用于比对。
  • 老板首页多处(今日生日会员、储值沉睡提醒、流失名单、应收账龄提醒、开太久没交的班、当班状态、日结核对结论)以前读不到时会静静显示成「没有」或直接消失;现在每一处都补上「读取中」「读取失败+重试」的提示。首页那句「今天没有要你处理的事」以前只要伺服器待办清单读不到就可能被误判说出口,现在改成这几个来源里只要有一个还没读到/读失败,就先说「有些提醒还没读到,不确定」,不敢再打包票。
  • 总部页「集团合计」「集团日结汇总」逐日期栏跟合计栏,读不到时以前用各自写的检查(合计栏那一格甚至完全没检查),现在统一用同一套读取状态判断,读失败时清楚标示、不当真数字显示。
  • 股东档案页「合伙出资与股份总览」卡片,以前服务器汇总数字读不到时会悄悄退回用本店档案自己加总的估计值,画面上跟服务器确认过的数字长得一模一样;现在读不到时加一句「服务器汇总读不到,以下为本店档案本地估算」的提示。
  • 库存批次「效期核对」以前读取失败或还在读的时候,会跟「确认查过、真的没有临期批次」印同一句话;现在分成「正在核对」「读取失败,不确定」「确认没有」三种不同的话。
  • 报损单里额度预判的金额计算,防御性修正,画面本身没有可见差异——只是把批次信息还没读到时曾经会被算成的假「0」改成「算不出来」,交给后端的额度检查兜底,不影响任何按钮或文字。
  • 结账「找零」门槛第一版只补了「拆分收款/通道收款」那条切换路径,默认结账(不切分账/通道收款)走的是另一段独立代码,三颗快捷收现钮当时都没停用;现在补齐:默认路径的「刚好」钮也会在读不到时停用,警示文字从容易被当成「一切正常」的绿色底框换成跟旁边既有错误提示同一套的红色警示样式,「完成收款」按钮在应收未确定时只显示「完成收款」不带金额。

结账收款菜单商品建置采购老板经营看板连锁 HQ股东与分红进销存

全站

自动转采购单和补货遇坏单位不再整批中断;提成页码非数字不报500;股东启用停用人数改由后端给真数

  • 自动转采购单和补货下单草稿,遇到某件商品的计量单位识别不出来时,不再让整批操作直接失败——审批通过后一键转单遇到问题商品,会明确列出是哪几件商品出了问题,不建立任何订单;补货下单草稿遇到问题商品会跳过这一件,同一个供应商的其他商品和其他供应商照常生成订单
  • 后台「提成」相关页面(个人业绩、门店汇总、外部推广员汇总、提成明细及其按人/按日/按类别汇总等)如果地址栏或分页参数不是数字,以前会报「服务器错误」,现在会明确提示参数错误,不会误报成系统故障
  • 股东名册页面「启用 N · 停用 M」这两个数字,以前超过200人时会算少,现在改由后端给出真实总数,不受清单显示上限影响

采购提成/推广股东与分红

财务

月度目标、工资成本、股东分红、滞留退款等多个页面读取失败时,不再显示成「没有」或算出错误数字

  • 「月度目标」卡片:本月营业额或月度目标读取失败时,不再拿失败当「没有」去算一个假的达成率,会明确提示「读不到本月营业额/目标」
  • 成本页面的「默认时薪」和「本月工资成本」:读取失败时不再显示成「未设置」或干脆不显示,会提示「读不到,不确定有没有设过」;导出成本明细表时如果这一项读不到,表里也会写清楚「读不到」,不会悄悄漏掉这一行
  • 股东分红页面:损益表到底是「已冻结的数字」还是「现在重新算的数字」,在读取失败或还没读完时不再擅自认定成其中一种,会提示「暂时读不到,刷新再试」
  • 后台待审批页面里「已批准但钱还没退给客人」的滞留退款提醒,读取失败时不再安静地整块不显示,会明确提示「读不到,不代表没有,点重试再看一次」
  • App(iOS/安卓/Mac/Windows)的「退款收件箱」:读取滞留退款失败时不再当成「没有滞留退款」,会提示「读不到,不是没有」并可以点重试
  • App 的「门店成本」页面:保存失败时不会再误显示成「保存成功」
  • App「日结」页面的提成明细:读取失败时不再显示成 ¥0.00,会明确提示「读不到提成明细」

财务/日结/流水成本与毛利股东与分红审批收件箱

体验

小程序补齐8项与网页端的一致性缺口(挂账/日结/现金流水/开票/订单)

  • 开票申请、挂账列表以前只拉第一页(开票100笔、挂账50笔),超过这个数量后面的悄悄消失,现在会自动翻页拿完整份清单。
  • 只能看到自己班次的账号,以前「今日班次」页面会让人误以为看的是全店范围,现在会明确提示只看得到自己的班次。
  • 日结「今天」这块以前看不到是谁确认/取消确认的,现在跟「历史」分页一样显示姓名。
  • 现金进出记录、挂账、开票申请以前都看不出经手人是谁,现在会显示姓名;挂账单号现在能点进去看订单详情;开票申请标记已开后能看到开票时间。
  • 订单详情新增退款记录列表(单号、经手人、时间、金额、原因);会员标签现在能点进去看会员档案。
  • 现金进出记录读取失败时,以前会跟「这一班本来就没有记录」显示成同一句话,现在能区分出是读取失败(会提示重试)还是真的没有记录。

点单送厨成本与毛利顾客 CRM

老板

薪资方式(时薪/固定月薪)改为员工属性:结构性解决同一员工工资重复计入分红/净利

  • 员工的薪资方式(打卡算时薪 / 拿固定月薪 / 不计工资)现在是这个员工在这家店的一个正式属性,在员工薪资设置页(web/小程序)可以直接设置。设成「固定月薪」的员工,打卡只用来记出勤,系统不会再按小时另外扣一笔工资;设成「不计工资」的员工(比如老板本人、股东)完全不产生工资成本。这从结构上让「同一个人的工资被算两次」这件事变得不可能发生,不用再靠人工核对(过渡期措施T-2891的核对清单还留着,当作双保险)。
  • 固定月薪按自然月天数分摊到每一天,保证「每天分摊金额加总=整月固定月薪」分毫不差(最后一天吸收尾差),跟日结页/成本页月损益既有的口径完全一致。日结页、老板首页、情景模拟、股权分红预览/确认、老板首页摘要卡这五处会扣人力成本的地方,全部改成读同一个后端权威计算,不再各自维护一套判断。
  • 如果店里有些员工的薪资方式还没设置(既有旧数据),受影响的地方现在会明确列出「这些人的工资算不出来」,不会悄悄当成0或悄悄跳过——宁可显示「未知」也不要显示一个错的数字。

成本与毛利股东与分红

老板尚未上线

督导端(Flutter):股权分红确认新增「重复计入」核对清单

  • 督导端(Flutter运营App)的股权分红确认弹窗,跟web/小程序(T-2891)对齐:确认前会列出「本期有打卡时薪、又可能拿了固定薪资」的员工名单,以及店里本期记的固定薪资笔数,并要求勾选「已核对无重复」才能继续确认分红。
  • 这张票是过渡期措施,让督导在根本解法(T-2894,把薪资方式改成员工属性)上线前,分红前多一道人工核对,避免同一个人的工资被重复扣两次导致分红金额算错。

股东与分红

老板

分红确认页补重复计算人工核对清单+必勾确认(web/小程序,Flutter待补)

  • 股权分红的预览/确认页(web、小程序)现在会列出两份清单:本期有打卡时薪记录的员工姓名,以及payroll类固定成本明细;按下「确认分配」前要先勾选「已核对,固定薪资与打卡时薪没有重复计算」才能送出,后端也会验证这个确认,不是只靠前端画面挡。
  • 背景:如果店里某个员工同时被记了固定薪资、又有打卡时薪记录,系统原本会把这个人的工资算两次,导致分给股东的可分配利润被低估。目前资料模型还没办法让系统自动比对,所以先靠人工核对这一步过渡,根本解(把薪资方式变成员工自己的属性)正在另一张票开发。
  • Flutter端(总部/督导App)的确认分红入口目前还没有补上这个核对步骤,会被后端新加的检查挡下、显示错误讯息,不会误发生分红。这是暂时的空窗,目前全平台没有真实商户使用,补齐前不影响任何人。

股东与分红

老板

成本页月度员工提成不再误算收银差异奖惩

  • 供应链/成本页(#/admin/costs)「员工酒水提成」这一格,原本把收银差异奖惩(交班现金短溢对应的奖惩)也算了进去,这是 T-2884 已经订正过的同一种错误(单边计入比不计入更错),这次一并修正,数字会比以前小。
  • 只改这一页用到的月度总额来源,员工提成明细页(#/admin/commission)逐条记录不受影响,那里刻意仍显示全部类型(含收银差异奖惩)当一行明细。

成本与毛利提成/推广

全员

订单查询页补退款记录/状态变更记录/会员反查三项(REQ-041/042/043)

  • 订单详情展开后新增「退款记录」小节:每一笔退款单独显示单号、经手人姓名、时间、全额/部分、金额、原因——跟原本就有的按品项显示的负数行不冲突,两者一起看,一个是「这道菜退了多少」,一个是「这笔退款是谁在什么时候批的」。
  • 订单详情同一个区域新增「状态变更记录」:一张单从新建到开台、结账、完成(或取消、重开)每一步都逐笔列出时间、状态变化、操作人——以前一张被取消的单,画面上只看得到「已取消」三个字,不知道是谁取消的、什么时候。
  • 会员详情页新增「查看这位会员的订单 →」入口,点击直接跳到订单查询页并自动按这位会员筛选(筛选可以随时点掉,不影响继续用其他条件查)——以前订单页能点进会员档案,但反过来「这位会员买过什么」完全没有入口,得手动去订单页翻。

点单送厨顾客 CRM

小程序

小程序「我的客户·今晚」纯股东/纯销售(无操作权限)也能看到自己认领客户当晚的订位

  • 纯股东/纯销售账号(有带客资格,但没有任何操作权限)认领客户后,「我的客户·今晚」分页原本永远看不到该客户当晚的订位——现在能看到了。
  • 该分页只回自己认领客户的当晚订位,手机号一律显示遮蔽版,不显示明码。
  • 有操作权限的员工(能建订位/查会员)使用体验不变。
  • 问题由 T-2796 真人走查发现(rico2)。

我的客户(带客)

全员

小程序端「找会员」相关功能改用后端精确查找,不再依赖手机号比对

  • 员工输入推荐人邀请码来找会员时,原本是前端自己拿一批候选人清单来比对,现在改成直接向后端要精确结果
  • 发卡界面绑定已选中会员时,不再额外把号码传给后端
  • 「我的客户→今晚」这份名单,原本是拿维护人自己客户的手机号跟当晚订位的联系电话逐一比对;现在改成两边都用会员档案的固定编号来比对,不再依赖手机号是否填得一致

顾客 CRM

全员

网页端「找会员」相关功能改用后端精确查找,发卡不再多传冗余号码字段

  • 员工输入推荐人邀请码、或者输入合并对象的手机号来找会员时,原本是前端自己拿一批候选人清单来比对,现在改成直接向后端要精确结果——查找方式变了,找到的人应该不变
  • 合并会员的确认弹窗,号码部分现在显示的是遮蔽后的号码,不是完整号码
  • 发卡界面绑定已选中会员时,不再额外把号码传给后端(后端本来就能拿到会员本人的号码,这个字段是多余的,不影响发卡结果)

顾客 CRM

全员

会员汇总名单(沉默客户/带客排行/归因报表)权限收紧,普通员工不再能看

  • 发现:「沉默客户名单」「带客影响力排行」「带客归因报表」这三张汇总名单,原本只要求跟平时查一位客户一样的权限,服务员、调酒师也能打开——这三张给的是一整批客户名单,风险跟只看一位客户不一样
  • 修法:改成需要更高一级的权限,只有店长及以上才能看到,普通员工看不到这三张名单
  • 顺手修了一个AI触达文案生成的小缺陷:会员没填姓名时,原本会把该会员的手机号直接当姓名带出去,现在改成只显示遮蔽后的号码

顾客 CRM

全员

会员没选门店时,提示文案说清楚到底是要先选店还是根本没有店可选

  • 会员充值、清退、手动调整余额、积分兑换/调整这几个操作,没选门店时按钮会停用并显示一句提示——之前不管什么情况都是同一句「先在右上角选择门店」。
  • 如果这个账号右上角本来就有门店可以选、只是还没选,继续显示这句提示。
  • 如果这个账号本来就没有任何门店可以选(比如平台管理账号),改成显示「你目前没有可操作的门店,无法对会员做充值、清退或积分调整。」,不再叫他去点一个画面上根本不存在的东西。
  • 顺手清掉两处历史遗留的请求(月结导出、小程序二维码)在没有门店信息时仍然发送一个空字符串门店表头的问题,改成跟其他请求一致,不发送。

顾客 CRM

全员

会员充值、清退、积分调整这些资金操作,现在一律要求先选好门店

  • 会员储值充值、清退(退现金)、手动调整余额、积分兑换/调整这几个操作,现在要求当次操作一定要带着门店信息。
  • 没选门店时,这几个按钮维持可见(不会突然消失),但会停用,并在旁边提示需要先选门店。
  • 修复前,如果一次操作没有带门店信息,系统对这次操作的权限判断会退回到登录当下算出的一份跨门店权限清单,而不是重新核对这次操作当下的门店授权——理论上存在只在某一家店被授权的员工,在没有指定门店的情况下,对别的门店的会员做同一批操作的可能。
  • 已对正式机历史请求做过核对:今年9月以来,浏览器发出的、没带门店信息的会员资金写入请求是 0 笔,这次修复对正常使用的影响评估很小。

顾客 CRM

全员

持股 0% 的股东不会再收到「到账」的错误提醒短信

  • 「股权分红」页里,持股比例设为 0% 的股东每个月仍会生成一条分红记录(这是为了保证账目完整、不漏记任何股东,是有意保留的设计),但这条记录的金额是 0 元。以前这条 0 元记录跟正常的待发放记录长得一模一样,状态显示「待发放」,也能被点「标记已发放」——点了之后,系统会照常给这位股东发一条「你的分红已到账」的短信,但对方实际上一分钱都没收到。现在这种 0 元的记录会显示成「无需发放」,不会再出现「标记已发放」的按钮。
  • 同时修复了一个影响范围更广的问题:不只是股权分红,员工提成结算、以及另一套老的股东分红机制,只要遇到金额为 0 的结算,系统都有可能误发「到账」短信。这次直接在发短信这个功能本身加了一道检查,金额为 0(或者是负数、或者没有金额)就不会发送,无论是哪个功能调用它都会受到保护。

股东与分红

全员

股权分红页现在能看到每期分红是谁、什么时候确认的,并新增两处一键导出

  • 「历史分红记录」以前只显示每期的净利、可分配利润、留存金额,现在还会显示这一期分红是什么时候确认的、由哪位同事确认的。
  • 「股东提现」列表以前批准/拒绝/打款之后就看不出是什么时候处理的,现在会显示处理时间和经手人姓名。
  • 「历史分红记录」和「股东提现」这两张表原本都没有导出功能,现在都能一键导出 CSV,方便财务同事对账留存。
  • 分红明细里「待发放」状态的颜色以前跟「股东提现」里的「已拒绝」用的是同一种红色容易混淆,现在改成跟「已批准」一致的橙色,不代表异常,只是还没处理完。
  • 「历史分红记录」只保留最近 24 个月的说明,以前只写在代码注释里,现在会直接显示在页面和导出的文件里,不会让人误以为看到的就是全部历史。

股东与分红

股东

股东门户的授权账号现在可以取消了(网页与小程序)

  • 有权限管理股东的人,在股东档案里每个已授权的账号旁边多了「取消授权」;取消后这个账号登录时不再被当成这位股东,也就看不到他的分红。
  • 按下会先确认,写明是哪个账号;如果这是这位股东唯一的授权账号,会额外提醒「取消后没有人能登录股东端查看他的分红(分红照常计算)」。
  • 取消只是停用授权,不删除记录,之后随时可以重新授权;取消和被挡下的尝试都会记进操作日志。

股东与分红

全员尚未上线

会员等级/储值套餐/优惠券模板/订位条款——改动和被拒的操作现在都能在操作日志里查到

  • 发现于 T-2746 审计盘点(rico2):这四类设定改了以后,后台「操作日志」页只会看到一条泛用的「系统写入」,查不出具体是谁改了哪个等级/套餐/模板/订位,改了什么,也查不出有没有人试过改但被系统挡下来
  • 修法:这四类设定(会员等级折扣/储值套餐赠送比例/优惠券模板条款/订位的订金和最低消费)改动时,操作日志现在会记一条具体的记录,只记真的变动的栏位(不是整包新旧值都列出来);改的人试图存一个不合法的值、被系统挡下来的时候,也会留一条记录,记下当时想改成什么、被挡的原因
  • 「订位条款」这一支额外修了一个只有在特定情况才会发作的技术缺陷:原本的写法会让「被挡下的记录」在特定时序下悄悄消失(操作本身正确被挡,但事后查不到有人试过),已经用真实场景反复验证过修好

顾客 CRM优惠券活动

股东

建股东档案时初始出资被挡下,股东档案不会再留下半个,重试也不会建出重复的股东

  • 原本建档时填的初始出资如果被系统挡下,画面显示失败,但股东档案其实已经建好;使用者以为没建成再建一次,就出现重复的股东。
  • 现在建档和初始出资一起成功、一起取消;被挡下时什么都不会留下(连自动预建的账号也一起取消),但被拒的尝试仍会记进操作日志。

股东与分红

股东

授权谁能看股东门户,操作日志现在会记下来(成功和被拒都记)

  • 有权限的人把某个账号授权为股东门户的使用者时,原本操作日志没有任何具体记录。
  • 现在会记一笔:谁操作的、授权了哪个账号、对应哪位股东、是新建/恢复/改角色;被系统挡下的尝试也会记。

股东与分红

股东

改股比、停用股东、登记出资等操作被系统挡下时,操作日志也会记下是谁、对哪位股东、想改成什么

  • 原本这类操作被挡下(例如股比合计超过 100%)时,操作日志只有一笔笼统的「系统写入」,看不出是哪位股东、想改成多少、为什么被挡。
  • 现在会多记一笔「……被拒」:写明股东、尝试的值和被挡原因,跟成功的那笔出现在同一位股东的记录里。
  • 涵盖:改股比、停用/启用、出资流水、建档、绑定订单。

股东与分红

全员

只有股东身分、没有员工身分的人,登录网页后能直接进股东门户

  • 发现于 T-2664 股东动线走查(rico2):建档表单承诺「不用先设密码,就能直接进门户查看分红」,但纯股东(只有股东身分、没有任何门店的员工/收银员身分)登录网页后,实际上会被卡在「这个账号还没有门店」的提示页,进不了股东门户,承诺没有兑现
  • 修法:登录时如果查不到任何门店的员工身分,改成再问一次「这个账号在哪些店有什么身分」,查到股东身分就直接放行进股东门户;两边都查不到才维持「还没有门店」的提示页
  • 小程序原本就是对的,这次是把网页补齐到跟小程序一致

股东与分红

全员

股东档案页「持股比例」输入框排版修复——不再撑成巨型黑框

  • 发现于 T-2664 股东动线走查(rico2),编辑持股比例时输入框炸成约 200px 高的黑框方块,不是正常的输入框
  • 同一个 bug 也存在于桌台管理页(#/admin/tables)的「新建区域」表单,一并修好
  • 修法只调整这两个页面共用的容器排版规则,不影响其他页面同类输入框的正常显示

股东与分红桌台楼面

全员

股东档案页操作按钮排版修复——按钮不再挤压变形溢出卡片

  • 发现于 T-2664 股东动线走查(rico2)
  • 股东档案页(#/admin/shareholders)每张股东卡片的操作按钮(授权账号/增资减资/出资流水/设置股比/停用/结算定台提成)在按钮数较多时会被压缩成竖排单字、且容器溢出卡片右边界盖住旁边卡片的文字
  • 修法:.a-fin-actions 容器加 flex-wrap+gap,按钮数多时自动换行,不再挤压变形
  • 同一个 .a-fin-actions 容器共用于 17 个页面(股东、进销存、财务、库存、厨房、菜单、采购、员工、员工账号、桌效、桌台、联系客服、月度交接、单位换算、贵宾关系、区域费用等),这次统一修好

股东与分红

股东

股东档案被停用后,这个账号登录时不再被当成那家店的股东

  • 有权限管理股东的人把某位股东的档案设为「停用」后,这个人登录时原本仍会被当成那家店的股东:小程序把他带进股东门户,默认门店还可能正好是那家已停用的店。
  • 现在停用即生效:登录落点只认启用中的股东档案;名下全部停用、又没有员工身份的账号,会看到「这个账号还没有门店」。

股东与分红

小程序尚未上线

小程序能重新构建,提成账单默认口径与网页一致

  • 补回 4 个只存在于救援快照里、却被主线引用的文件(提成页、提成范围工具、咨客页与办公页的样式),主线上小程序重新能构建。
  • 提成账单默认只看员工,去掉「全部」选项,与网页一致;原来小程序不带类型,把员工、外部、股东加总,两端都叫「应发」却不是同一个数。
  • 每人卡片的分组键改为员工加角色类型,对齐后端汇总口径。
  • 新增页面注册与相对 import 的检查防线(miniapp-unresolved-imports.mjs)。

提成/推广

全员尚未上线

小程序提成每人卡片:业绩只算计入销售的部分,不再受 200 条上限影响

  • 小程序「提成 › 账单」每人卡片的业绩、酒水基数、应发、待发,改由后端按人算好直接显示,不再在手机上自己加总。
  • 以前手机只拿最近 200 条明细来加:明细超过 200 条的人会少算;已取消、不计入销售的单也被算进业绩。
  • 读不到时显示红字说明原因,不会显示成 0。展开的明细如果被截断,会写明「只含最近 N 行,共 M 行」。

提成/推广

店长

桌贴上印的「新客扫码点单 立减20」,是一张没有客人拿得到的测试券

  • 「桌台 QR」每张桌卡都印着「新客扫码点单 立减20」。查它从哪来:页面挑的是「任何一张生效的满减券」——在 rico 测试门店挑中的是「T487测试券-营销闭环验证」。
  • 🔴 后端只在客人扫码后**认领会员**时发券,而且只发勾了「入会自动发」的券。这家店 17 张券全部没勾 ⇒ 桌上写的「立减20」没有任何客人拿得到。
  • 另外那一页的码本来就是店内平板用的(客人手机扫不开,见 T-2674),印券更没有意义。
  • 现在:「桌台 QR」不再印券;「访客扫码」桌贴只在两件事都成立时才印——那张券是「入会自动发」,而且这是真的小程序码(认领会员的入口目前只有小程序有)。文案改成真实的触发条件「扫码入会 送…券」,不写「新客」。
  • 「扫码点单终端」账号卡也讲清楚是给店里平板用的,客人手机请用访客扫码桌贴。

桌台建置/平面图/QR客人扫码点单优惠券活动

后台

「财务」页拆开:收款退款、挂账各一页,交接包和预收义务回到会计页

  • 原来的「财务」页改名「收款退款」,只放今天的结账记录(可以直接退款)、赠送/作废、退款原因、这台设备的结账耗时,以及「线上收款流水」。
  • 今天营收、支付方式、现金对不对只看「日结」一处,这一页给一个「去日结 →」,不再显示另一份算法不同的数字。
  • 「挂账」独立成一页:客人赊的账、核销都在这里。
  • 「月度交接包」(三张报表、下载 Excel、月结)和「预收义务」搬进「会计」页,各一个分页。
  • 「提成明细」搬回「提成」页,第三个分页「明细」。
  • 手机底部第三个按钮从「财务」改成「日结」。
  • 会计角色首页「税(销项/进项)」以前点进去是没有税的财务页,现在直接到会计 › 增值税申报草稿;「交接包」「挂账未核销」也都直接到对应的页。

财务/日结/流水提成/推广

老板

出厂员工岗不能改提成规则、不能确认日结

  • 新邀请的「员工」只能点单、查会员、看提成、看商品,不能改规则、关账、改商品、批采购。
  • 没有设置权限的人,提成页不出现「保存酒水范围」。没有关账权限的人,日结不出现「确认日结」。
  • 顶栏「我的分红」进自己的只读门户,不能在那里确认分红。

员工账号与权限提成/推广财务/日结/流水

老板

优惠券漏斗不再把测号券算进今晚活动

  • 发放/核销漏斗剔掉测试券(E2E、夹具、T1491)。这一页全是测号时顶上写明请搜寻真人活动。
  • 模板列表和逐张券把测号沉底,搜名字仍能找到。未删除测号券。

优惠券活动

全员

只能看会员的人,档案里不能注销、合并、打标

  • 没有改会员权限时,点开档案看不到注销、合并、加标签、记录跟进。储值、积分仍能看。
  • 老板档案里这几颗都在。

顾客 CRM

全员

只能看会员的人,顾客页不再放批量打标

  • 没有改会员权限,顾客页不出现「批量打标」,档案里不出现改资料和私下备注。
  • 老板仍可新增会员和批量打标。收银该能发卡的人,发卡钮还在。

顾客 CRM

全员

顾客名册测号沉到底,第一屏不再全是测试顾客

  • 顾客名册把测号沉到后面,真人排在前面。搜测号名字仍能找到。
  • 这一页全是测号时顶上写明请搜寻真人。「今天该联系谁」的测号收成「测试会员 · N」,不跟真人排一起。

顾客 CRM

老板

礼品卡未核销负债跟可用余额是同一个数

  • 礼品卡页「未核销负债总额」跟「可用」都读负债合计接口,不再自己把列表加一遍。
  • 没有财务报表权限的人看不到这块数字,不会显示成 ¥0 装成没欠客人钱。勾掉隐藏测试卡,合计也不把测号卡加回去。

礼品卡财务/日结/流水

全员

结账前可以补订台人,提成记到那个人

  • 结账弹窗第一屏:标题下面就是订台人下拉(不挂人 / 名单),再才是会员、小计、应收、支付方式。
  • 没送单时写「先送出这桌的菜」。「更多」里同样有订台人。空着也能收款,这单不发订台提成。
  • 已经结完的旧单不会补算。点单栏「归给 / 带客标记」没动。

结账收款提成/推广

老板

日结提成没数时显示零,不再空白

  • 日结抽屉的提成应计:没有计提时显示 ¥0.00,并带本月待发。
  • 有计提时能看到酒水净销售、员工计提、待发。

财务/日结/流水提成/推广

提成

咨客开台不记自己为服务员,提成不会挂到咨客

  • 咨客带位开台:订台人先空着。
  • 收银加菜结账后,提成不会记到咨客头上。

咨客带位提成/推广

权限

没有储值权限,礼品卡页不放发卡

  • 能看礼品卡名单,不等于能发卡。
  • 没有储值权限:不放发卡、不放充值;没有财务码不放会计分录。

礼品卡

财务

卖礼品卡记预收,客人拿卡消费才进收入

  • 发卡、充值:记预收款项,不进当天营收。
  • 客人拿卡结账:从预收转到销售收入,卡余额跟着减。
  • 负债合计只算真卡,测号卡不进合计、也不入账。

礼品卡财务/日结/流水

老板

发卡表单自己知道是不是记名卡,却没把这件事用在旁边的有效期栏上

  • 礼品卡发卡表单里,输入购买人手机号之后它会即时告诉你「将绑到会员档案」还是「对不上本店会员,发成不记名卡」。而紧挨着的那个到期日输入框,原本任何日期都收,包括明天。
  • 按《单用途商业预付卡管理办法》:记名卡不得设有效期;不记名卡有效期不得少于三年,超期还有余额的要能激活或换卡。⇒ 这张表单一步就做得出两种违规,而判断所需的信息就在它自己身上。
  • 现在会出声:绑了会员还填日期,直接说记名卡不能设有效期;不记名卡填了不足三年的日期,直接给出最早能填的那一天。
  • ⚠️ 是警告不是拦截。那个办法的备案义务按发卡企业规模分级,不是每家店都适用,硬拦会挡掉合法情况。把信息放在做决定的那一格,比替他决定好。而且抛开法规还有一条不分规模都成立的:卡到期而余额还在,等于你收了钱又留下。
  • ⚠️ 母体是 0:正式机上 309 张礼品卡,设过有效期的一张都没有。所以这不是在修一个正在发生的问题,是在一个还没有人走过、但一步就走得到的路口放一块牌子。而 159 张是记名的——一旦有人开始填,比较可能踩的正是被禁止的那一种。

股东与分红

老板

刚好充到 5000 的礼品卡会被警告「超过上限 5000」——浮点数加出来的那个零头

  • 发卡和充值那两格会算「充完之后的余额」,拿去跟《单用途商业预付卡管理办法》第十八条的限额比:记名卡 5000、不记名卡 1000。
  • 我第一版写成 Number(余额) + Number(充值额)。而计算机做小数加法时,4999.9 + 0.1 的结果是 5000.000000000001 ⇒ 一张刚好踩线、完全合法的卡会跳出一句「超过上限 5000 元」。
  • ⚠️ 这个错的症状是安静的:画面上显示的金额是原值不是这个和,看起来完全正常。店员只会看到一句他无从查证的警告,然后学会忽略所有警告——这比直接报错更贵。
  • 改成以「分」为单位相加再还原,并且抽成一个共用函数放进规则模块,五个发卡入口共用一份。抽出来而不是各改各的,是为了让下一个新增发卡入口的人在 import 那一行就撞见它。
  • 同一轮还修掉:不记名卡三年有效期下限原本用设备时钟自己拼日期(库里规定这种日期只能有一份实现);以及五处警告文案上我自己加的「⚠」前缀——库里既有的同类提示一个符号都没有,样式本来就由样式表给。
  • ⚠️ 下一个人:别把它改成 Number((a + b).toFixed(2))。那看起来也对,但小数四舍五入之前得先做一次浮点加法,踩线那一格照样错,而且更难查——因为代码里已经有一个看起来像在处理精度的调用了。

礼品卡顾客 CRM

老板

注销会员和合并会员这两颗按钮,谁都看得到;而它们上面两行的充值要权限

  • 用演示店那个受限账号(十一个只读权限码、没有通配)打开会员明细,屏幕上真的看得到两颗红色按钮:注销会员、合并至其他会员。
  • 而同一块里上面两行的「充值」和「清退储值」是有权限闸的。⇒ 权限的形状跟后果的方向是反的:建设性动作要码,破坏性动作不要。
  • 钱是安全的——后端有挡,两支都要「会员注销」这个权限码。付的代价是有人走完整个确认流程(合并还要先选主号)才吃到一个原始权限错误,而按钮长得像他有权按。
  • 这不是漏加一个条件:前端的权限词汇里根本没有「会员注销」这一格,只有「会员充值」。所以补的是三处——类型声明、权限推导、按钮的闸。
  • ⚠️ 下一个人:别把它并到充值那个码上。充值和注销是两个不同的后端权限码,并起来会让能充值的人顺便能注销。
  • ⚠️ 权限还没载入时按钮隐藏。对破坏性动作来说这个方向是对的,不要「改善」成载入中先显示。

股东与分红

全员

跨店/跨權限的 403 文案分三句(門店/公司/平台),不再只說「沒權限」

  • 原本四處**只看 HTTP 狀態碼**就說「你沒權限」⇒ 現在依後端業務碼分三句:門店範圍/公司範圍/平台範圍。
  • `NOT_OWNER`/`RESOURCE_NOT_OWNED` **刻意排除**在這個家族外(語意不同,不能混)。

点单送厨顾客 CRM

提成

提成明细的时间栏和股东订台的「已订时段」改按门店营业时区显示

  • 提成明细的时间栏原来把 UTC 当门店时间显示,每个时刻早 8 小时;改为按门店配置的营业时区换算(店级、租户级、默认 Asia/Shanghai)。
  • 多店查询时每家店只查一次时区。
  • 股东可订台页的「已订时段」同样修正,例如真实 20:00 的订台原来显示成 12:00。

提成/推广股东与分红

股东分红

股权分红确认前提示「本月没有营业数据」,有权限的人可以在班次记录页代为交班

  • 股权分红页:当月营收、成本、提成、其他支出全为 0 时,在确认按钮上方提示「这个月没有任何营业数据」,并提醒先确认月份。
  • 后端股权分红整条动线的错误提示由繁体改为简体,对应的基线条目一并拿掉。
  • 网页「班次记录」页给有代为交班权限的人加「代为交班」:要填数到的现金和原因,会以代理交班留痕;后端这条路早就有。

股东与分红开班交班

会员储值

会员档案页和楼面点单发卡、充值时,也会提示预付卡的限额与有效期规则

  • 预付卡规则抽成共用模块,五个发卡、充值入口都用:礼品卡页(发卡、充值)、会员档案页(发卡、卡列表充值)、楼面点单发卡。
  • 提示依据《单用途商业预付卡管理办法》:记名/不记名单张卡余额上限,记名卡不得设有效期,不记名卡有效期不少于规定年限。
  • 充值时按「充值后的余额」判断;记名/不记名读送出时同一个值,和成功提示一致。

礼品卡点单送厨

股东

分红页要老板相减的那两个数是「全店合计」,而它上面那句规则是「按股东」的

  • 股东提现那一段先说「可提金额 = 这位股东的待发放分红 − 他已经提走的」,紧接着给出两个**全店合计**的数,再说「所以可以直接相减」。
  • **只有在「刚好一位股东」时,那个差额才等于那一位能提多少。** 两位以上时,某个人提得多会被另一个人还没提的额度盖过去,而画面上一个字都看不出来。
  • **为什么一直没人撞到:走查店刚好只有一位股东(持股 100%)。** 实测两个数逐笔对得上(待发放 ¥309,662.56 = 两期分红相加;提现占用 ¥1,500 = 两笔相加)——单股东时完全正确。
  • 而「股权分红」这个功能**存在的理由就是有合伙人**,多股东才是它的常态场景。
  • 改完:把范围说出来,**没有在前端自己算一份可提金额**——这一页自己写着「以服务端为准」,前端再算一份就是第二个真源,它会在「服务端规则改了、前端没跟上」那天静静给出一个看起来合理的数。
  • 这句话**不做条件显示**(不是「两位以上才出现」):判断「这家店有几位股东」要靠历史分红记录,而**历史上有过两位、现在剩一位**的店会被判成单股东——那正是最需要看到这句话的人。

股东与分红

老板

股东卡片上「备注写 20%、实际股比 100%」现在会当场说出来

  • 同一张股东卡上出现过「QA测试股东,占股20%」和「股比:100%」并排:前者是老板自己填的自由备注,后者才是分红真正读的字段。按 20% 算会得到 ¥11,139.33,实际是 ¥55,696.64——差 ¥44,557.31。
  • 现在备注里的百分比如果和实际股比不同,卡片上会多一句「备注里写着占股 X%,但实际股比是 Y%——分红按股比那一个算(备注不影响分红)」。
  • 没有禁止老板在备注写比例:那是他的自由文字,前端该做的是说出冲突,不是替他决定。

股东与分红

股东

提现那一列,最重的手续加在唯一没有财务后果的动作上

  • 走查量到:批准是一次点击、没有确认也不用写理由;标记已打款有确认步骤;而拒绝要三个动作加一条必填理由。钱往外走的方向最顺,钱留在店里的方向最难。
  • 同事当天在另一个模块独立点名了同一个形状(拒绝要三个动作加必填理由、批准和已转出各一下),所以这是形状不是巧合。
  • 现在批准也要确认一步,确认句沿用这个页面「标记已打款」已经做对的写法:印出金额、开户行和卡号尾四位——那正是对外付款内控要核的两样,金额和收款人。
  • 为什么确认句要带卡号尾四位:后端记的开户行、卡尾、持卡人都是申请当下的快照,所以「核准之后改卡把钱改道」这条经典路径后端已经挡住了。批准这一步印出快照,是让审批的人在按下去之前就看到他实际在核准的收款人,而不是到打款那一步才第一次看到。
  • ⚠️ 没有加双人复核。同一个权限码仍然一个人走得完批准到已打款。那是产品决定(单店酒吧多半只有老板一个人有这个码),要补的是金额门槛——大额才需要第二个人,那需要新的设置项,已上报。

股东与分红

股东

一对叫老板「直接相减」的数字,印成了两种长相

  • 股东提现那一区并排两个数:「累计 pending 分红合计 ¥0」和「累计提现占用合计¥0.00」。左边没有小数、右边两位,而且右边还少一个空格。
  • 而它们上面那句开场白逐字写着「两个数字均为累计口径…所以可以直接相减」。要人相减的一对数字印成两种长相,第一眼会被读成两种东西。
  • 根因不在格式化函数,在两侧的输入:左边是后端字符串原样印、右边是前端自己加总之后补的两位。
  • 修法是在字符串层把小数补到两位——只补不截。小数超过两位时原样输出:后端现在是两位小数所以不会发生,但真发生了就代表上游变了,那时候要看到真相而不是一个被四舍五入过的好看数字。
  • 顺带把负号移到货币符号外面(原本印成 ¥-1,234.50)。这一页的净利和本月补亏真的会是负的。同事当天在另一个模块独立踩到同一件事并选了同样的写法,两边对齐——两个函数对同一个值印出不同长相,正是这一轮一直在修的病。
  • ⚠️ 值得记一笔:我当天早上才在这同一行修过另一件事(它读不到时会印 ¥0.00 冒充真值),而这个并排的格式差当时就在画面上,我没看见。有趣的决定吃掉了例行检查。

股东与分红

股东

分红页承诺了一道不存在的检查,而它旁边就是一个不能撤销的按钮

  • 确认分红那一块原本对老板说:「股比合计有没有超过 100%、有没有股东档案,这两道检查只有真正确认时才做得到」。第一道是真的,第二道不存在。
  • 后端的逻辑是:这家店一个启用中的股东都没有的时候,确认不会被挡,而是把可分配利润全额留存、一笔都不发。那是后端刻意的设计并且写了注释,不是缺陷——缺陷是前端承诺了一道不存在的检查。
  • 为什么要紧:确认之后没有撤销(整个服务里没有取消或反确认的入口),而它写下的月末结转数字,正是下个月月初要接着读的那个值。老板读了那句话以为系统会拦他,按下去,这个月就定了。
  • 现在改成真的预警:一个启用中的股东都没有时,在确认按钮上方直接说清楚三件事——不会被挡、全额留存一笔不发、确认之后没有撤销,并给一个去建档的入口。原来那句话里的「有没有股东档案」改成「有没有股东股比没填」,那才是真的存在的那一道。
  • ⚠️ 预警本身只在真的读到股东名单时才出声。读不到就什么都不说——在一个不可逆的动作旁边猜,比不说更糟。如果闸写成「读不到就当成空数组」,会对一家有五个股东的店说「你没有股东档案」。

股东与分红

老板

会员页的金额栏七处格式不一致,右对齐的数字对不齐

  • 会员明细上「累计消费」和紧邻的「本年消费」用了两支不同的格式化函数。演示店上它们刚好是同一个值,于是画面并排印着 ¥4144.25 和 ¥4,144.25——看起来像两件事。
  • 会员列表那一栏是右对齐的金额列,而它混着 0 位和 2 位小数:¥4904 · ¥1722 · ¥3001.65 · ¥4144.25。右对齐金额列存在的全部意义就是数位对齐,而 ¥4904 排在 ¥3001.65 旁边会被读成约数。现在统一成 ¥4,904.00 · ¥1,722.00 · ¥3,001.65 · ¥4,144.25。
  • 这一页本地那支金额函数是裸的 toLocaleString,会吃掉尾零、还会四舍五入到三位印出不存在的精度。改成走站内统一的两位小数函数,一次修好它的 17 个调用点。
  • 「累计消费」和「储值余额」各有窄屏卡片和宽屏表格两份渲染,四处都改了。只改一边的症状是「换个屏幕宽度数字就变了」,而没有任何测试会说话。
  • 顺带修掉一句给用户看的文案里引用了内部文档:「暂无数据——…(见 TEAM.md 提案)」。老板不知道那是什么。改成直说这个功能还没做。

股东与分红

体验

会员周报整篇渲染成繁体:prompt 第 5 条要求简体,而它自己把「本周会员周报」写成了繁体

  • 走查顾客页时第一屏就看到:标题是简体(前端写死的),而正文整篇是繁体(模型生成的)——「本週會員面:活躍4人、新客4人,全靠消費帶動,儲值仍為零」。同一屏其他文字全是简体,而这个产品面向的是大陆市场。
  • 根因是那段提示词自己在示范繁体:第五条逐字写着「简体中文,像周会跟老板口头汇报」,而同一段提示词里有三处繁体——开场的「本週會員週報」、规则二里的「本週会员面态势」、以及每次请求都再示范一次的「请据此生成本週會員週報」。模型跟着具体的那个词走,不跟着那条抽象规则走:输出的第一句就是规则二那个词组。
  • 母体量过:用语法树扫全部名字带提示词的字串常数加上所有直接传给模型的字串常数,含繁体的只有这一支。也就是说不是「AI 都会输出繁体」,是只有这一支提示词自己写成繁体,其他输出都是简体。
  • 为什麼静态检查看不见它,有两层。第一层:检查扫的是原始码里的字串,而使用者读到的是模型生成的字,那不是任何一个字串常数。提示词是第三类——既不是内部说明也不是使用者面文案,而是会长出使用者面文案的内部字串;其中一句就在基线里,被当成一句可以接受的内部字串放行了。
  • 第二层是这轮新发现的:那支检查有一行「超过两百字的字串直接跳过」,而这段提示词被语法树折叠成一个约两百五十字的常数,所以连基线都没进去。这条边界没有写在它自己的已知边界那一段里。量了一下这个洞现在有多大:含繁体的非说明字串里超过两百字的只有三处,加上本次修掉的共四处。洞很小,但漏掉的那一支正好是会生成使用者面文字的那一支——数量不是重点,种类才是。
  • 三处全部改成简体;语法树复查该档提示词常数残留繁体零处。後端繁简棘轮裸跑:命中从五百零三降到五百零二、基线从三百七十降到三百六十九,而基线以外的新违规维持九十二不变,也就是没有把任何既有违规塞进基线消音。
  • 一个没做的验证要讲清楚:没有真的重新生成一次周报去看输出变简体了——那要对正式机发一次强制重算的模型请求,既是写入也烧 token。本条只证明了提示词乾净,没有证明模型的输出。
  • 还有一件要知道的:改了提示词不会改掉已经生成的那一份。周报按租户、门店、本周週一快取一整周,要嘛等下周、要嘛带强制参数重新生成才会看到简体版,没有回填旧快取。

顾客 CRM

合规

礼品卡:发卡与充值现在会按记名/不记名提示预付卡的单张限额与有效期红线(含条文出处)

  • 礼品卡管的是预收款——客人先付钱、以后来喝,余额是店家欠客人的负债;而餐饮正是《单用途商业预付卡管理办法》明文适用的行业。这一页原本对那个办法的两条硬规定零提示。
  • 第十八条:单张记名卡限额不超过五千元、单张不记名卡不超过一千元;而且管的是充值后的资金余额,不只是发卡当下的金额。第十九条:记名卡不得设有效期;不记名卡有效期不得少于三年;对超过有效期尚有余额的不记名卡应提供激活换卡等配套服务。
  • 走查看到的:发卡表单的金额框只有下限没有上限;到期日是一个可以选明天的日期选择器,而且对两种卡一视同仁。后端发卡服务也没有任何金额或有效期校验,到期日原样落库。也就是说一张明天到期的六千元不记名卡现在可以一路绿灯发出去。
  • 这一页本来就分得出记名与不记名——绑到会员档案的就是记名,页面文案早就在用这两个词。缺的不是信息,是没把这件事接到那两个输入框上。现在填的当下就会按卡的类型给出对应的红线、数字和条文出处。
  • 刻意只提示不拦截:那个办法的适用主体是企业法人,而不少小店是个体工商户,严格说不在适用范围;各地还有自己的实施办法。我们没有足够信息替店主判定他适不适用,硬拦会挡掉合法用法,而默默放行等於让他在不知道有这条线的情况下越线。所以把线画出来,按不按是他的决定。同理也没有给日期框加浏览器层的最小值——那会变成点了没反应而不是知道为什麼。
  • 留给下一个人的坑:第十八条管的是余额不是单次金额,所以充值那一格传的是当前余额加这次充值。只看单次的话,一张九百元的不记名卡连充两次五百会一路绿灯到一千九。
  • 验证:真浏览器九个案例、含三个负控。五百元无到期日无提示;一千五和六千元触发不记名上限;到期日填明年触发三年下限并算出最早可填的日期;到期日填四年後无提示;金额与日期同时越线时两条一起出;绑上会员号後三千元无提示、六千元触发记名的五千上限、而填了到期日时出的是「记名卡不得设有效期」且三年那条正确地没有出现。判断记名与否读的是页面本来就在用的那个绑定结果,所以两句话不会各说各话。
  • 一个没走到的分支要讲清楚:充值那一格没有真的走过,因为这家店一张卡都没有,而造一张是对正式机的写入。用的是同一支提示函式,金额那半由上面九个案例覆盖;真正没被执行过的是取「当前余额加这次充值」这个动作。
  • 型别检查与两支静态闸门皆零。尚未部署。

顾客 CRM

股东

股东门户的「累计消费」会把角分四舍五入掉,而这个文件自己禁止过

  • 股东在门户里看自己维护客户的累计消费,用的是全站共用的那支格式化函数——它把金额四舍五入到元,8432.5 会印成 ¥8,433。
  • 而这个文件的文件头就写着:分红/结算金额一律两位小数精确显示,不用那支共用函数,理由是股东端和老板端对不上小数就是「数字对不上号」的信任问题。
  • 那条规矩当初只套在分红和结算那几格,这一格漏了。现在改用本文件自己的两位小数函数。
  • 窄屏卡片和宽屏表格是同一份数据的两个渲染,两处都改了——只改一边的症状是「换个屏幕宽度数字就变了」,没有任何测试会说话。

股东与分红

老板

会员页:读不到的时候不再说「没有」,两个同名的「新客」讲清楚了,周报不再说「本周」

  • 会员列表读不到时以前印「还没有会员资料」;从分群点进来时印「该分群目前没有会员」——而旁边那张分群卡正写着 1。同一屏自相矛盾,而读的人会相信更具体的那句。现在会说「这次没读到会员资料——不是『没有会员』」。
  • 预登记、标签目录、会员洞察(生日/沉默/流失)三处同类,一并修好。其中会员洞察那条补偿横幅原本只守两支查询,而它上面的渲染开关吃三支——流失预警掛掉时横幅和区块同时静音,连重试按钮都不会去重读它。
  • 同一页上有两个「新客」,一个 4 一个 1,相隔六个区块,原本一个字都没说明。周报的「新客」看注册日期,分群的「新客尝鲜」看到店次数,而且会重叠——同一个人可能两边都算。三处补齐:指标小字、分群提示、口径说明新增一条。
  • 周报卡以前叫「本周会员周报」,而它的窗口是滚动 7 天不是自然周,且每周一生成一次之后整周读同一份——周五第一次打开的话,看到的是「周五往前 7 天」那份。改名「近 7 天会员周报」并写明这件事;「较上周」改成直接印后端给的日期区间。
  • 「积分发放」的主值以前是裸数字 15282,而同一张卡的环比是 +15,282,两种格式。已统一。
  • 六个繁体标签改回简体(活跃会员 / 储值(含赠金) / 积分发放 / 生日名单导出 ×2 / 导出 CSV)。

股东与分红

客人

客人页催你「记得使用」积分,而客人端没有一个地方能用它

  • 扫码点单的客人打开「我的积分/储值」,看到「N 积分将在 30 天内到期,记得使用」——而积分抵扣只存在于收银员的屏幕上,客人自己没有任何入口。现在这句话改成讲真话:结账时跟服务员说一声就能抵现,这里不能自己兑换。
  • 储值余额以前用的是会把角分吃掉的格式化方式,¥100.50 会显示成 ¥100.5。这是客人自己的钱,他会拿来跟小票对账。现在固定两位小数加千分位。
  • 网络不稳时这张卡片以前会整个空白——没有数字也没有任何说明,而客人对「没看到」的默认解释是「我没有」。现在会说「这次没读到你的积分和储值——不是『你没有』」并给重试。
  • 后台会员周报一直在说「积分只进不出,建议查兑换门槛」。兑换门槛不是原因,没有客人端的兑换画面才是——这条建议指向了一个调得动的旋钮,而真正缺的是一个不存在的页面。

股东与分红

股东

分红页读不到数据的时候,不再假装「你没有」——七处

  • 网络或后端出问题时,这一页以前会把「读不到」印成肯定句:「还没有上一期」「还没有确认过任何一期分红」「累计提现占用合计 ¥0.00」「本月成本确认(0 项)」。现在它们各自会说「读不到」。
  • 最要紧的一句是「本店目前没有周期性成本项目,无需确认即可视为成本已核完」——这句主动宣告一道保护可以跳过,而同一段的开场白写着「帐不实不分钱」。现在读不到时它不会出现。
  • 「累计 pending 分红合计」和「累计提现占用合计」是一对要老板拿去相减的数,以前只有左边那个会说「我不知道」。现在任一边读不到,旁边就会告诉你现在不能相减。
  • 判准统一成一句:只有手上真的握着数据,才可以说「没有」。

股东与分红成本与毛利

股东

分红损益表上两个「¥0」其实是「还没算」,现在它们会自己说出来

  • 「固定成本 ¥0」——真实意思是「这个月的成本还没核对完」。那家店明明登记着每月房租和人力,画面上却是一个零。现在显示「本月未核对」,并告诉你目前已核对的部分是多少。
  • 「累计亏损(月初)¥0」——真实意思是「还没有确认过更早的分红,没有可结转的余额」。现在显示「还没有上一期」,并写明这不等于「亏损是 0」。
  • 这两格的下游就是分钱:累计亏损 → 本月补亏 → 可分配利润。把「没量到」印成 0,等于凭空抹掉一笔成本或一笔亏损,多分出去的钱是真的。
  • 同一张表上另外三个零查过了:员工酒水提成、定台提成是真实聚合出来的零,保持原样;其他支出还在议。

股东与分红成本与毛利

股东

分红损益表的金额没有千分位,而同一个数字在老板首页有

  • 股权分红那张损益表里的五位数金额,以前是后端回什么就印什么,没有千分位——同一笔钱在老板首页是带逗号的,两个页面看起来像两个数。
  • 这是老板决定这个月分多少钱的那一页,少一个逗号就容易把一个数看错一个量级。
  • 逗号只加在整数部分,小数原样保留:角分是真的钱,不能被格式化吃掉。

股东与分红

股东

股東月卡用白話說明「分紅金額以分紅試算為準(扣成本與提成)」

  • 股東在月卡上看到的數字是**展示口徑**(不扣成本與提成),與實際決定分紅金額的算法**不同源**。
  • 卡片上現在明寫:「**本卡為快速一覽;分紅金額以分紅試算為準(扣成本與提成)。**」,並標示「展示口徑」。
  • 沒有新增任何連結或權限(股東端不需要多開權限就看得懂)。

股东与分红

股东分红

分红的人力成本 ¥0,可能是「没人记录上班」而不是「没人上班」

  • 分红的净利要减人力成本。没设时薪时系统会挡住分红并说「算不出来」——这条一直是对的。
  • 但时薪设了、整月一条打卡记录都没有时,人力成本会记成 ¥0,四道守卫全都放行,然后这个净利乘以持股比例发出去。
  • 现在后端会一并回报这个数字是怎么来的:这个月有几条打卡、时薪设了没有、人力占营收多少。
  • 占比明显不合理时页面会直接说出来,并指出唯一可行的下一步——打卡补不回历史,只能从现在起记。
  • 刻意不挡住确认分红:真的没有雇员的单人店,零人力成本是对的。

股东与分红

会员储值

会员储值消费可能把余额扣成负数,货已经出了而系统不报错

  • 扣款前的余额检查读的是一个汇总列,而真正扣的是明细列——读一个、写另一个,只要两者不一致就会放行超额消费。
  • 现在改成:先算出将要写进去的那两个数字,挡的就是它们本身,通不过就不写。
  • 刚好把余额扣到 0 仍然正常通过,不会被误挡。
  • 正式机上目前没有任何账户是负余额,这是赶在它发生之前挡住。
  • 已知有一个账户的两套记法对不上(多 270 元),这次只修代码不动那笔数据——修守卫和修数据是两件事。

顾客 CRM

文案

两处繁体字改回简体:股东提现卡说明里的一处称呼、会员页的「匯出」

  • 股东提现卡片说明里的一处繁体称呼改成简体。
  • 会员页的「匯出」改成「导出」(标题、按钮、CSV 按钮,共 5 处)。
  • 另有 18 条不是文案的命中(13 条搜索别名、5 条比对键)收进基准线,让繁体字闸门不再阻塞。

顾客 CRM股东与分红

提成

提成明细按营业日表里,股东带台、外部公关两栏没数据时显示 ¥0.00 而不是空白

  • 有按类别读取结果但某类没有值时,印 ¥0.00;读取结果整个不存在时三栏仍留空。
  • 没有改 yen() 的默认行为,它刻意规定「空不是 0」。

提成/推广

股东分红

分红确认后账目还在变,老板现在看得到差多少

  • 分红一旦确认就按当时的数字发钱,但营业额、成本、提成之后还会补录——以前系统完全不知道自己曾经冻结过,差多少没有任何地方看得到。
  • 现在分红预览会直接告诉你:这个月已经确认过了、当时冻结的每一项是多少、现在算出来是多少、差额多少,只列真的不一样的项目。
  • 还没过完的月份不能确认分红了。当月按下确认等于拿半个月的数字发整个月的钱,月底剩下的营业额全漏在外面。被挡下时会告诉你什么时候可以再来。
  • 已经确认过的分红再点一次,行为不变——还是原样返回那一笔,不会因为新的限制变成报错。

股东与分红

股东分红

股东订了桌但没来,散客坐上去的消费不再算进股东分红

  • 股东在门户自己订的桌台,开单结账时会自动绑成「自有台」并计入分红。
  • 原本只要那张桌上有一笔时间对得上的预约,就会绑——哪怕这笔预约状态还停在「已确认」、根本没人标过客人到场。
  • 结果:股东订了 18:00 的台没来也没标爽约,18:30 一组散客坐上同一张桌,整桌的钱被算进那位股东的分红。
  • 现在只认「有人真的标过客人到了」(已到场 / 已完成)两种状态,「已确认」不再触发自动绑定。
  • 代价写明:不习惯标到场的店,会从「自动绑」退回「老板手动补一笔绑定」。方向是刻意的——宁可不绑,不可绑错。

股东与分红提成/推广订位管理

股东

分红记录:读不到不再说「还没有确认过任何一期」

  • 确认本月分红那一页,列表读失败时原本会说「还没有确认过任何一期分红」;改成说「分红记录没读到,不能当成『没有』」。
  • 同一批挑了另外四条(成本记录/在途采购单/储值套餐/可用供应商)与 P1-88(补货建议),但批次脚在巢状 try 的档上改坏了语法——五档已全部还原,留待逐档手改(没有留下坏码)。
  • 去重扫描脚本入库(contract/p0-22-scan-app-empty.py),下次全树扫描可重跑。

股东与分红

老板

应付清单与分红费率:读不到不再说「没有」

  • 「要付的钱」原本在读取失败(d==null)时也说「近7天没有要付的钱」——出纳会因此不付款;改成读不到就说没读到。
  • 分红费率表自己那支载入器失败时,原本会同时显示错误与「还没有配置——下面新增一笔」,店长可能照它去新增而覆盖原设定;改成读不到就不说没有。
  • 同一批派工里另两条经查已有闸(提成人物卡只在账单载入后渲染;采购追踪的错误分支与空态互斥),不重复修改;补货那句查出是半诚实(同时给了错的原因),列 P1。

财务/日结/流水股东与分红

老板

会员生日名单:读不到不再说「这个月没有登记生日的会员」

  • 生日名单不是主载入喂的,是切月份时另一支载入器打的;原本三条路(没钥匙/失败/真的没人)都落成空清单,画面三种情况都写「这个月没有登记生日的会员」。
  • 改成那个载入器自己的三态:没钥匙不列入判断、载入中与失败都是没读到、成功才依笔数决定;读不到时黄字说「生日名单没读到,不能当成『没有』」。

顾客 CRM

老板

提成设定:整表储存前先确认来源清单真的读到了

  • 抽哪些:分类名单没读到就不给储存钮(原本会送出空 map,等于把整店的抽哪些归零、全店提成不发)。
  • 角色费率:店级费率没读到就不给储存钮(原本控制器停在平台预设,按下去会用预设覆盖店家自订)。
  • 股东带台:店级政策没读到就不给储存钮(原本会写成关闭+封顶清空)。
  • 三个面共用同一份判准;没读到时旁边写出原因,不是静静把钮藏起来。

提成/推广

老板

App 提成:繁簡分類名同一判序、明細行用詞改中文、角色標籤統一

  • 酒水範圍的預設清單補繁體:無酒精/輔料 判不抽,調酒/香檳 判抽;判序維持「先判不抽、再判抽」。
  • 提成明細行的「抽法/狀態」原本直接印後端代碼(percent/pending),改成 百分比/固定金額/不提成 與 待發/已結/冲回;未知值原樣透出、不編中文。
  • 同一個角色在同一支 App 內有兩個標籤(内部营销/内部营销员),統一成契約的「内部营销」。

提成/推广

老板

开台时可以显式指定提成归属(默认归开台的人,也可选归店)

  • 开台面板多了一颗归属选项:默认「归给开台的人」,也可一键切成「归店(无归属)」——不再允许「什么都没选就送出」。
  • 归属是提成、股东带台、分润的唯一依据;没有归属的单一毛钱提成都不会有。
  • 切换归属时会一起清掉上一个人选,不留半套状态。

点单送厨提成/推广

老板

还没配置提成口径的店,页面会明说而不是留白

  • 一家店如果从没配置过提成口径,账单页与财务提成明细以前会显示一排 0,容易被读成「这家店不发提成」;现在会明说「这家店还没配置提成口径,所以下面的数字都是 0」,并给一条去设置的链接。
  • 没有设置权限的账号看到的是同一句人话,不再留白。

提成/推广财务/日结/流水

客人

演示店现在讲得出「餐是业绩、酒才抽成」

  • 演示店以前整间都是酒,没有一道菜,所以「餐食会进业绩、只有酒算提成」这件事在演示店里根本演不出来。
  • 现在演示菜单里有主食类菜品,并且历史订单每一单都是「一份酒 + 一份餐」——打开账单点开任一单,能看到同一张单里酒进了提成基数、餐只进业绩(基数 0、应发 0、原因写「非酒水」)。
  • 守卫同时加严:混合单不足 8 张就直接报错,不再静默给出一份空账单。

提成/推广菜单商品建置

股东

「股东带台」区块内文不再写成「股东分红」

  • 提成规则页的「股东带台」区块,标题与开关以前写「股东分红/启用股东分红」,跟同一页其他文字用的词不一致;现在统一叫「股东带台」,只有真的在讲股东层时才提「股权分红」。

股东与分红提成/推广

老板

只读账号打开提成规则页不再一直转圈

  • 只有查看权限、没有设置权限的账号,以前打开提成规则页会看到三块永远「载入中…」;现在直接说明「没有设置权限,只能看说明」。
  • 没有再发出会被拒绝的请求,界面不留永远转不完的载入状态。

提成/推广员工账号与权限

老板

财务的「按营业日」报表补上股东带台与外部公关两栏

  • 以前这张表只有 员工计提,股东带台与外部公关的当日金额在这一层看不见,要另开账单页逐人翻。
  • 现在三个类别并列(员工/股东带台/外部公关),缺哪一类显示 —,不假装是 0。

财务/日结/流水股东与分红

老板

账单点开一个人能看到完整的 11 个字段

  • 以前点开一个员工只看到 单号/桌/菜/分类/酒水/原因/应发;现在补齐 营业日/折后/基数/抽法/状态/不抽原因。
  • 「抽法」直接显示后端的原始值,和 App 端同一套字,不再各自翻译。

提成/推广

老板

无酒精的饮品不再被当成酒水算提成(繁简两种写法都认)

  • 分类名写「無酒精」「調酒輔料」(繁体)时,以前会被当成酒水、跟着算销售提成;现在繁简两种写法都正确判成「不提成」。
  • 同一份判断清单在网页与后端两边对齐,避免出现「界面显示不抽、实际却抽了」。
  • 已生成的旧提成行不重算(只影响之后的新单)。

提成/推广财务/日结/流水

老板

还没配过提成口径的店,画面会说明现在按平台预设(只抽酒水、未含辅料)

  • 提成的三处(按人/财务/规则页)都会写清楚:这家店还没配过口径,目前按平台预设——只抽酒水(未含辅料),调酒辅料/原料/食材这类不算酒水。
  • 顺手改掉一句不实的话:以前写「所以下面的数字都是 0」,但同一个未配置的店实际 accrued=554.40(啤酒单照样计提成)。
  • 画面不再让店家猜「没配=全算」或「没配=不算」。

提成/推广

老板

咨客台的开台归属快照真的送出去了(一桌可挂多种身分、各自分成基点)

  • 开台时可以同时挂上咨客(我自己)/内部推广/外部公关/股东,各自一个分成基点;送出后画面显示的是后端回读的结果,不是本机的暂存。
  • 送的是「这张单完整的归属集合」(后端是取代语义):少勾一个人等于把那笔归属删掉,所以只要有列没填完,开台钮就按不动并说明原因。
  • 读不到员工名册(settings:users)或股东名册(commissions:view)时,那一列直接说缺哪把钥匙,而不是给一个空下拉。
  • 外部分关(external_promoter)只需要姓名——没有帐号主体也能先记上,等主体化再回填。

提成/推广订位管理

全员

礼品卡入口副标按权限分支,不再对缺码的人承诺过多

  • 入口副标原本固定写「发卡 · 充值 · 挂失」,但没有 members:view 的人进去做不到这三件(页面会降级成「查一张卡」,那个降级是对的,只是入口没说)
  • 改成按码分支:有 members:view → 「发卡 · 充值 · 挂失」;没有 → 「查一张卡 · 余额」
  • 只加两行、用型别本来就有的 subOf(按码拼副文案),没有动架构

礼品卡

全员

储值套餐读不到时不再安静消失(三态分开)

  • 点桌「储值」的「套餐一键充」原本三个来源长得一样:没 members:view、读失败、真的没有启用中的套餐
  • 现在读失败出红 Banner 说明「先别手打金额:手打容易少给或多送赠额」并给重试;没权限明说没权限;真的没有才安静
  • 顺带修一个自己造的缺陷:没权限那行第一版放在「套餐区」,而那一区要先绑定会员才渲染、绑定本身又要 members:view,所以永远看不到

礼品卡桌台楼面

全员

P0-22 C 批(小程序):失败不再变成「没有」——已送品项/看板/负债/固定成本/仓库清单

  • 代客点单:已送品项读失败时出红 Banner 明说「没读到,这不等于本单没有已送品项,先别重复点」+重试钮(原本整块安静消失,服务生会重复点菜)
  • 桌况看板:标记清洁/结账等动作成功但重抓失败时,明说「看板可能是你操作前的状态(资料时间 HH:MM:SS · 之后没有再读到),尤其别再收一次款」+手动重新读取(原本停在操作前且一个字都不说;指挥官裁定不做自动退避重试——自动重试成功会让人以为看到最新,改印新鲜度)
  • 礼品卡:发卡/充值后的未核销负债重抓失败会显示「没读到,下面的数字可能是操作前的」(同档冻结那条早已修,这两处是漏改)
  • 财务:固定成本/净利读不到时明说并给重试(原本「填 3 个数」与净利拆解整块安静消失,老板会以为不用录成本)
  • 移仓:商品/仓库清单读不到时列出缺哪一项,并且不再出现「只有一个仓库时无需移仓」这句假空态

桌台楼面结账收款老板经营看板礼品卡进销存

客人

积分折抵不再用前端预设汇率算钱(读不到就不放行)

  • 结账时的积分折抵以前如果没读到折抵汇率,会用一个前端自带的预设值(100 分抵 1 元)去算客人折抵多少——店家若设 120 就是折太多、设 80 就是客人吃亏。
  • 现在读不到汇率就明说「汇率没读到,这单先不要用积分折抵」,并给一颗重新读取;UI 与送出流程各有一道闸,不是只把入口藏起来。
  • 会员页那个「可折抵 ¥X」也不会再用预设汇率报价。
  • 积分规则卡的读取失败以前永远不会被判定成失败(错误被上一层吞掉),所以那段「载入失败就不显示保存钮」形同装饰;现在只有「从未配置」才算预设,真正读不到会显示失败并可重试,不会再用预设值把整张表覆盖存回。
  • 顺带扫描了同类写法:另有多处设定项在读取失败时会静默落回预设值,已列出清单待修。

结账收款顾客 CRM

全员

P0-13 閉環:真員工在網頁 POS 開台會落歸屬人,收款後提成行掛對人

  • 由员工账号在收银台开台时,画面会显示「归给 <开台人>」,送单后这张单的归属人就是他。
  • 结账后提成明细会出现这张单的行,并挂在该员工名下。
  • 由管理员账号开台的单没有归属人,也不会产生提成行(这是刻意设计,不是漏做)。

点单送厨提成/推广

老板

设定页可以把一项配置回复成「未配置」(走平台预设)

  • 提成规则页的三个区块(抽哪些/员工怎么抽/谁能拿)各多一颗「回复成未配置(走平台预设)」。
  • 按下去会先问一次,并写清楚后果:之后新分类会自动落平台预设,已生成的提成行不重算。
  • 以前一旦存过一次就再也回不到「未配置」——现在回得去,平台预设之后的修正才到得了这家店。

提成/推广员工账号与权限

老板

提成明細確實套用「每份上限」——明細與計提用同一份規則

  • 財務明細上的金額以前沒有套用個人每份上限,會顯示一個帳上不存在的數字。
  • 現在明細與計提吃同一份規則,並把「每份上限」與「被截掉多少」畫出來。

提成/推广

老板

贈送單在提成與日結上留下痕跡

  • 贈送/招待的單不再從提成明細整張消失,會有「贈送」的痕跡行(業績與基數皆為 0)。
  • 日結新增「贈送」一格:讓價與成本各一個數——客人看不到錢,老闆看得到成本。
  • 拆掉三處「金額為 0 就整張跳過」的早退。

财务/日结/流水提成/推广

老板

酒水範圍預設補上飲料族——不再出現假的「1 個分類還沒決定」

  • 飲料、軟飲、能量飲料、汽水、果汁、咖啡、茶、礦泉水等預設為「不抽成」。
  • 加了守衛:名字裡有「酒」字的不套用飲料規則(否則咖啡酒、茶酒會被誤判成非酒)。
  • 真正未知的分類仍然顯示「未決定」並警告,不亂猜。

提成/推广

老板

提成基數改用「折後行淨額」——打折的單不再按原價發提成

  • 訂單折扣(整單與單品)以前只寫在訂單金額上,從不回寫到明細行,導致提成基數是折扣前原價。
  • 新增一支純函數分攤器:單品折扣直接落行、整單折扣按行分攤,尾差固定落最大行(同一輸入跑 100 次結果完全相同)。
  • 明細新增「折後」「折前」「折扣」三個欄位,財務看得出每一行被折了多少。

提成/推广

股东

订台不再列出已经有人的桌

  • 占用中、结账中、待清洁的桌不再出现在可订清单里
  • 人数超过桌子容量会直接拦下来,不用等到店里才发现

股东与分红订位管理

老板

金额一律照后端算好的显示,前端不自己算一遍

  • 开店投入、分红确认、名册累计消费、会员档案储值——四处改成原样显示服务端的数
  • 前端自己算精度会跟后端差一分钱,而那一分钱对不上的时候没人知道该信谁

成本与毛利股东与分红顾客 CRM

全员

测试商品、测试账号不再混进你的真实数据

  • 员工名单、跟进搜人、常客雷达、代点菜单、挂账清单、提成资格、菜单提成角标——七个地方的测号统一沉到底
  • 同一把尺:不是每个页面各判一次,以后新页面自动跟着对

顾客 CRM提成/推广常客雷达点单送厨

股东

分红明细写得出算式了

  • 每一列补上算式基数,三端统一叫「可分配利润」——不用再自己猜这个数是从哪来的
  • 选店页多了「以股东身份进入」,不用先当成员工再绕回来

股东与分红

全员

券的事一次说清楚

  • 客人看得出哪张券快过期了
  • 券页第一屏先回答「花多少换多少」
  • 老板那边补上券效 ROI——值不值得的那个数字
  • 桌边收款也能核销优惠券了(三端里最后一端)
  • 多店老板的券页补上店签

优惠券活动我的优惠券结账收款

股东

股东门户全面改版

  • 订台就是首页:选区域、挑桌台,订完立即生效,不用等店家确认;能订多少天以后,每家店自己配置
  • 股比与出资要先过短信验证才看得到,不再一进门就晾在首页
  • 股东可以自己绑银行卡、申请提现,每一步留痕,老板在后台审批打款
  • 店铺通知与规章制度,门户里直接看
  • 一个手机号在几家店当股东?进来切一下就好

股东与分红订位管理

这是顾客营销的全部更新。 回按时间看全部。

这份日志从 2026 年 7 月记起,更早的没有逐条列。想看它现在都会什么,回全部功能,或者进演示店自己点一点。