Back to skills
SKILL.md
Finance Settlement
ASecurityUse when building 商家结算, 账期 T+N, 结算单, 抽佣, 待结算/可结算, merchant payout. Distinct from WeChat 分账 (backend-pay-split-account) and from GMV reports (backend-finance-stats).
- 2 stars
- 0 votes
- 0 copies
- 2 views
- Added September 3, 2026
Works with
Security analysis
100/100npx -y skills add 1398281322-a11y/java-backend-guardrails --skill finance-settlement --agent claude-codeAre you the author of Finance Settlement?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/1398281322-a11y-finance-settlement)---
name: finance-settlement
description: Use when building 商家结算, 账期 T+N, 结算单, 抽佣, 待结算/可结算, merchant payout. Distinct from WeChat 分账 (backend-pay-split-account) and from GMV reports (backend-finance-stats).
---
# 商家结算 / 账期
## When to Invoke
门店/商家要打款、T+1/T+7 账期、结算单、平台抽佣后应付。文旅核销后才可结算。面试:「怎么给商家结账」。
## When NOT
微信分账 API → `pay-split-account`(渠道把钱划走)。那是支付通道;本文件是 **平台账本上的应付与账单**。统计 GMV → `finance-stats`。
## 风险(面试考点)
支付成功立刻给商家可提现:退款时平台垫资。默认 **履约完成(发货确认/核销)后进入待结算,账期满可结算**。
结算单与交易单多对多:一笔订单可能跨账期退款,要从下期扣或追缴。不能结算后物理删除明细。
佣金:`应付商家 = 实付 - 平台佣金 - 渠道手续费(看合同)`。尾差规则固定。
和渠道分账同时存在时:渠道已分账则平台结算单只做对账,避免再打一笔。
## 方案选型(轻量优先)
```text
支付成功 → 记账「平台预收」(未对商家负债或冻结)
核销/收货 → 生成结算明细 status=PENDING,账期日=履约日+N
账期到 → 聚合成结算单 SETTLED,可提现/打款
退款 → 未结算明细冲红;已结算则下期扣或应收回
```
```sql
t_settle_item uk(order_no, sku_line) -- 一笔履约一行
t_settle_bill merchant_id + period -- 账期账单
```
打款:结算单 SUCCESS 才调代付;代付单号稳定,超时查单,见 `pay-refund-channel` 同类「同号重试」。
## 默认方案
日批:把昨日已核销未入明细的订单入 `settle_item`。账期批:PENDING 且 `available_at<=today` 汇总成账单。人工审核或自动打款。
明细保留订单号、核销号、金额分、佣金分,财务可钻取。
## 反例
错误:支付成功就给商家余额++。
正确:履约后才待结算。
错误:结算后 UPDATE 把历史金额改掉。
正确:冲红新行,不动已出账单金额(账单作废走红字单)。
错误:当渠道分账已打给门店,平台再打款一次。
正确:模式互斥或对账扣减。
## 验证
- 核销后未满账期,商家余额不增加。
- 账期内退款,账单金额减少或红字,不出现已打款又全额再打。
- 两门店拆单,各出各的结算明细。
## 评审清单
- [ ] 结算时点是履约不是支付
- [ ] 有账期与账单
- [ ] 退款冲减路径
- [ ] 未与渠道分账双打
---
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.