7.4 KiB
7.4 KiB
title, aliases, tags, sub_feature, audience, status, last_review, code_version
| title | aliases | tags | sub_feature | audience | status | last_review | code_version | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| prop-acc · billing · 知识地图 |
|
|
billing |
|
已发布 | 2026-05-26 | 2026-05-22 |
账单(billing)知识地图
本子模块 = Bill + CollectionOrderBill(中间表)。覆盖物业收款的应收应付侧:账单生成、状态管理、收款关联、删除 / 作废 / 挂起 / 拆单全套。
billing 是 prop-acc 最复杂的子模块,也是收款流程的中枢(各业务源 → Bill → CollectionOrder)。
这是什么?
物业管理软件最核心的对象之一 —— 应收账款的记录。从抄表 / 周期任务 / 手工建单产生,经历状态变化(Unpaid → Partial → Paid),最终通过 CollectionOrder 完成收款。
与其他子模块的关系
| 关系 | 说明 |
|---|---|
| 上游:meter → bill | 抄表 → 生成计量账单 |
| 上游:周期任务 → bill | 月度物业费等批量生成 |
| 上游:手工 → bill | 临时收费 |
| 下游:bill → CollectionOrder | 收款时建 CO + Receipt |
| 侧链:bill ← prepaid | 业户预存款抵账单(走 Bill consume,见 prepaid 模块) |
与其他子模块的核心差异
| 维度 | bill | 其他子模块 |
|---|---|---|
| 状态数 | 6(最复杂) | deposit/prepaid 3,meter 2 |
| 删 / 作废 | 双轨制 | 只有 Close / Decommission |
| Policy 方法数 | 7 | deposit 12 / prepaid 9 / meter 5 |
| 审计 | activitylog + meta | meta JSON only |
| 批删 | 智能 Modal(3 档分类) | 无 |
| 与 CollectionOrder 关系 | 多对多(中间表) | 1:1(adhoc / deposit / prepaid) |
核心概念(6 篇)
| 文档 | 一句话 |
|---|---|
| 账单六状态机 | 6 状态(Unpaid / Partial / Paid / Suspended / Processing / Void),prop-acc 最复杂 |
| 账单类型与来源 | 周期 / 计量 / 临时 三类 + sourceable polymorphism |
| Bill 与 CollectionOrder 关系 | 应收 vs 已收,CollectionOrderBill 多对多 |
| 周期账单生成机制 | GeneratePeriodicBillsAction + BillingMergeStrategy 三种合并策略 |
| 删除 vs 作废双轨制 | 物理删(Unpaid 无付款)vs 作废(留状态留审计)的设计哲学 |
| 智能批量删除设计 | 预检查三档分类 + 必填原因 + activitylog 完整审计 |
场景手册(16 篇,待补充 ✋)
🚧 概念骨架已就位,场景文档将在下一轮(轮 2)产出。预定结构如下。
📝 账单创建(3 篇)
💰 收款(3 篇)
✂️ 账单调整(3 篇)
🗑️ 删除 / 作废(3 篇)
🛡️ 异常 / 审计(4 篇)
- 🚧 部分付状态处理(Partial)
- 🚧 逾期账单清单 + 催收(
OverdueBillsListWidget) - 🚧 月度账单生成 vs 收款对比(
MonthlyBillingVsCollectionChart) - 🚧 activitylog 审计追溯
跨域引用
本子模块引用以下跨域共享概念:
跨子模块引用
- adhoc · CollectionOrder 与 Receipt — 收款侧的核心对象
- meter · 账单生成的三层分层 — 计量账单的生成器
- prepaid · Consume 走 CollectionType=Bill — 预存款抵账单的资金流
- meter · 表退役与读数锁定 — 类似的"状态机+守护"对比
- deposit · 账户与流水 — 双对象模式对比
相关代码
- 模型:
Bill.php、CollectionOrderBill.php - 枚举:
BillStatus(6 种)、BillType、BillingMergeStrategy、FeeTypeBillType - Policy:
BillPolicy(7 个方法:update / delete / deleteAny / void / collect / suspend / resume) - 业务 Actions(src/Actions/Bills/):
VoidBillActionSplitBillActionSuspendBillActionResumeBillActionBulkDeleteBillsAction(智能批删)
- Filament Resource:
packages/prop-acc/src/Filament/Resources/Bills/ - Filament Actions(UI 入口):8 个(CollectPayment / BatchCollectPayment / GeneratePeriodicBills / Split / Suspend / Resume / Void / BulkDelete)
- Widgets:
BillingStatsOverviewWidget、MonthlyBillingVsCollectionChart、FeeTypeRevenueDistributionChart、OverdueBillsListWidget、MonthlyRevenueTrendChart - 业务设计决策:
packages/prop-acc/issue.md的 Q6 段(最详细的 issue 之一)
相关文档
[!info] 概念已完成,场景待补 本轮(轮 1)产出:6 个概念 + 本子模块地图 + 域总图更新。 下一轮(轮 2)产出:16 个场景文档,基于本知识地图骨架填充。