190 lines
7.3 KiB
Markdown
190 lines
7.3 KiB
Markdown
|
|
---
|
|||
|
|
title: prop-acc · deposit · 场景 - 损坏公共走道墙面扣 800
|
|||
|
|
aliases:
|
|||
|
|
- 损坏扣罚
|
|||
|
|
- 墙面损坏扣押金
|
|||
|
|
- forfeit-damage-public-area
|
|||
|
|
- 场景-损坏扣罚
|
|||
|
|
tags:
|
|||
|
|
- 场景
|
|||
|
|
- prop-acc
|
|||
|
|
- 保证金
|
|||
|
|
- 扣罚
|
|||
|
|
audience:
|
|||
|
|
- 业户
|
|||
|
|
- 业务人员
|
|||
|
|
status: 已发布
|
|||
|
|
sub_feature: deposit
|
|||
|
|
last_review: 2026-05-25
|
|||
|
|
code_version: 2026-05-22
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# 场景:损坏公共走道墙面扣 800
|
|||
|
|
|
|||
|
|
最常见的扣罚场景。装修过程中工人**损坏了公共区域**(走道墙面、电梯轿厢、楼栋出入口等),物业凭损坏证据和修复成本从押金扣除。
|
|||
|
|
|
|||
|
|
## 典型情境
|
|||
|
|
|
|||
|
|
> [!example] 真实情境
|
|||
|
|
> 陈先生家装修运输板材时,工人在 12 楼到 1 楼搬运过程中**撞坏了公共走道墙面**(凹陷一块,约 50cm × 30cm)。物业找施工方维修报价 ¥800(刮腻子重新粉刷)。陈先生当初交了 ¥5,000 装修保证金,要扣这 ¥800。
|
|||
|
|
|
|||
|
|
## 业户视角
|
|||
|
|
|
|||
|
|
### 第 1 步:物业告知发现损坏
|
|||
|
|
|
|||
|
|
通常装修验收时发现,或装修过程中物业巡查发现。物业会:
|
|||
|
|
|
|||
|
|
- 拍照(损坏部位、范围)
|
|||
|
|
- 出**定损报价单**(找的施工方报价)
|
|||
|
|
- 联系您说明情况
|
|||
|
|
|
|||
|
|
### 第 2 步:决定接受或拒绝
|
|||
|
|
|
|||
|
|
| 决定 | 后续 |
|
|||
|
|
|---|---|
|
|||
|
|
| **接受** | 物业从押金扣 ¥800,装修结束后剩余退还,本场景 |
|
|||
|
|
| **拒绝** | 物业冻结账户进入纠纷,走 [[freeze-during-dispute]] |
|
|||
|
|
|
|||
|
|
> [!tip] 接受不等于"没事"
|
|||
|
|
> 接受扣罚是同意"我损坏了,这 ¥800 修复成本由我承担"。如果对损坏归责有异议(可能是装修前就坏的、可能是其他业户损坏),应**先拒绝走调解**,而不是先接受再反悔(已扣的钱难以追回)。
|
|||
|
|
|
|||
|
|
### 第 3 步:收到红字收据
|
|||
|
|
|
|||
|
|
"装修保证金扣罚 ¥-800(公共走道墙面损坏)"
|
|||
|
|
|
|||
|
|
> [!info] 钱去哪了
|
|||
|
|
> 这 ¥800 从物业**代管负债**科目转入**装修维修收入**科目。账上的资金没有离开物业账户,只是性质变了 —— 用于支付实际修复成本。
|
|||
|
|
|
|||
|
|
### 第 4 步:剩余款怎么办
|
|||
|
|
|
|||
|
|
账户里还剩 ¥4,200。可以:
|
|||
|
|
|
|||
|
|
- **当下退** → 走 [[refund-partial-after-forfeit]](合并扣罚+退款的完整场景)
|
|||
|
|
- **暂留账户** → 万一装修后续还有问题,从余额继续扣;无问题再退
|
|||
|
|
|
|||
|
|
## 业务人员视角(物业财务)
|
|||
|
|
|
|||
|
|
### 第 1 步:准备扣罚证据
|
|||
|
|
|
|||
|
|
- 损坏照片(多角度)
|
|||
|
|
- 定损报价单(第三方或物业内部维修队的)
|
|||
|
|
- 业户书面同意(签字 / 微信确认截图)
|
|||
|
|
|
|||
|
|
> [!warning] 没有证据不能扣
|
|||
|
|
> 没有上述材料就执行扣罚等于**单方面挪用代管资金**,审计大忌。即使业户口头同意也必须留书面凭证。
|
|||
|
|
|
|||
|
|
### 第 2 步:打开账户
|
|||
|
|
|
|||
|
|
后台 → 保证金 → 账户列表 → 找到陈先生账户(Active,balance=5000)→ 进入 `ViewDepositAccount`。
|
|||
|
|
|
|||
|
|
### 第 3 步:点击 `ForfeitureAction`(标签"扣罚")
|
|||
|
|
|
|||
|
|
右上角状态管理组。Modal 表单:
|
|||
|
|
|
|||
|
|
| 字段 | 填什么 |
|
|||
|
|
|---|---|
|
|||
|
|
| **扣罚金额** | ¥800 |
|
|||
|
|
| **扣罚事由(memo)** | "公共走道墙面损坏,12-1F 楼梯口,定损报价 ¥800" |
|
|||
|
|
| **关联凭证(选填)** | 上传定损报价单 PDF / 损坏照片 |
|
|||
|
|
|
|||
|
|
> [!warning] Policy 守护
|
|||
|
|
> `ForfeitureAction` 加了 `->authorize('forfeit')` 守护:`update` 权限 + `canWithdraw()` 状态。Frozen 账户该按钮灰化。
|
|||
|
|
|
|||
|
|
### 第 4 步:提交
|
|||
|
|
|
|||
|
|
系统调 `ForfeitFromDepositAccountAction`,事务内:
|
|||
|
|
|
|||
|
|
1. 校验账户 `canWithdraw()`(Active only)
|
|||
|
|
2. 校验扣罚金额 ≤ 当前余额
|
|||
|
|
3. 建 `CollectionOrder`(`actual_amount=-800` 红字,`status=Completed`)
|
|||
|
|
4. 加 `DepositTransaction`(`type=forfeiture`,`amount=800`,`balance_before=5000`,`balance_after=4200`,关联红字 CO)
|
|||
|
|
5. 更新 `DepositAccount.balance=4200`
|
|||
|
|
6. 触发 `CollectionOrderCompleted` → Listener 建红字 Receipt"装修保证金扣罚 ¥-800(公共走道墙面损坏)"
|
|||
|
|
|
|||
|
|
注意:扣罚**不会自动关账**,因为余额非 0,账户保持 Active,后续可继续操作。
|
|||
|
|
|
|||
|
|
### 第 5 步:给业户红字收据
|
|||
|
|
|
|||
|
|
后台找到 Receipt → 打印 / 发微信 → 通知陈先生剩余款 ¥4,200。
|
|||
|
|
|
|||
|
|
## 系统流程
|
|||
|
|
|
|||
|
|
```mermaid
|
|||
|
|
sequenceDiagram
|
|||
|
|
participant 业户
|
|||
|
|
participant 财务
|
|||
|
|
participant Filament
|
|||
|
|
participant ForfeitFromDepositAccountAction
|
|||
|
|
participant 数据库
|
|||
|
|
participant 监听器
|
|||
|
|
|
|||
|
|
财务->>业户: 拍照 + 定损 + 告知
|
|||
|
|
业户->>财务: 接受扣 800
|
|||
|
|
财务->>Filament: ViewDepositAccount → ForfeitureAction(modal)
|
|||
|
|
Filament->>ForfeitFromDepositAccountAction: handle(account, 800, reason)
|
|||
|
|
ForfeitFromDepositAccountAction->>ForfeitFromDepositAccountAction: canWithdraw()? (Active=true)
|
|||
|
|
ForfeitFromDepositAccountAction->>ForfeitFromDepositAccountAction: 800 ≤ 5000? yes
|
|||
|
|
ForfeitFromDepositAccountAction->>数据库: 开启事务
|
|||
|
|
ForfeitFromDepositAccountAction->>数据库: 1. 建 CollectionOrder (-800 红字, Completed)
|
|||
|
|
ForfeitFromDepositAccountAction->>数据库: 2. 建 DepositTransaction (forfeiture, 5000→4200)
|
|||
|
|
ForfeitFromDepositAccountAction->>数据库: 3. balance=4200(不自动关账)
|
|||
|
|
ForfeitFromDepositAccountAction->>监听器: 4. 触发 CollectionOrderCompleted
|
|||
|
|
监听器->>数据库: 5. 建 Receipt (装修保证金扣罚 ¥-800)
|
|||
|
|
ForfeitFromDepositAccountAction->>数据库: 提交事务
|
|||
|
|
Filament-->>财务: 成功通知
|
|||
|
|
财务-->>业户: 红字收据 + 余额通知
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
> [!question] 扣罚金额 > 押金余额怎么办?
|
|||
|
|
> 系统校验 `amount ≤ balance`,提交时会被守护拦截抛错。**业务上**:
|
|||
|
|
> - 扣全部余额(走本流程,金额改成余额),账户余额 0 自动关
|
|||
|
|
> - 不足的部分**需要业户单独补缴**(开新订单 / 走司法程序),系统不自动处理
|
|||
|
|
>
|
|||
|
|
> 物业不应"先借后扣"或"超额扣罚",任何缺口必须有独立追偿凭证。
|
|||
|
|
|
|||
|
|
> [!question] 扣罚后能撤销吗?
|
|||
|
|
> **不能直接撤销**(`DepositTransaction` 不可变)。如果扣错了:
|
|||
|
|
> - 走一笔 `Deposit` 反向冲回(等于"退还扣罚款")
|
|||
|
|
> - 备注清楚写明"撤销 2026-XX-XX 扣罚误判"
|
|||
|
|
> - 审计上能完整追溯"扣 → 撤" 全过程
|
|||
|
|
>
|
|||
|
|
> 这种做法虽然多两笔流水,但**每笔都有合规凭证**,不留信息空白。
|
|||
|
|
|
|||
|
|
> [!question] 多次损坏分多次扣可以吗?
|
|||
|
|
> 可以。例如:
|
|||
|
|
> - 周一:墙面损坏扣 ¥800
|
|||
|
|
> - 周三:电梯按钮被砸扣 ¥200
|
|||
|
|
> - 周五:楼栋玻璃损坏扣 ¥500
|
|||
|
|
>
|
|||
|
|
> 三笔独立 `ForfeitureAction`,各自有事由、各自有凭证。账户余额累计减少。
|
|||
|
|
|
|||
|
|
> [!question] 扣罚事由写多详细?
|
|||
|
|
> 越详细越好。审计、复盘、纠纷都需要。推荐结构:
|
|||
|
|
> - 损坏部位:"公共走道墙面,12-1F 楼梯口"
|
|||
|
|
> - 损坏程度:"凹陷 50×30cm,需刮腻子重新粉刷"
|
|||
|
|
> - 定损依据:"物业维修队报价 ¥800" 或 "第三方[xxx 装修公司] 报价单"
|
|||
|
|
> - 业户确认:"业户陈某某 2026-XX-XX 微信确认接受"
|
|||
|
|
|
|||
|
|
> [!question] 业户拿到收据后反悔怎么办?
|
|||
|
|
> 已扣的钱难追回。**预防胜于补救**:
|
|||
|
|
> - 扣罚前务必拿到业户书面同意
|
|||
|
|
> - 不要在业户犹豫时强扣
|
|||
|
|
> - 复杂纠纷先 [[freeze-during-dispute|冻结]] 调解
|
|||
|
|
|
|||
|
|
## 异常分支
|
|||
|
|
|
|||
|
|
- 业户拒绝接受扣罚 → [[freeze-during-dispute]]
|
|||
|
|
- 扣罚后退余款 → [[refund-partial-after-forfeit]]
|
|||
|
|
- 扣全部余额清零关账 → 继续走 [[close-after-zero-balance]](本流程余额非零,不适用)
|
|||
|
|
- 未申请直接动工的违约扣罚 → [[forfeit-violation-no-permit]]
|
|||
|
|
|
|||
|
|
## 相关文档
|
|||
|
|
|
|||
|
|
- [[transaction-types]]
|
|||
|
|
- [[red-receipt-design]]
|
|||
|
|
- [[forfeit-violation-no-permit]]
|
|||
|
|
- [[refund-partial-after-forfeit]]
|
|||
|
|
- [[freeze-during-dispute]]
|