--- 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]]