会议日期:2026-08-19
需求方:5楼财务毋茜茜
编写人:应高
版本:v1.1
场景说明:客户通过线下方式向平台打款,平台需将线下收款按清分公式拆分为各科目,解决"全记担保金"导致的账实不符。
历史线下收款订单(约 3000 笔)未按线上清分逻辑生成分账明细,财务只能把客户线下打款全部记为担保金回款,导致:
担保金回款虚高(实付现金全进担保金,但担保金只需回垫资额)
运费、干线运费、货款等科目无记录
无法按科目对账
典型订单 202608054YT024(不亏不赚场景):
项目 | 金额 | 说明 |
|---|---|---|
客户应付总额 | 11,500 | 运费1000+干线500+优惠券100+货款9900 |
其中现金应付 | 11,400 | 扣除优惠券100(非现金) |
客户实付现金 | 10,400 | 线下打款 |
差额(坏账) | 1,000 | 客户少付,收不回 → 商务费用 |
处理前(错误): 担保金回款 = 10,400(全记担保金,多记 400,运费/干线漏记 1,500)
实际财务操作:
已支付:运费1000+干线500+货款9900,该部分已经计入到“其他应收款(担保金)”
实际现金回款:10400,该部分已经冲减了“其他应收款(担保金)”
差款部分(无论是坏账还是商务)还差1000元,还在“其他应收款(担保金)”应做成本
优惠券部分还在“其他应收款(担保金)”应做成本
后续历史数据处理逻辑
优惠券+亏损+商务-利润就是历史数据的成本
担保金账户最新明细,其中未回款金额减去历史数据(分账表)中的担保金金额之和,应该就是目前实际应收担保金金额
提货单多打款金额,单独出一份数据,进“收入”
复用线上清分公式,为每笔历史线下收款生成分账明细,落库 ord_payment_detail_record 表
只调账,不动资金:历史数据只做总账科目重分类,不触发营销费账户/商家账户的实际资金流(避免历史时点倒挂)
优惠券、商务费用、亏损补贴 在分账明细中记录,但在总账中作为损失/费用入账,不从营销费账户实际支出
货款:客户给商家的钱,不是平台收入,只是借平台通道回流冲抵垫资
担保金回款:平台垫资的回收(= 货款 + 优惠券 + 亏损补贴 + 坏账,凑齐垫资额)
运费、干线运费:平台留存
优惠券、商务费用、亏损补贴:平台承担的损失/费用(非现金,不动营销费账户)
资金类型 | 资金性质 | 是否现金 | 总账归属 |
|---|---|---|---|
运费支付 | 平台代收代付 | 是 | 运费 |
干线运费支付 | 平台代收代付 | 是 | 干线运费 |
货款支付 | 垫资回收来源 | 是(部分) | 担保金回款组成 |
优惠券支付 | 平台损失 | 否(非现金) | 优惠券损失/营销费用 |
亏损补贴 | 平台损失 | 否(非现金) | 亏损补贴/营销费用 |
寄售利润 | 平台利润 | 否 | 寄售利润收入 |
商务费用 | 坏账损失 | 否(非现金) | 坏账损失 |
担保金 | 垫资回收 | — | 担保金回款(= 垫资额) |
仓储费 平台代收代付 是 仓储费
基础数据: 发货单成本 10,000 元,单价 1,000 元/吨,10 吨,末端运费 1,000 元,使用 100 元优惠券
资金类型 | 金额 | 资金性质 | 现金/非现金 |
|---|---|---|---|
运费支付 | 1,000 | 平台收入 | 现金 |
干线运费支付 | 500 | 平台收入 | 现金 |
优惠券支付 | 100 | 平台损失 | 非现金 |
货款支付 | 9,900 | 垫资回收来源 | 现金(实付 8,900) |
亏损补贴 | 0 | — | — |
商务费用 | 1,000 | 坏账 | 非现金 |
担保金 | 10,000 | 垫资全额回收 | — |
平衡验证:
应付总额 = 1,000 + 500 + 100 + 9,900 = 11,500
现金应付 = 11,500 - 100(优惠券)= 11,400
实付现金 = 10,400
坏账 = 11,400 - 10,400 = 1,000(商务费用)
担保金回款 = 货款现金 8,900 + 坏账 1,000 + 优惠券 100 = 10,000 ✓
平台总账:
担保金回款 10,000 + 运费 1,000 + 干线 500
- 坏账 1,000 - 优惠券 100
= 10,400 = 实收现金 ✓基础数据: 同上,售价低于垫资单价产生亏损
资金类型 | 金额 | 资金性质 | 现金/非现金 |
|---|---|---|---|
运费支付 | 1,000 | 平台收入 | 现金 |
干线运费支付 | 500 | 平台收入 | 现金 |
优惠券支付 | 100 | 平台损失 | 非现金 |
货款支付 | 9,000 | 垫资回收来源 | 现金(实付 8,000) |
亏损补贴 | 900 | 平台损失 | 非现金 |
商务费用 | 1,000 | 坏账 | 非现金 |
担保金 | 10,000 | 垫资全额回收 | — |
平衡验证:
应付总额 = 1,000 + 500 + 100 + 9,000 = 10,600
现金应付 = 10,500
实付现金 = 9,500
坏账 = 1,000
担保金回款 = 货款现金 8,000 + 坏账 1,000 + 优惠券 100 + 亏损补贴 900 = 10,000 ✓
平台总账:
担保金回款 10,000 + 运费 1,000 + 干线 500
- 坏账 1,000 - 优惠券 100 - 亏损补贴 900
= 9,500 = 实收现金 ✓基础数据: 同上,售价高于垫资单价产生盈利
资金类型 | 金额 | 资金性质 | 现金/非现金 |
|---|---|---|---|
运费支付 | 1,000 | 平台收入 | 现金 |
干线运费支付 | 500 | 平台收入 | 现金 |
优惠券支付 | 100 | 平台损失 | 非现金 |
货款支付 | 10,000 | 垫资回收来源 | 现金(实付 9,000) |
寄售利润 | 100 | 平台利润 | 非现金 |
商务费用 | 1,000 | 坏账 | 非现金 |
担保金 | 10,000 | 垫资全额回收 | — |
平衡验证:
应付总额 = 1,000 + 500 + 100 + 10,000 = 11,600
现金应付 = 11,500
实付现金 = 10,500
坏账 = 1,000
担保金回款 = 货款现金 9,000 + 坏账 1,000 = 10,000 ✓
(优惠券 100 由寄售利润 100 抵消,平台净影响 0)
平台总账:
担保金回款 10,000 + 运费 1,000 + 干线 500 + 寄售利润 100
- 坏账 1,000 - 优惠券 100
= 10,500 = 实收现金 ✓线下收款金额:10,400 元
收款时间:2026/5/5
关联提货单:202608054YT024
关联发货单:FHY2026080527
类型:商务费用(差款类商务/其他,待确认子类)
金额:1,000 元
含义:客户少付、收不回的部分
系统识别到商务费用记录后,按 R3 + R4 生成以下科目并落库 ord_payment_detail_record:
运费支付 1,000
干线运费支付 500
优惠券支付 100
货款支付 9,900
亏损补贴 0
商务费用 1,000
担保金 10,000(发货单侧)总账科目 | 处理前 | 处理后 | 调整方向 |
|---|---|---|---|
担保金回款 | 10,400 | 10,000 | 冲减 400 |
运费收入 | 0 | 1,000 | 补记 |
干线运费收入 | 0 | 500 | 补记 |
坏账损失 | 0 | 1,000 | 补记 |
优惠券损失 | 0 | 100 | 补记 |
实收现金 | 10,400 | 10,400 | 不变 |
营销费账户:不发生实际支出(优惠券 100、商务费用 1,000、亏损补贴 900 只在总账记账,不从营销费账户划款)
商家账户:不发生实际资金流转(历史数据,避免时点倒挂)
说明:提货单场景中,客户付款后担保金回款落在发货单侧,按 PRD 10.5 规则处理。
发货单 FHY2026080527(商家:周明):
字段 | 金额 | 说明 |
|---|---|---|
担保金(垫资) | 10,000 | 平台垫付 |
线下收款金额 | 9,000 | 客户付货款现金部分 |
多打款金额 | 0 | — |
少打款金额 | 1,000 | 客户少付 → 商务费用 |
线下实收金额 | 9,000 | 线下收款 + 多打款 |
担保金回款 | 10,000 | = 线下收款 9,000 + 少打款 1,000 |
少打款 1,000 中:900 为坏账(商务费用),100 为优惠券(平台承担)。担保金按垫资全额 10,000 回收。
场景说明:发货单修改或关闭时,商家向平台退款(资金方向与提货单场景相反),系统记录退款数据,财务据此做总账处理。
平台已垫资 40 吨 × 1,000 元/吨 = 40,000 元给商家(应收垫资/担保金)
退回 5 吨,商家应退 5,000 元给平台
商家少打 100 元 → 实退 4,900 元
商家多打 100 元 → 实退 5,100 元
发货单号 | 线下实际回款金额 | 多打款金额 | 少打款金额 |
|---|---|---|---|
FHY... | 4,900 | 0 | 100(少打) |
FHY... | 5,100 | 110(多打) | 0 |
多打款金额减去少打款金额,如果是正的就进“收入”,如果是负,成本增加
应退回金额 = 4,900 + 100 = 5,000
担保金调整 = -5,000(应收垫资减少,货退回)
现金增加 = +4,900
损失 = 100(商家少退,收不回)
验证:现金 4,900 + 损失 100 = 5,000 = 担保金减少 ✓总账分录:
借:现金 4,900
借:损失(少打款) 100
贷:应收垫资/担保金 5,000应退回金额 = 5,100 - 100 = 5,000
担保金调整 = -5,000
现金增加 = +5,100
应付 = 100(多收的,欠商家)
验证:现金 5,100 - 应付 100 = 5,000 = 担保金减少 ✓总账分录:
借:现金 5,100
贷:应收垫资/担保金 5,000
贷:应付商家款 100从系统记录的 4 个字段可推导出所有总账科目:
总账科目 | 推导方式 |
|---|---|
现金 | = 线下实际回款金额 |
应收垫资调整(担保金) | = 线下实际回款金额 + 少打款金额 - 多打款金额 |
损失(少打款) | = 少打款金额 |
应付商家款(多打款) | = 多打款金额 |
维度 | 提货单场景(客户付平台) | 发货单场景(商家退平台) |
|---|---|---|
资金方向 | 客户 → 平台(现金流入) | 商家 → 平台(退款流入) |
担保金方向 | 担保金回收(应收垫资减少) | 担保金减少(货退回,垫资冲减) |
少打款性质 | 客户坏账 | 商家少退(损失) |
多打款性质 | 客户多付(需退/抵扣) | 商家多退(平台欠商家) |
方向相反,但科目处理逻辑对称。
客户少付/商家少退、收不回来的差额,总账走哪个科目?
选项 A:走"商务费用"科目(与 PRD R4/R6 现有口径一致,当坏账核销)
选项 B:走"坏账损失/营业外支出"科目,商务费用科目只保留实付的特定类型款项
优惠券 100 元(平台承担、不动营销费账户),总账走哪个科目?
选项 A:走"营销费用"科目(仅记账,不实际从营销费账户支出)
选项 B:走"销售折扣/收入冲减"科目
担保金回款按"垫资全额 10,000"记,还是按"客户实付货款现金"记?
推荐按垫资全额 10,000 记(与图片数据一致,差额由坏账+优惠券+亏损补贴补齐)
历史数据的分账明细不触发资金流,是否需要在 ord_payment_detail_record 表加字段区分?
选项 A:加"记录类型"字段(FUND_FLOW / RECONCILE_ONLY)
选项 B:不加,财务对账时自行区分
商家多打的 100 元是平台应付账款(不是收入),后续是退还商家还是抵扣下次结算?需明确,否则会挂账。
系统目前只记实退、多打、少打,没记应退回金额(5,000)。建议补记,财务不用反推,且能一眼核对差异。
维度 | 提货单场景 | 发货单场景 |
|---|---|---|
资金方向 | 客户 → 平台 | 商家 → 平台 |
分账明细 | 按清分公式生成,含运费/干线/优惠券/货款/亏损/商务费用/担保金 | 记录实退/多打/少打 |
总账调整 | 科目重分类,实收现金不变 | 担保金冲减,差额记损失或应付 |
营销费账户 | 不动(历史数据只调账) | 不涉及 |
商家账户 | 不动(避免历史时点倒挂) | 多打款挂应付,后续退还或抵扣 |
担保金 | 按垫资全额回收,差额由坏账+优惠券+亏损补贴补齐 | 按应退回金额冲减,差额由少打(损失)或多打(应付)调整 |
坏账处理 | 商务费用科目或坏账损失科目(待确认) | 与提货单侧统一口径(待确认) |
两个场景在平台总账视角下均可对平,且不引入历史时点倒挂的资金流问题。