248 lines
8.1 KiB
Markdown
248 lines
8.1 KiB
Markdown
---
|
|
title: prop-acc · prepaid · 场景 - 低余额业户预警 + 逾期账单排查
|
|
aliases:
|
|
- 低余额预警
|
|
- 预存款余额告警
|
|
- audit-low-balance-and-overdue
|
|
- 场景-预存款低余额预警
|
|
tags:
|
|
- 场景
|
|
- prop-acc
|
|
- 预存款
|
|
- 审计
|
|
audience:
|
|
- 业务人员
|
|
- 财务
|
|
- 产品
|
|
status: 已发布
|
|
sub_feature: prepaid
|
|
last_review: 2026-05-25
|
|
code_version: 2026-05-22
|
|
---
|
|
|
|
# 场景:低余额业户预警 + 逾期账单排查
|
|
|
|
物业业务人员**每周** / 每月扫描:
|
|
|
|
1. **低余额预存款业户**(下月预计账单 > 当前余额) → 主动提醒充值
|
|
2. **预存款余额不够付未付账单的业户** → 跨核对
|
|
|
|
`LowBalancePrepaidListWidget` 是后台 Dashboard 上专门的 Widget,展示低余额账户清单。
|
|
|
|
## 典型情境
|
|
|
|
> [!example] 真实情境
|
|
> 物业财务王主管每周一上午看 `DepositPrepaidDashboard`:
|
|
>
|
|
> - 低余额业户清单 widget 显示 **45 户**业户的预存款余额 < 下月预计账单
|
|
> - 其中 **12 户**已有当月未付账单
|
|
> - 主管按清单逐户联系:
|
|
> - 12 户已欠 → 督促立即充值
|
|
> - 33 户预警(还没欠)→ 友好提醒"下月账单 ¥X,余额 ¥Y 不够,建议充值"
|
|
|
|
## 业务人员视角
|
|
|
|
### Dashboard 查看
|
|
|
|
后台 → 仪表盘 → `DepositPrepaidDashboard` 页面 → 看 `LowBalancePrepaidListWidget`。
|
|
|
|
Widget 显示:
|
|
|
|
| 业户 | 当前余额 | 下月预计账单 | 差额 | 当前未付账单 |
|
|
|---|---|---|---|---|
|
|
| 张阿姨(12-3-501)| ¥200 | ¥800 | -¥600 | 0 |
|
|
| 陈先生(12-3-502)| ¥1,500 | ¥2,200 | -¥700 | 1(水电费 ¥220 已逾期 3 天)|
|
|
| 刘先生(12-3-503)| ¥0 | ¥800 | -¥800 | 1(物业费 ¥800 未付)|
|
|
| (省略)| | | | |
|
|
|
|
### 处置策略(分级)
|
|
|
|
| 紧急度 | 业户特征 | 处置 |
|
|
|---|---|---|
|
|
| **🔴 紧急** | 已有逾期账单 + 余额不够 | 立即联系 + 督促充值 + 必要时手动催收 |
|
|
| **🟡 警告** | 当前余额低于下月预计账单 | 提前 3-7 天友好提醒 |
|
|
| **🟢 关注** | 余额低于 2 个月账单合计 | 月度提醒一次,无需紧急动作 |
|
|
|
|
### 第 1 步:扫描清单
|
|
|
|
打开 `DepositPrepaidDashboard` → 看清单 widget。也可手动 SQL 查:
|
|
|
|
```sql
|
|
-- 低余额预存款业户(余额 < 下月预计账单)
|
|
SELECT
|
|
p.id AS account_id,
|
|
p.community_user_profile_id,
|
|
cup.name AS resident_name,
|
|
p.balance AS current_balance,
|
|
estimated_next_bill, -- 子查询算下月预计
|
|
(estimated_next_bill - p.balance) AS shortage,
|
|
COUNT(b.id) AS overdue_bills_count
|
|
FROM acc_prepaid_accounts p
|
|
JOIN community_user_profiles cup ON p.community_user_profile_id = cup.id
|
|
LEFT JOIN acc_bills b ON b.resident_id = cup.id
|
|
AND b.community_id = p.community_id
|
|
AND b.status = 'unpaid'
|
|
AND b.due_at < NOW()
|
|
WHERE p.status = 'active'
|
|
GROUP BY p.id, ...
|
|
HAVING current_balance < estimated_next_bill
|
|
ORDER BY shortage DESC;
|
|
```
|
|
|
|
### 第 2 步:分级处置
|
|
|
|
**🔴 紧急(已欠款)**:
|
|
|
|
- 短信 / 微信 / 电话联系业户
|
|
- 告知"您欠 X 月物业费 ¥800,请立即处理(充值预存款 / 现金 / 微信付)"
|
|
- 业户回应 → 处理(走 [[deposit-additional-topup]] 或其他渠道收款)
|
|
- 业户不回应 → 走逾期催收流程(本文不展开)
|
|
|
|
**🟡 警告(还没欠)**:
|
|
|
|
- 微信 / App 推送"友好提醒"
|
|
- "您的预存款余额 ¥X,下月账单约 ¥Y,建议提前充值"
|
|
- 不强制
|
|
|
|
**🟢 关注**:
|
|
|
|
- 月度汇总报告(给业户的"预存款健康度月报")
|
|
- 不打扰
|
|
|
|
### 第 3 步:出周报
|
|
|
|
```markdown
|
|
# 2026 年 5 月 第 4 周 预存款健康度周报
|
|
|
|
## 低余额业户清单(共 45 户)
|
|
- 🔴 紧急(已欠款):12 户,合计欠款 ¥9,860
|
|
- 🟡 警告:24 户
|
|
- 🟢 关注:9 户
|
|
|
|
## 已处置
|
|
- 紧急 12 户:已联系
|
|
- 5 户已充值 / 付清
|
|
- 4 户承诺本周内处理
|
|
- 3 户失联(进入催收)
|
|
- 警告 24 户:已推送提醒
|
|
|
|
## 趋势
|
|
- 比上周(38 户低余额)增加 7 户 → 趋势变差
|
|
- 可能原因:5 月账单出账,部分业户余额不够付
|
|
|
|
## 建议
|
|
- 加强自动抵扣 job 落地的紧迫性(目前业户充值后还得业务人员手动抵)
|
|
- 主动给余额接近 0 的业户 push 充值提醒(改 widget 配置)
|
|
```
|
|
|
|
## 业户视角
|
|
|
|
### 您可能收到的通知
|
|
|
|
#### 🟡 警告(友好提醒)
|
|
|
|
> 张阿姨您好,您的预存款余额 ¥200,下月物业费约 ¥800,**预计余额不够付**。建议提前充值,避免账单逾期产生提醒费用。
|
|
|
|
业户可选择:
|
|
|
|
- 立即充值
|
|
- 现金 / 微信付下月账单
|
|
- 不管(后果自负)
|
|
|
|
#### 🔴 紧急(欠款提醒)
|
|
|
|
> 张阿姨您好,您 5 月物业费 ¥800 **已逾期 3 天**未付。请尽快通过以下方式付清:
|
|
> 1. 微信小程序"我的预存款"充值后系统自动抵
|
|
> 2. 到前台现金 / POS 付
|
|
> 3. 微信扫码付
|
|
|
|
## 系统流程
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
A[每周/月触发扫描] --> B[SQL 查低余额账户 + 未付账单]
|
|
B --> C{分级}
|
|
C -->|🔴 紧急已欠| D[强提醒 + 业务人员介入催收]
|
|
C -->|🟡 警告未欠| E[友好推送提醒]
|
|
C -->|🟢 关注| F[月度汇总报告]
|
|
|
|
D --> G{业户响应?}
|
|
G -->|充值| H[走 deposit-additional-topup]
|
|
G -->|其他渠道付| I[正常收款流程]
|
|
G -->|无响应| J[逾期催收流程<br/>本文外]
|
|
|
|
E --> K{业户行动?}
|
|
K -->|充值| H
|
|
K -->|不充| L[转入🔴紧急]
|
|
|
|
H --> M[业务人员手动 ConsumeAction 抵账单]
|
|
Note over M: 月初自动 job 落地后此步自动
|
|
```
|
|
|
|
## 关联工具
|
|
|
|
- **`DepositPrepaidDashboard`**:后台 Dashboard 页面,统一展示押金 + 预存款的健康指标
|
|
- **`LowBalancePrepaidListWidget`**:本场景核心 Widget,实时列出低余额账户
|
|
- **`MonthlyPrepaidFlowChart`**:展示预存款流入 / 流出趋势(充值 vs 消费 vs 退款),业务总监层面看
|
|
- **`DepositPrepaidStatsOverviewWidget`**:总览数字(总账户数、总余额、本月流水量)
|
|
|
|
## 常见问题
|
|
|
|
> [!question] "下月预计账单" 怎么算?
|
|
> 不在系统内的硬规则,看 Widget 实现:
|
|
>
|
|
> - 取业户近 3 个月平均月账单
|
|
> - 或取上月账单
|
|
> - 或固定基数(物业费固定 ¥800)
|
|
>
|
|
> 实际取哪种,看 `LowBalancePrepaidListWidget` 内置逻辑。可调整。
|
|
|
|
> [!question] 业户被提醒"低余额"但其实人家就喜欢月月手动付,不想预存,怎么办?
|
|
> 这种业户应**关账户**(走 [[close-resident-moveout|主动关账]]),避免后续骚扰。或者 Widget 上加"忽略"按钮,业户的"预存款关账"决策可以让业务人员跟进。
|
|
|
|
> [!question] 低余额预警有没有自动化(短信)?
|
|
> 看产品决策。**强烈推荐**:
|
|
>
|
|
> - 🟢 关注:不推送(避免骚扰)
|
|
> - 🟡 警告:每月 1 次推送(可控)
|
|
> - 🔴 紧急:立即推送(必要)
|
|
>
|
|
> 实施需要短信 / 微信模板消息接入。
|
|
|
|
> [!question] 月初批量自动抵扣 job 落地后,本场景作用还大吗?
|
|
> **仍重要**。job 跑完后,跳过的余额不足业户**仍需要业务人员介入**:
|
|
>
|
|
> - 通知充值
|
|
> - 跟踪是否充值
|
|
> - 充值后 / 业户其他渠道付后,手动 ConsumeAction 补抵
|
|
>
|
|
> 详见 [[consume-batch-auto-monthly]] "业务人员视角 - 异常介入" 段。
|
|
|
|
> [!question] 多社区的业户低余额清单怎么展示?
|
|
> Widget 按当前 panel 的 community 过滤(若是社区级 Filament Panel)。或者展示"按社区分组"。如果业务人员管多个社区,可在 Dashboard 选社区切换。
|
|
|
|
## 与 deposit 长期未关账户排查的对比
|
|
|
|
| 维度 | deposit audit-long-pending-accounts | prepaid 本场景 |
|
|
|---|---|---|
|
|
| 关注什么 | 长期 Active 未关账户(>2 年)| 低余额账户(下月可能欠)|
|
|
| 业务侧重 | 清理代管资金边界 | 预防业户欠费 |
|
|
| 频率 | 季度 / 半年 | 每周 / 每月 |
|
|
| 处置 | 关账 / retain / 联系业户 | 通知充值 / 催收 |
|
|
|
|
两者**都是审计扫描场景**,但关注点和频率不同。
|
|
|
|
## 异常分支
|
|
|
|
- 业户充值后忘了抵 → 业务人员手动 ConsumeAction
|
|
- 业户长期不响应低余额预警 → 进入逾期催收流程(本文外)
|
|
- 业户决定不再用预存款 → [[close-with-zero-balance-decision]] / [[close-resident-moveout]]
|
|
|
|
## 相关文档
|
|
|
|
- [[consume-batch-auto-monthly]]
|
|
- [[auto-deduction-design]]
|
|
- [[deposit-additional-topup]]
|
|
- [[close-resident-moveout]]
|
|
- [[../deposit/audit-long-pending-accounts]](deposit 对应审计场景对比)
|