ENERGY-003: 能源缴费与催缴
优先级: 🔴 高 (17.0分) | 技术复用度: 80% | 实施周期: 1-2周
客户原话
"每个月要给100多家企业发账单,我们要打印出来送过去,或者发邮件、发微信。企业说没收到,我们也没办法证明。企业要交费,要跑到物业公司来交现金或转账,很不方便。有的企业拖欠费用,我们要打电话催缴,但企业不接电话,或者说'下周一定交',结果一拖再拖。欠费严重的要停水停电,但我们不知道哪些企业欠了多少,要临时统计。有的企业说已经交了,但我们查不到记录,扯皮。"
—— 某工业园区财务主管
业务场景描述
典型场景
场景1: 账单推送
- 每月5号生成账单
- 打印100多份账单,逐个送到企业
- 或者发邮件、微信,企业说没收到
- 无法证明已送达,企业有理由拖延
场景2: 在线缴费
- 企业要交费,要跑到物业公司
- 交现金或转账,财务手工记账
- 企业觉得不方便,希望在线支付
- 没有在线支付渠道
场景3: 欠费催缴
- 每月15号开始催缴欠费企业
- 财务人员逐个打电话
- 企业不接电话,或者承诺"下周交"
- 一拖再拖,欠费越来越多
场景4: 停供管理
- 欠费3个月以上要停水停电
- 不知道哪些企业欠费严重
- 要临时统计,通知工程部停供
- 停供后企业投诉,说没有提前通知
场景5: 缴费记录查询
- 企业说已经交了,但财务查不到
- 要翻银行流水,费时费力
- 有时候是企业记错了,有时候是财务漏记了
- 扯皮,影响关系
核心痛点
- 账单送达难 - 打印或发邮件,无法证明送达
- 缴费不方便 - 企业要跑到现场,没有在线支付
- 催缴效率低 - 打电话催缴,企业不接或拖延
- 停供不及时 - 不知道哪些企业欠费严重
- 记录不清楚 - 缴费记录查询困难,容易扯皮
业务流程图
当前人工流程
问题点:
- 账单送达无法证明
- 缴费不方便
- 催缴效率低
- 停供不及时
自动化流程
改进点:
- 账单自动推送,送达可追踪
- 在线支付,方便快捷
- 自动催缴,提升效率
- 停供预警,提前通知
数据流与依赖
数据输入
- 账单数据: 来自 ENERGY-002 能源费用分摊
- 企业信息: 来自 LEASE-001 空间资源管理
- 缴费记录: 银行流水、在线支付记录
数据输出
- 缴费状态: 更新到账单系统
- 欠费预警: 提供给管理层
- 停供工单: 提供给工程部
场景依赖关系
技术实现方案
核心功能模块
1. 账单推送
账单数据结构:
json
{
"bill_id": "BILL202403001",
"company_id": "C001",
"company_name": "XX科技公司",
"period": "2024-03",
"items": [
{"type": "电费", "amount": 15000, "usage": 25000, "price": 0.6},
{"type": "水费", "amount": 800, "usage": 200, "price": 4},
{"type": "物业费", "amount": 4000, "area": 500, "price": 8}
],
"total_amount": 19800,
"due_date": "2024-04-15",
"status": "unpaid",
"push_status": "sent",
"push_time": "2024-04-05 09:00:00",
"read_status": "read",
"read_time": "2024-04-05 10:30:00"
}推送渠道:
javascript
function pushBill(bill) {
let company = getCompany(bill.company_id)
let pushResults = []
// 1. APP推送
if (company.has_app) {
pushResults.push(pushToApp(company.app_user_id, bill))
}
// 2. 微信推送
if (company.wechat_openid) {
pushResults.push(pushToWechat(company.wechat_openid, bill))
}
// 3. 短信推送
if (company.contact_phone) {
let smsContent = `【园区物业】您的${bill.period}账单已生成,金额${bill.total_amount}元,请在${bill.due_date}前缴费。查看详情: ${bill.detail_url}`
pushResults.push(sendSMS(company.contact_phone, smsContent))
}
// 4. 邮件推送
if (company.contact_email) {
pushResults.push(sendEmail(company.contact_email, bill))
}
// 记录推送状态
bill.push_status = 'sent'
bill.push_time = new Date()
bill.push_channels = pushResults
return bill
}2. 在线支付
支付接口:
javascript
function createPayment(billId, paymentMethod) {
let bill = getBill(billId)
let payment = {
payment_id: generateId(),
bill_id: billId,
company_id: bill.company_id,
amount: bill.total_amount,
method: paymentMethod, // wechat, alipay, bank_transfer
status: 'pending',
created_at: new Date()
}
// 调用支付接口
if (paymentMethod === 'wechat') {
payment.pay_url = createWechatPay(payment)
} else if (paymentMethod === 'alipay') {
payment.pay_url = createAlipay(payment)
}
return payment
}
// 支付回调
function paymentCallback(paymentId, result) {
let payment = getPayment(paymentId)
if (result.status === 'success') {
payment.status = 'paid'
payment.paid_at = new Date()
payment.transaction_id = result.transaction_id
// 更新账单状态
let bill = getBill(payment.bill_id)
bill.status = 'paid'
bill.paid_at = new Date()
bill.payment_id = paymentId
// 通知企业
sendNotification(bill.company_id, {
title: '缴费成功',
content: `您的${bill.period}账单已缴费,金额${bill.total_amount}元`
})
// 通知财务
sendNotification('finance_dept', {
title: '收款通知',
content: `${bill.company_name} 已缴费 ${bill.total_amount} 元`
})
}
return payment
}3. 自动催缴
催缴规则:
javascript
// 每天早上9点执行
function sendPaymentReminders() {
let today = new Date()
// 查找未缴费账单
let unpaidBills = bills.filter(b => b.status === 'unpaid')
unpaidBills.forEach(bill => {
let dueDate = new Date(bill.due_date)
let daysOverdue = Math.floor((today - dueDate) / (1000 * 60 * 60 * 24))
// 到期前3天提醒
if (daysOverdue === -3) {
sendReminder(bill, '友好提醒', '您的账单即将到期,请及时缴费')
}
// 到期当天提醒
if (daysOverdue === 0) {
sendReminder(bill, '缴费提醒', '您的账单今天到期,请尽快缴费')
}
// 逾期3天催缴
if (daysOverdue === 3) {
sendReminder(bill, '逾期催缴', '您的账单已逾期3天,请立即缴费,避免影响信用')
bill.overdue_level = 1
}
// 逾期7天加急催缴
if (daysOverdue === 7) {
sendReminder(bill, '加急催缴', '您的账单已逾期7天,请立即缴费,否则将影响服务')
bill.overdue_level = 2
// 同时通知物业主管
sendNotification('property_manager', {
title: '欠费预警',
content: `${bill.company_name} 欠费 ${bill.total_amount} 元,已逾期7天`
})
}
// 逾期15天严重催缴
if (daysOverdue === 15) {
sendReminder(bill, '严重催缴', '您的账单已逾期15天,请立即缴费,否则将停止供应')
bill.overdue_level = 3
// 通知物业主管和总经理
sendNotification(['property_manager', 'general_manager'], {
title: '严重欠费预警',
content: `${bill.company_name} 欠费 ${bill.total_amount} 元,已逾期15天,建议停供`
})
}
// 逾期30天停供预警
if (daysOverdue === 30) {
sendReminder(bill, '停供预警', '您的账单已逾期30天,将于3天后停止供应,请立即缴费')
bill.overdue_level = 4
// 创建停供工单
createCutoffOrder(bill)
}
})
}
function sendReminder(bill, title, content) {
let company = getCompany(bill.company_id)
// 多渠道推送
if (company.wechat_openid) {
pushToWechat(company.wechat_openid, { title, content, bill })
}
if (company.contact_phone) {
sendSMS(company.contact_phone, `【园区物业】${content},账单金额${bill.total_amount}元。查看详情: ${bill.detail_url}`)
}
// 记录催缴记录
bill.reminders = bill.reminders || []
bill.reminders.push({
time: new Date(),
title: title,
content: content
})
}4. 停供管理
停供工单:
json
{
"cutoff_id": "CUT202403001",
"company_id": "C001",
"company_name": "XX科技公司",
"space_id": "A-3F-301",
"overdue_bills": ["BILL202401001", "BILL202402001", "BILL202403001"],
"total_overdue": 59400,
"overdue_months": 3,
"cutoff_type": "water_electricity",
"scheduled_date": "2024-04-08",
"status": "scheduled",
"executed_at": null,
"restored_at": null
}停供流程:
javascript
function createCutoffOrder(bill) {
let company = getCompany(bill.company_id)
// 查找所有欠费账单
let overdueBills = bills.filter(b =>
b.company_id === company.company_id &&
b.status === 'unpaid' &&
new Date(b.due_date) < new Date()
)
let totalOverdue = overdueBills.reduce((sum, b) => sum + b.total_amount, 0)
let cutoffOrder = {
cutoff_id: generateId(),
company_id: company.company_id,
company_name: company.company_name,
space_id: company.space_id,
overdue_bills: overdueBills.map(b => b.bill_id),
total_overdue: totalOverdue,
overdue_months: overdueBills.length,
cutoff_type: 'water_electricity',
scheduled_date: addDays(new Date(), 3), // 3天后执行
status: 'scheduled'
}
// 提前通知企业
sendNotification(company.company_id, {
title: '停供通知',
content: `您已欠费${totalOverdue}元,将于${cutoffOrder.scheduled_date}停止供应水电,请立即缴费`,
priority: 'urgent'
})
// 通知工程部
sendNotification('engineering_dept', {
title: '停供工单',
content: `${company.company_name} 欠费${totalOverdue}元,计划于${cutoffOrder.scheduled_date}停供`,
cutoff_id: cutoffOrder.cutoff_id
})
return cutoffOrder
}
// 企业缴费后自动恢复供应
function restoreSupply(companyId) {
let cutoffOrder = getCutoffOrder(companyId)
if (cutoffOrder && cutoffOrder.status === 'executed') {
cutoffOrder.status = 'restored'
cutoffOrder.restored_at = new Date()
// 通知工程部恢复供应
sendNotification('engineering_dept', {
title: '恢复供应',
content: `${cutoffOrder.company_name} 已缴费,请恢复供应`,
cutoff_id: cutoffOrder.cutoff_id
})
// 通知企业
sendNotification(companyId, {
title: '供应已恢复',
content: '您的水电供应已恢复,感谢您的配合'
})
}
}技术复用度分析
可复用的技术能力(80%):
| 技术能力 | 复用场景 | 说明 |
|---|---|---|
| 账单管理 | LEASE-003 | 相同的账单生成和推送 |
| 在线支付 | 通用能力 | 微信/支付宝支付接口 |
| 催缴提醒 | LEASE-003 | 相同的定时提醒能力 |
| 工单管理 | FACILITY-002 | 相同的工单流程 |
需要新开发的能力(20%):
- 多渠道推送(APP/微信/短信)
- 停供工单自动化
实施方案
实施步骤
第1周: 系统开发
- 开发账单推送功能
- 接入在线支付(微信/支付宝)
- 开发自动催缴功能
- 开发停供管理功能
第2周: 试点与上线
- 选择10家企业试点
- 培训财务和工程人员
- 全面上线
成本估算
软件成本:
- 平台开发: 约3-4万元(可复用80%)
- 支付接口费用: 0.6% × 年收款额
- 短信费用: 0.05元/条 × 约500条/月 × 12月 = 300元/年
人力成本节省:
- 账单推送自动化: 约1.5万元/年
- 催缴自动化: 约2万元/年
- 缴费记账自动化: 约1万元/年
- 年节省成本: 约4.5万元
其他收益:
- 缴费及时率提升,减少欠费: 约10-15万元/年
- 减少停供纠纷: 约2-3万元/年
- 提升企业满意度: 约3-5万元/年
- 总收益: 约15-23万元/年
投资回收期: 约2-3个月
预期收益
效率提升:
- 账单推送时间: 从2天 → 1分钟
- 催缴时间: 从2小时/天 → 自动化
- 缴费记账时间: 从30分钟 → 实时
缴费率提升:
- 按时缴费率: 从70% → 85%(提升21%)
- 欠费金额: 减少50%
- 停供纠纷: 减少80%
满意度提升:
- 企业满意度: 从70% → 85%(提升21%)
- 缴费便利性: 大幅提升
风险与应对
技术风险
风险1: 支付接口故障
- 表现: 微信/支付宝接口不可用
- 应对:
- 提供多种支付方式
- 支持线下转账
- 及时通知企业
风险2: 推送失败
- 表现: 短信/微信推送失败
- 应对:
- 多渠道推送
- 记录推送状态
- 失败后重试
业务风险
风险1: 企业不接受在线支付
- 表现: 习惯线下转账
- 应对:
- 保留线下支付方式
- 引导企业使用在线支付
- 提供优惠激励
风险2: 停供引发纠纷
- 表现: 企业投诉停供不合理
- 应对:
- 提前多次通知
- 保留通知记录
- 协商解决
实施检查清单
上线前检查
- [ ] 账单推送功能已开发
- [ ] 在线支付接口已接入
- [ ] 自动催缴功能已开发
- [ ] 停供管理功能已开发
- [ ] 财务和工程人员已培训
上线后监控
- [ ] 每日检查账单推送情况
- [ ] 每周检查缴费率变化
- [ ] 每月分析欠费情况
- [ ] 每季度优化催缴策略
成功案例参考
某科技园区(120家企业,月均账单120张)
实施前:
- 账单推送时间: 2天
- 按时缴费率: 70%
- 催缴时间: 2小时/天
- 欠费金额: 约50万元
实施后(3个月):
- 账单推送时间: 1分钟(提升99%)
- 按时缴费率: 85%(提升21%)
- 催缴时间: 自动化(节省100%)
- 欠费金额: 约25万元(减少50%)
- 企业满意度: 从70% → 85%

