下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/xuyeedu--postpaid-billing.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @xuyeedu/postpaid-billing。回款管家——面向国内中小教培机构的后付费账单与智能催收器(应收账款管理)。在机构采用「先学后付/月结/按课时后结」模式时,自动出账、逾期梯度催收(企业客户 agent-mail 邮件自动发送 + 个人家长微信催收文案草稿)、回款核销、应收账龄/DSO 看板与坏账预警。触发场景:出账、开账单、月结账、课时费结算、催款、催收、欠费、逾期、缴费提醒、对账、核销、应收、账龄、DSO、坏账、回款、停课欠费、先学后付、后付费。
安全红线:微信文案永不自动发送、L3/L4 强制人工确认、频次/时段合规硬编码。零外部依赖:纯 Python 标准库,mock 演示数据可直接端到端体验。
阅读全文 (展开查看完整说明)
概述
回款管家(ar-collector)— 后付费账单与智能催收器
功能概述
面向国内中小教培机构(月营收 10–50 万、5–30 人团队)的「出账 → 催收 → 核销 → 看板」一体化应收账款管家。解决机构采用先学后付/月结/按课时后结模式后的三大断层:出账全靠手工 Excel、催收靠人脑记忆错失黄金时机、欠费与排课不联动导致账款持续恶化。
全部操作通过对话完成:说一句话出账、跑巡检、看账龄;催收邮件经 agent-mail 自动发送,个人家长微信场景输出催收文案草稿由顾问粘贴发送;全程合规留痕,数据存本地 JSON(机构自持,无云端)。
使用前提
- 运行环境:Python 3.8+(本机无需安装任何第三方包,纯标准库)
- 连接器(可选):企业客户邮件自动催收需连接
agent-mail(Agent Mail 智能体邮箱);仅用微信文案草稿模式则无需任何连接器 - 前置数据(可选):客户名单(CSV 或对话录入)、课时消耗台账(CSV 或对话录入);也可用
demo加载演示数据直接体验 - 系统:Windows / macOS / Linux 均可;数据保存在技能目录
data/下
快速开始
首次使用 4 步走通全流程(约 5 分钟):
- 加载演示数据:对话说“加载演示数据”,或运行
python scripts/ar.py demo --yes - 看全景:说“看一下谁欠我们钱” →
aging展示应收账龄与 DSO - 跑一次巡检:说“今天该催谁” →
patrol生成待催收清单(含合规拦截说明) - 预览与放行:说“看看要发的催收内容” →
queue预览全文 → 说“发送催收队列” →dispatch --all(邮件自动发、微信出复制清单)
正式使用:把演示数据替换为真实客户/课时台账即可,同一套命令。
使用手册
核心功能与操作示例
功能 1:客户建档与计费方案
- 触发方式:用户说“添加客户”“配置月结方案”“设置课时单价”等
- 操作示例:
用户:添加客户晨光幼儿园,企业类型,邮箱 finance@chenguang.edu.cn,李顾问负责
技能:✔ 已建档:晨光幼儿园(enterprise)|邮箱 finance@chenguang.edu.cn |负责人 李顾问
用户:给它配按月计费,单价 350,折扣 5%,税率 6%,账期 8 天
技能:✔ 计费方案已生效:月结 | 单价 ¥350 | 折扣 5% | 税 6% | 到期日=出账日+8 天
- 注意事项:一个客户同时只有一个生效方案;改方案不影响已签发账单
功能 2:周期出账与签发
- 触发方式:用户说“给 8 月出账”“出月结账单”“签发账单”
- 操作示例:
用户:给月结客户出 8 月账
技能:已生成 3 张账单草稿(幂等,零消耗客户不开空单);异常 1 家:李女士无生效方案,未出账
用户:审核通过,签发
技能:✔ 已签发 3 张:BILL-202608-0001 张先生 ¥2,400.00 到期 2026-09-02 | …(生成账单号与到期日)
- 注意事项:签发前是草稿可修改,签发后只可红冲或调整,不可删除
功能 3:回款核销
- 触发方式:用户说“核销张先生 3000 块微信转账,流水号 WX20260818001”
- 操作示例:
用户:核销晨光幼儿园 8000 元对公转账,流水号 BANK-0818
技能:✔ 已登记回款 ¥8,000.00 并自动分配:BILL-202608-0002 结清 | BILL-202607-0005 部分核销(余 ¥1,200.00)
用户:(再次用同一流水号核销)
技能:✘ 拒绝:流水号 BANK-0818 已核销过(防重复入账)
- 注意事项:一笔款可拆多张账单(最早到期优先);超额部分自动转预收;重复流水号直接拒绝
功能 4:每日催收巡检(逾期梯度)
- 触发方式:用户说“跑一下催收”“今天该催谁”“执行催收巡检”
- 操作示例:
用户:跑一下催收
技能:巡检完成,四类清单:
① L0 到期提醒(3 天内到期):1 封 → BILL-202608-0001 张先生
② 逾期梯度:L1 温和提醒 1 封(晨光幼儿园,逾期 2 天);L2 正式函 1 封(陈先生,逾期 9 天)
③ 承诺违约(跳过 L2 直升 L3):1 条 → 李女士 承诺 9/10 未履约
④ 争议挂起:1 条 → 李女士 BILL-202606-0003(出勤异议,不催收)
合规拦截:0 条 | 下一步:queue 查看内容
- 注意事项:同一债务人邮件 ≤1 封/日、≤3 封/周;微信文案 24h 内对同一家长只生成一次
功能 5:特殊处置(承诺 / 争议 / 红冲 / 坏账)
- 触发方式:用户说“张先生说 15 号一定付”“这单有争议先别催”“全额退费”“这笔收不回来了核销吧”
- 操作示例:
用户:陈先生说 20 号一定付,先别催
技能:✔ 承诺还款已登记(BILL-202608-0004 至 2026-09-20):梯度暂停;若到期未付,下次巡检自动跳级至下一级
用户:李女士那单有争议,先挂起
技能:✔ 已挂起 BILL-202606-0003(出勤异议),最长 30 天;期间不进入任何催收清单
- 注意事项:坏账核销不可逆,需填写原因并二次确认(
write-off --yes);红冲原因必填
功能 6:看板与预警
- 触发方式:用户说“看一下谁欠我们钱”“账龄”“有什么预警”
- 操作示例:
用户:看一下谁欠我们钱
技能:应收概况(截至 2026-08-18)
账龄 客户数 金额 占比 0–30 6 ¥86,400 61% 31–60 2 ¥34,200 24% 61–90 1 ¥12,800 9% 90+ 1 ¥8,600 6% DSO 38 天 | 逾期率 39% | 本月回款率 82%
⚠️ 预警 2 条:陈先生 68 天(C 级)建议重点跟进;BILL-202604-0009 已 95 天,建议核销评审
- 注意事项:账龄分桶按到期日计算;各桶合计恒等于应收余额(可
selfcheck复核)
功能 7:策略配置与每日自动化
- 触发方式:用户说“催收节奏调一下”“切换全自动催收”“安装每日巡检”
- 操作示例:
用户:把 L2 正式函改到逾期 5 天,每周最多 2 封
技能:✔ 已更新:L2 偏移 7→5 天;周频次上限 3→2(频次只能调紧)
用户:安装每日巡检
技能:✔ 已创建每日 09:00 自动化「催收巡检」(提示词见 references/automation_prompt.md,自包含不依赖会话记忆)
- 注意事项:频次上限为合规红线只可调紧;L3/L4 与微信文案在任何模式下都强制人工
数据说明
- 数据全部存储于技能目录
data/ar_data.json(原子写,机构自持),备份data/backup/,巡检报告data/reports/,导出data/exports/ - 核心实体:
customers客户(类型:individual/enterprise,含邮箱/微信名/负责人)、plans计费方案(月结/按期/按课时,单价/折扣/税率/账期)、consumption课时消耗、bills账单(草稿→已签发→部分回款→已结清/红冲/坏账核销状态机)、payments回款(ref_no 唯一防重)、dunning_logs催收日志(只读追加)、dunning_policy催收策略 - 完整字段定义与账单状态机见
references/data_schema.md - 催收话术梯度与合规红线、禁用词表见
references/dunning_playbook.md
常见问题
- Q:邮件没发出去? A:默认草稿模式,需先
queue预览再dispatch --all放行;确认 agent-mail 连接器已连接;dispatch 在 22:00–8:00 会被合规拦截 - Q:为什么微信文案只生成了一次? A:合规护栏限制同一家长 24 小时内仅生成一次,防打扰;次日会自动恢复
- Q:为什么某客户没出账? A:
generate-bills只对已配置生效方案且有课时消耗的客户出账;缺方案客户会列在"异常"清单 - Q:核销提示流水号重复? A:同一 ref_no 只能核销一次,防止重复入账;若确为不同款项请更换流水号
- Q:如何清空数据重新开始? A:删除技能目录
data/文件夹后重新运行init或demo - Q:数据安全吗? A:数据全部在本地文件,无任何云端上传;备份命令
backup可一键打包
技能指令(开发者参考)
- 命令入口:所有操作通过
python scripts/ar.py <command> [args]执行;--help查看全部命令;命令失败返回非零退出码并输出[X]错误 - 执行顺序约束:出账(generate-bills)→ 签发(issue)→ 核销(record-payment);特殊处置先查账单状态再执行
- 合规红线(硬编码,不得绕过):同一债务人邮件 ≤1 封/日、≤3 封/周;22:00–8:00 不发送;微信文案永不自动发送;L3 最终函、L4 升级建议永不自动发送,必须人工确认;禁用威胁/辱骂/"起诉抓人"类话术;不向账单无关第三方透露债务信息
- dispatch 放行后:邮件清单逐封通过 agent-mail 连接器(SendMessage)发送,每封发送后运行
mark-sent回填结果;微信文案原样展示给用户复制,提醒发送后回填 - 幂等与留痕:巡检/出账重复执行不产生重复动作(已催级别不重催);所有催收动作写
dunning_logs只读日志(生成/拦截/发送/失败/人工放行),audit可导出完整时间线 - 数据安全:写操作必须原子写 + 备份;
selfcheck校验引用完整与余额平衡;坏账核销必须--reason+--yes二次确认
参考文档
references/data_schema.md— 完整数据模型与账单状态机references/dunning_playbook.md— 催收梯度、话术、合规红线、禁用词表references/automation_prompt.md— 每日巡检 Automation 的自包含提示词assets/bill_template.html— 账单导出模板(export-bill 使用)