6.3 KiB
title, aliases, tags, audience, status, sub_feature, last_review, code_version
| title | aliases | tags | audience | status | sub_feature | last_review | code_version | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| prop-acc · deposit · 场景 - 装修业户首次缴 5000 保证金 |
|
|
|
已发布 | deposit | 2026-05-25 | 2026-05-22 |
场景:装修业户首次缴 5,000 保证金
最常见的保证金场景。业户准备装修,第一次给物业交装修押金,系统当场建账户 + 收钱 + 出收据。
典型情境
[!example] 真实情境 张阿姨,72 岁,儿子要装修她家(12-3-501)。装修前一天她带着身份证、房产证、装修施工合同来物业前台,要交 ¥5,000 装修保证金。
业户视角(您要做什么)
第 1 步:到前台带齐材料
- 身份证(或户口本)
- 房产证(或租赁合同 + 业主授权书)
- 装修施工合同(物业要存档,确认装修方信息)
第 2 步:告诉职员
"我家要装修了,来交装修保证金,房号 12-3-501。"
第 3 步:付款
职员告诉您多少钱(常见 ¥3,000-10,000,各小区不同),您可选:
- 现金
- 微信扫码
- POS 刷卡
- 银行转账(需打印银行凭证)
第 4 步:拿收据
- 纸质收据:当场打印
- 电子收据:发到您的微信或邮箱
[!success] 完成 整个过程 10 分钟内搞定。收据写"装修保证金缴纳 ¥5,000",妥善保管,装修结束时退押凭这个。
业务人员视角(物业职员怎么操作)
[!info] 关键差异 这是首次开户 + 缴款。之后追加缴款走 deposit-additional-topup,流程更简短。
第 1 步:打开后台
登录 Filament 后台 → 保证金 → 新建账户(CreateDepositAccount 页面)。
第 2 步:填表单(账户信息)
| 字段 | 填什么 |
|---|---|
缴款人类型(payer_type) |
选 Owner(业主)/ Tenant(租户)/ Contractor(承包商)等;详见 payer-types |
缴款人姓名(payer_name) |
"张某某" |
缴款人联系方式(payer_contact) |
张阿姨手机号 |
业户档案(community_user_profile_id) |
通过房号 12-3-501 找到张阿姨绑定的业户档案(Owner / Tenant 类型必填) |
房屋单元(asset_id) |
12-3-501 房屋资产 |
押金种类(fee_type_id) |
"装修保证金"(本物业项目预先配置的 FeeType) |
备注(remark) |
选填,如 "2026 年春季装修,施工方:王装修有限公司" |
第 3 步:填首次缴款信息
CreateDepositAccount 页面下半部分有"首次缴款"段,和开户一起一气呵成:
| 字段 | 填什么 |
|---|---|
| 缴款金额 | ¥5,000 |
| 支付方式(PaymentChannel) | 现金 / 微信 / POS / 银行转账 |
| 收款银行账户 | 微信/POS/转账选对应银行;现金可空 |
| 缴款备注 | 选填,如 "首次开户缴款" |
第 4 步:提交
点击"创建"。系统在一个数据库事务内完成:
- 建
DepositAccount(status=Active,balance=5000) - 建
CollectionOrder(actual_amount=+5000,status=Completed) - 建
DepositTransaction(type=deposit,amount=5000,balance_before=0,balance_after=5000,关联 CO) - 触发
CollectionOrderCompleted事件 - Listener 自动建
Receipt+ReceiptItem,文案"装修保证金缴纳 ¥5,000"
第 5 步:打印 / 发收据
- 后台收据列表找到刚生成的 Receipt → 点击"打印"或"发送"
- 把纸质收据交给张阿姨,或直接微信发她
系统流程
sequenceDiagram
participant 业户
participant 前台
participant Filament
participant 数据库
participant 监听器
业户->>前台: 我要交装修保证金 5000(现金)
前台->>Filament: CreateDepositAccount 填表 + 提交
Filament->>数据库: 开启事务
Filament->>数据库: 1. 建 DepositAccount (Active, balance=5000)
Filament->>数据库: 2. 建 CollectionOrder (actual=+5000, Completed)
Filament->>数据库: 3. 建 DepositTransaction (deposit, balance 0→5000)
Filament->>监听器: 4. 触发 CollectionOrderCompleted
监听器->>数据库: 5. 建 Receipt + ReceiptItem ("装修保证金缴纳 ¥5,000")
Filament->>数据库: 提交事务
Filament-->>前台: 成功通知 + 显示新账户
前台->>业户: 给收据
[!info] 一气呵成 5 个数据库写入在同一事务里。任何一步失败,整笔回滚 —— 不会出现"账户建了但钱没记""收据生成了但流水没建"的半成品状态。
常见问题
[!question] 业户没带身份证 / 房产证可以办吗? 各物业政策不同,系统不强制证件检查。属于物业内部审核流程。
[!question] 装修方是装修公司不是业户,该怎么开? 走 deposit-on-behalf-by-company 流程:
payer_type=Company,不绑业户档案,只记公司名 + 联系人。
[!question] 业户没带够现金可以拆分付款吗? 单笔
CollectionOrder只支持一种支付方式。可以先开账户缴一部分,过几天 deposit-additional-topup 补齐。
[!question] 录错金额(把 ¥5,000 录成 ¥50,000)怎么办? 不要试图改流水,流水是不可变的。正确做法:建一笔
Refund退还多收的差额,业户拿到一张红字收据。详见 transaction-types "真实修正场景示例" 段。
[!question] 这个账户绑了张阿姨,但实际付钱的是她儿子,可以吗? 系统只看
payer_*字段。如果想严格反映"儿子代付",可在payer_name写儿子名 +community_user_profile_id仍绑张阿姨;退款时收据上文案会按payer_name显示。或者继续用张阿姨名,备注里说明。
[!question] 同一业户能开多个押金账户吗? 可以,只要
(community_id, fee_type_id, payer_type, asset_id)组合不同。例如张阿姨可以同时有"装修保证金"和"入驻押金"两个账户,各自独立。
异常分支
- 录错金额想撤回 → refund-partial-after-forfeit 或 refund-full-no-damage
- 装修过程出问题(损坏 / 违约)→ forfeit-damage-public-area / forfeit-violation-no-permit
- 业户和物业有纠纷暂时冻结 → freeze-during-dispute
- 已开账户后续追加 → deposit-additional-topup