--- title: 场景 - 配置 - 新增收费项目 tags: - prop-acc - 一次性收费 - 业务场景 - 配置准备 audience: - 业务人员 status: stable last_reviewed: 2026-05-25 code_version: 2026-05-22 --- # 场景:新增收费项目 物业要**开始售卖一种新东西**(比如夏季新增"亲子游泳课程券" / 增加"宠物登记牌"等)。需要先在系统里**配置一个新的收费项目**(`RatePlan`),业务人员才能在 Filament 后台和小程序里见到这个项目。 > [!info] 这是配置任务,不是日常操作 > 一般由**物业管理员 / 运营**做,**不是前台日常**。但所有业务人员都该理解流程,因为新项目上线后他们才能录单。 ## 典型情境 > [!example] 真实情境 > 鸿基物业 5 月份决定夏季新增"亲子游泳课程": > - 单次 ¥80(家长 + 1 个小孩) > - 月卡 ¥600(每周 2 次) > - 季卡 ¥1500 > > 运营经理周一上线前要把这 3 个项目配进系统。 ## 业务人员视角 ### 第 1 步:与运营 / 财务对齐 新增项目前确认: | 字段 | 谁决定 | |---|---| | 项目名称 | 运营(对外宣传)| | 单价 | 运营 + 财务(成本核算)| | **费用类型分类**(FeeType)| 财务(影响会计科目映射)| | 单位 | 运营("张 / 次 / 月 / 季")| | 计费方式 | 运营(固定金额 / 按数量 / 按用量)| | 是否打折 | 运营 | ### 第 2 步:管理员后台新建 RatePlan ``` Filament 后台 → 收费配置 → 收费项目 → 新建 ``` | 字段 | 填什么 | |---|---| | 社区 | 选要上线的社区(可多选 → 多个社区批量创建)| | 名称 | "亲子游泳课程 - 单次" | | 费用类型 | 选"康体活动"(或新建分类) | | 计费方式 | 固定金额 | | 单价 | 80 | | 单位 | 次 | | 是否启用 | ✅ | | 备注 | 上线日期 / 课程时间 / 注意事项 | ### 第 3 步:重复创建月卡 / 季卡 类似第 2 步,**3 个项目分别创建**: - 亲子游泳课程 - 单次 ¥80 - 亲子游泳课程 - 月卡 ¥600 - 亲子游泳课程 - 季卡 ¥1500 ### 第 4 步:小程序展示(B 流) > [!info] 自动同步 > RatePlan 创建后,小程序**自动从同一张表读项目列表**,无需额外配置。**保存即上线**。 ### 第 5 步:培训业务人员 ``` 1. 通知前台员工:"6 月 1 日上线,这是 3 个新项目" 2. 培训: ├── 怎么在 Filament 后台录入(其实和 IC 卡完全一样) ├── 价格 / 适用对象 / 课程时间 └── 业户常见问题怎么答 3. 周日打印一份"项目说明"贴前台,方便临时翻 ``` ### 第 6 步:监控前几天 ``` - 第 1-3 天:留心系统是否报错 - 第 1 周:观察实际售卖情况 - 与运营对齐:是否调价、是否加新项目 ``` ## 系统流程 ```mermaid sequenceDiagram participant 运营 participant 财务 participant 管理员 participant 后台 participant 前台员工 participant 小程序 participant 业户 Note over 运营,财务: 上线前准备 运营->>财务: 新项目方案 + 单价 财务-->>运营: 确认费用类型映射 + 入账规则 管理员->>后台: 创建 RatePlan x 3 后台-->>管理员: ✅ 项目已启用 Note over 后台,小程序: 自动同步 管理员->>前台员工: 培训新项目 Note over 业户: 上线日 业户->>小程序: 看到新项目可选 业户->>前台员工: 也可来前台买 前台员工->>后台: 录单(同 IC 卡流程) ``` ## 几个重要概念 ### RatePlan vs AdHocEvent > [!info] 关系 > - **RatePlan**(收费项目):**项目定义**。"亲子游泳课程 - 单次" 是 1 个 RatePlan。 > - **AdHocEvent**(一次性收费事件):**单笔交易**。某业户买了 1 张课程券 = 1 个 AdHocEvent,关联到对应的 RatePlan。 > > 1 个 RatePlan 对应 **N 个 AdHocEvent**(售卖多少笔)。 ### FeeType(费用类型) > [!info] 会计科目分类 > RatePlan 的 `fee_type_id` 决定**会计科目映射** —— 收的钱进哪个会计科目。 > > 常见 FeeType: > - 物业费(主营业务收入) > - 水电气费(代收代缴) > - **康体活动**(其他业务收入)← 亲子游泳课程在这 > - 装修管理费(其他业务收入) > - **门禁配套** ← IC 卡在这 > > FeeType 的设置影响财务月度报表 + 凭证生成(凭证模块,待补)。 ## 常见问题 > [!question] 新增项目能上线前测试一下吗? > 可以。建议: > - 测试社区(如有)创建 RatePlan > - 测试账号(运营 / 财务 + 1 个业户测试号) > - 业户测试号在小程序下单 + 付款 + 收据 > - 测试通过再正式社区上线 > [!question] 一次性配置多个社区怎么操作? > Filament 后台新建 RatePlan 时,**社区字段是多选**。一次保存可在多个社区同步创建。 > [!question] 已上线的项目想改价格? > Filament 后台**直接编辑 RatePlan 的单价**。**改价不影响历史订单**(历史订单已冻结当时金额)。新订单按新价。 > [!question] 已上线的项目想停止销售但不删除? > 把 RatePlan 的 `is_active` 改为 `false`(禁用)。详见 [[场景-配置-下架收费项目并处理Pending单]]。 > [!question] 业务上要求"老人优惠 70% 折扣"怎么配? > 当前 RatePlan **没有"用户身份折扣"功能**。变通方案: > - 创建两个 RatePlan:"亲子游泳课程 - 单次"(¥80) + "亲子游泳课程 - 老人优惠"(¥56) > - 前台员工根据业户年龄选对的项目 > > 长期方案:实现优惠规则引擎(挂 TODO,等需求量大再做)。 > [!question] 业务上要求"前 100 人 8 折"怎么配? > 当前**完全不支持**(需要限购 + 计数功能)。挂 TODO。变通方案:运营手动统计,人工调整。 ## 上线检查清单 ``` □ RatePlan 已创建(单次 / 月卡 / 季卡) □ 价格与运营确认一致 □ FeeType 与财务确认正确 □ 测试社区跑通(可选) □ 前台员工已培训 □ 前台贴出"项目说明" □ 小程序已能看到项目 □ 应急:发现问题怎么联系管理员 ``` ## 相关概念 - [[概念-CollectionOrder与Receipt]] — RatePlan 影响订单生成 - [[场景-A流-前台购买IC卡]] — 业务人员录单的标准流程 - [[场景-B流-小程序下单+微信支付]] — 小程序自动展示 - [[场景-配置-下架收费项目并处理Pending单]] — 停售流程 ## 异常分支 - 上线后发现价格错 → 立刻禁用 + 修改 + 启用 - 业户已下单的旧价不变(系统冻结) → 没问题,新订单走新价