vault backup: 2026-05-25 22:22:37
This commit is contained in:
163
prop-acc/scenarios/deposit/deposit-on-behalf-by-company.md
Normal file
163
prop-acc/scenarios/deposit/deposit-on-behalf-by-company.md
Normal file
@@ -0,0 +1,163 @@
|
||||
---
|
||||
title: prop-acc · deposit · 场景 - 装修公司代业户缴纳
|
||||
aliases:
|
||||
- 装修公司代缴
|
||||
- 三方账户开户
|
||||
- deposit-on-behalf-by-company
|
||||
- 场景-装修公司代缴
|
||||
tags:
|
||||
- 场景
|
||||
- prop-acc
|
||||
- 保证金
|
||||
- 缴纳
|
||||
- 三方账户
|
||||
audience:
|
||||
- 业户
|
||||
- 业务人员
|
||||
status: 已发布
|
||||
sub_feature: deposit
|
||||
last_review: 2026-05-25
|
||||
code_version: 2026-05-22
|
||||
---
|
||||
|
||||
# 场景:装修公司代业户缴纳
|
||||
|
||||
装修公司本月承接小区**多户业主**装修,公司账户**一次性垫付**多张保证金。每户单独开账户,缴款人记公司而非业主。
|
||||
|
||||
## 典型情境
|
||||
|
||||
> [!example] 真实情境
|
||||
> 王老板的"王装修有限公司"本月在小区承接 **3 户业主**(12-3-501 / 12-3-502 / 12-3-503)的装修。三户业主都让王老板帮忙付保证金,王老板直接刷公司对公账户一笔转 ¥15,000 到物业。物业要为这 3 户分别开 3 个押金账户。
|
||||
|
||||
## 业户视角(装修公司王老板)
|
||||
|
||||
### 第 1 步:到前台带齐材料
|
||||
|
||||
- 营业执照(公司主体证明)
|
||||
- 三户业主的装修施工合同(每户一份)
|
||||
- 三户业主的授权书(允许王装修代缴押金)
|
||||
- 三户房产证复印件
|
||||
- 公司对公账户银行卡(用于退款时回款)
|
||||
|
||||
### 第 2 步:告诉职员
|
||||
|
||||
> "我帮 501、502、503 三户业主交装修保证金,每户 ¥5,000,从我公司账户一笔转 ¥15,000 过来。"
|
||||
|
||||
### 第 3 步:对公转账
|
||||
|
||||
把 ¥15,000 转到物业指定收款账户(转账备注写"3 户装修押金代缴")。
|
||||
|
||||
### 第 4 步:拿 3 张收据
|
||||
|
||||
物业为每户单独建账户、单独出收据。您拿到:
|
||||
|
||||
- 收据 1:"装修保证金缴纳 ¥5,000(12-3-501,业主李某某)"
|
||||
- 收据 2:"装修保证金缴纳 ¥5,000(12-3-502,业主陈某某)"
|
||||
- 收据 3:"装修保证金缴纳 ¥5,000(12-3-503,业主刘某某)"
|
||||
|
||||
每张收据"缴款人"写**王装修有限公司**(您),但"关联业户"写对应业主。
|
||||
|
||||
> [!warning] 退款回哪
|
||||
> 退款时**退到您公司对公账户**(因为缴款人是您),不是退给业主。三户结清后您拿到 3 张红字退款收据,自己再跟业主结清。
|
||||
|
||||
## 业务人员视角(物业职员)
|
||||
|
||||
> [!info] 关键差异
|
||||
> 与 [[deposit-first-time-renovation|业主自缴]]的最大不同:
|
||||
> - `payer_type = Company`(不是 Owner)
|
||||
> - **不绑业户档案**(`community_user_profile_id = NULL`)
|
||||
> - 用 `payer_name` + `payer_contact` 记公司名 + 联系人
|
||||
> - 但**仍绑业户档案到 `community_user_profile_id` 是允许的** —— 若你想精确表达"代缴的对象是哪位业主",可以填业主的 profile id,系统不强制三方账户为空
|
||||
|
||||
### 第 1 步:为每户开账户(3 个)
|
||||
|
||||
每户单独打开 `CreateDepositAccount`,填:
|
||||
|
||||
| 字段 | 12-3-501 | 12-3-502 | 12-3-503 |
|
||||
|---|---|---|---|
|
||||
| `payer_type` | `Company` | `Company` | `Company` |
|
||||
| `payer_name` | "王装修有限公司" | "王装修有限公司" | "王装修有限公司" |
|
||||
| `payer_contact` | 王老板手机 | 王老板手机 | 王老板手机 |
|
||||
| `community_user_profile_id` | 业主李某某(可选,推荐填) | 业主陈某某(可选) | 业主刘某某(可选) |
|
||||
| `asset_id` | 12-3-501 房屋 | 12-3-502 房屋 | 12-3-503 房屋 |
|
||||
| `fee_type_id` | 装修保证金 | 装修保证金 | 装修保证金 |
|
||||
| 首次缴款金额 | ¥5,000 | ¥5,000 | ¥5,000 |
|
||||
| 支付方式 | 银行转账 | 银行转账 | 银行转账 |
|
||||
| 收款银行账户 | 物业指定收款账户 | 同上 | 同上 |
|
||||
| 备注 | "王装修代缴" | "王装修代缴" | "王装修代缴" |
|
||||
|
||||
提交 3 次,生成 3 个独立的 `DepositAccount` + 3 张 Receipt。
|
||||
|
||||
### 第 2 步:核对对公转账记录
|
||||
|
||||
物业会计核对银行流水:王装修一笔转入 ¥15,000 == 3 张 Receipt 合计 ¥15,000 ✅。
|
||||
|
||||
### 第 3 步:把 3 张收据交给王老板
|
||||
|
||||
> [!tip] 不要把收据交给业主
|
||||
> 业主交的不是这笔钱,收据上"缴款人"是公司。给业主反而会让退款时找钱方向混乱。
|
||||
|
||||
## 系统视角:为什么不能一个账户装多户
|
||||
|
||||
> [!warning] 反模式
|
||||
> 看起来"王装修一个账户记 ¥15,000 余额"很简洁,但**会出大问题**:
|
||||
>
|
||||
> 1. **退款时谁的钱是谁的算不清** —— 501 装修完先退,要从 ¥15,000 里退 ¥5,000,剩 ¥10,000 是哪两户的?
|
||||
> 2. **每户的扣罚责任无法独立** —— 502 砸了公共墙,要从 502 的 ¥5,000 里扣,但账户里钱已经混了
|
||||
> 3. **业主侧无法查询自己的押金状态** —— 业主在小程序看"我的押金",看不到自己 ¥5,000,只看到一个公司账户
|
||||
>
|
||||
> 所以即使是"一笔转账",**也必须开 N 个独立账户**,每个对应一户。系统设计的"账户 + 流水"模式天然支持这种细颗粒度,详见 [[deposit-account-vs-transaction]]。
|
||||
|
||||
## 系统流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant 王装修
|
||||
participant 前台
|
||||
participant Filament
|
||||
participant 数据库
|
||||
participant 监听器
|
||||
|
||||
王装修->>前台: 我帮 3 户业主交押金,公司对公转 15000
|
||||
Note over 前台: 核对转账已到账
|
||||
|
||||
loop 3 次(每户一次)
|
||||
前台->>Filament: CreateDepositAccount (payer=Company, asset=N号房, amount=5000)
|
||||
Filament->>数据库: 建 DepositAccount + CO (+5000) + DepositTransaction
|
||||
Filament->>监听器: 触发 CollectionOrderCompleted
|
||||
监听器->>数据库: 建 Receipt ("装修保证金缴纳 ¥5,000")
|
||||
end
|
||||
|
||||
前台->>王装修: 给 3 张收据
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
> [!question] 装修公司账户和业主账户在退款时差异?
|
||||
> 业务上差异最大的是"退给谁":
|
||||
> - Owner / Tenant 账户:退给业主本人(通常原路退,看缴款渠道)
|
||||
> - Company / Contractor 账户:退给公司 / 承包商(需手工指定回款渠道)
|
||||
>
|
||||
> 详见 [[refund-with-payment-channel-switch]]。
|
||||
|
||||
> [!question] 装修公司倒闭了,押金怎么办?
|
||||
> 走 [[force-close-retain]] 强制关账并保留资金,等待法律程序确定归属。
|
||||
|
||||
> [!question] 装修公司转包给装修队,业主想押金挂装修队怎么办?
|
||||
> 重新开账户,`payer_type=Contractor`,`payer_name=` 装修队负责人。原公司账户走 [[refund-full-no-damage]] 退款给装修公司,装修队再缴一笔新账户。**不要试图改账户的 payer 字段** —— 缴款人变更等于换主体,审计无法追溯。
|
||||
|
||||
> [!question] 三户分账户开比一户一户开慢,有批量功能吗?
|
||||
> 当前没有批量。3 户开 3 次就行,每次 ~3 分钟。如果业务上常发(装修公司频繁代缴 10+ 户)再加批量入口。
|
||||
|
||||
## 异常分支
|
||||
|
||||
- 装修公司不还业主对应押金 → 业务层面问题,系统不解决(账面退款已退给公司,后续是公司与业主民事关系)
|
||||
- 业主提出"装修公司不给退我的押金,物业能直接退给我吗" → 不能。账面缴款人是公司,退款只能退公司。如有纠纷走 [[freeze-during-dispute]] 冻结 + 调解
|
||||
|
||||
## 相关文档
|
||||
|
||||
- [[deposit-first-time-renovation]]
|
||||
- [[payer-types]]
|
||||
- [[deposit-account-vs-transaction]]
|
||||
- [[refund-with-payment-channel-switch]]
|
||||
- [[force-close-retain]]
|
||||
Reference in New Issue
Block a user