Files
uniprop-manual/prop-acc/scenarios/deposit/deposit-first-time-renovation.md
2026-05-25 22:22:37 +08:00

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-first-time-renovation
场景-装修业户首次缴保证金
场景
prop-acc
保证金
缴纳
业户
业务人员
已发布 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 步:提交

点击"创建"。系统在一个数据库事务内完成:

  1. DepositAccount(status=Active,balance=5000)
  2. CollectionOrder(actual_amount=+5000,status=Completed)
  3. DepositTransaction(type=deposit,amount=5000,balance_before=0,balance_after=5000,关联 CO)
  4. 触发 CollectionOrderCompleted 事件
  5. 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) 组合不同。例如张阿姨可以同时有"装修保证金"和"入驻押金"两个账户,各自独立。

异常分支

相关文档