# 繁花惠 / 优花速达开票

> 开票池范围、票种与出票方、开票快照与金额拆分、物流费取数、申请撤销口径、「为什么没看到」速查表

- 类型：业务口径
- 分类：分销开票
- 更新：2026-11-04
- 网页版：https://doc.xfun.fun/partner-invoice-logic

## 哪些订单能进开票池

同时满足以下条件的订单进入开票池，发票、收据共用这一个池子：

- 分销小程序（繁花惠 / 优花速达）的订单，订单状态为 **已完成**；
- **确认收货满 5 天，且在 95 天内**（没有确认收货时间的订单不进池，测试造数时注意补 confirm_time）；
- **场次 ≥ 2026-10-01**；
- 已生成 **开票快照**（每日任务为确认收货满 5 天的订单生成，见「开票快照」）。

页面上的 30 / 60 / 90 天筛选是在这个池子里再按确认收货时间收窄。

## 票种一览

| 票种 | 内容 | 出票方 | 进入条件 |
|----|----|----|----|
| 花材发票 | 可开票供应商的花材款 | 对应供应商 | 生成快照时该供应商已标记「可开票」 |
| 花材收据 | 未标记可开票供应商的花材款，收据行名「鲜切花」 | 平台出具（分平台盖章） | 供应商未标记可开票 |
| 干线物流费发票 | 订单的物流费（算法见「物流费」） | 捷通公司 | 订单实际使用的 **物流商**已标记「可开票」，且物流费取自真实运费 |
| 物流费收据 | 同上，收据行名「物流-平台服务费」 | 平台出具 | 物流商未标记可开票，或物流费按物流加价兜底 |
| 供应链服务费发票 | 订单的打包服务费 | 花序公司 | 有剩余额度即生成 |
| 平台服务费发票 | 以上都分完后的 **剩余部分** | 花古德公司 | 剩余额度 \> 0 |

两个「可开票」开关都在运营端维护：供应商侧是供应商的可开票标识，物流商侧是物流列表里的「是否可开票」。物流商按 **订单实际发货用的物流商**判断，不是下单页选的那个名字相近的。两个开关都在生成快照时读取，之后再改不影响已生成快照的订单。

## 开票快照

- 订单确认收货满 5 天时，每日任务按当时的数据拆分一次金额并固化；之后运费、可开票状态、售后都不再改变开票金额，申请时只读快照。
- 快照时各票据项之和恒等于用户实付（现金 + 寻梦币，已扣优惠券、满减和快照前的售后退款）。
- 快照之后才发生的售后不再扣减，这是唯一会出现「实开 \> 最终实付」的情况。
- 已经被通用勾选流程申请过、或已开过收据的存量订单，按发货单实际运费固化，保证与已开出的金额一致。

拆分顺序、售后「谁售后扣谁」、优惠券怎么吸收和带数字的例子，见「分销开票金额拆分（方案二·售后扣减）」。

## 金额怎么拆（核心规则）

```text
可开票总额 = 现金实付 + 寻梦币抵扣        （寻梦币按正常付款算）
优惠券 / 满减 / 平台补贴 不算钱，会压缩能开的票
```

按固定顺序分配，每一步都不能超过还剩的额度：

**花材（发票 + 收据）** 各供应商 供货价×数量 − 该供应商承担的发货后售后额；可开票供应商进发票，其余进收据

**物流费** 三者取最小：物流成本、订单物流加价、剩余额度（详见「物流费」）

**供应链服务费** = min(订单打包服务费, 剩余额度)

**平台服务费** = 前面全部分完后的剩余，剩多少开多少

**钱不够时的兜底**：实付连花材都覆盖不了时，先从 **收据**里扣，收据扣到 0 还不够，再按比例压低 **花材发票**。所以快照时永远满足：

```text
花材发票 + 花材收据 + 物流费 + 供应链服务费 + 平台服务费 = 实付（含寻梦币）
```

### 两个真实例子

| 场景 | 数据 | 结果 |
|----|----|----|
| 实付低于供货价 | 实付145.52，供货价 90(可开票)+60(收据)=150 | 发票 90 全额保住，收据 60−4.48= **55.52**，服务费/物流/平台全为 0 |
| 物流加价被剩余额度封顶 | 实付29.90，花材 15+8.8=23.8，加价10.8，运费100 | 物流费 = min(100, 10.8, 剩余6.10) = **6.10** |

## 物流费

1.  **物流成本**：繁花到店（繁花惠订单挂城市仓）取城市仓当场录入的运费，按重量分到该仓当场全部发货单，再分到订单；其余订单取发货单实付运费减补偿/赔付，**不要求物流结算完成**；
2.  发货单级的运费按发货单下全部分销订单的 **物流加价等比分摊**到订单；
3.  取不到物流成本（为 0）时，按订单物流加价兜底，这部分一律开 **收据**；
4.  单笔订单物流费 = min(物流成本, 该订单物流加价, 剩余额度)；
5.  物流商可开票且物流费取自真实运费 → 捷通发票；否则进收据。

物流费的完整口径和繁花包干城市仓订单见「开票物流费与繁花包干」。

## 申请、撤销与记录

- **发票申请**：发票中心按费用类型勾选（花材款 / 供应链服务费 / 干线物流费 / 平台服务费），可按 30 / 60 / 90 天筛选；金额由快照固定，勾选只决定本次开哪些类型，未勾的留在池子里下次再开。花材款只能整体勾选。
- **收据申请**：「去开收据」同样可按费用类型（花材款 / 干线物流费）和时间勾选，与发票侧筛选相互独立。收据按平台各出一张，两行汇总（鲜切花 / 物流-平台服务费），场次文案如「2026.10.04-2026.11.01 共三个场次」。
- **发票撤销**：按申请单撤销，全部票据都未开才可撤；任一票据已开或已被开票平台受理，整单不可撤。撤销后额度回到池子可重新申请。
- **收据不可撤销**（产品口径），开过收据的订单该项不再回池。测试期间造废的收据要清数据才能重开。
- **开票记录**按申请单展示，汇总状态有待商家开票 / 已开发票 / 部分开票 / 已撤销；平台三项每类一张票据，卡片和详情显示真实关联订单数。
- 分组名不带公司前缀（显示「平台服务费」而非「花古德公司-平台服务费」），出票公司在票据详情中展示。
- 逾期：超 30 天未上传变「已逾期」，花店得申请金额 2% 的寻梦币补偿；逾期后补开的票仍带逾期标识。

## 运营端

- **平台开票列表**：平台三项（供应链服务费 / 干线物流费 / 平台服务费）一条票据一行；花材款按申请单聚合成一行，点开看各供应商明细。支持按平台（繁花惠 / 优花速达）筛选，带三格金额汇总；
- **发票申请列表**：可按开票类型 / 所属平台筛选，返回平台字段；
- **物流商管理**：新增 / 编辑物流商时可设置「是否可开票」；
- 平台三项由内部开票公司的供应商账号出票，不进逾期扣款、不发短信。

## 「为什么没看到」速查表

| 现象 | 原因 | 怎么让它出现 |
|----|----|----|
| 整个池子是空的 | 订单没确认收货、确认收货不满 5 天、超过 95 天，或场次早于 2026-10-01 | 走完确认收货并等满 5 天（测试数据可补 confirm_time 后手动跑快照任务） |
| 提交时报「开票金额尚未生成」 | 订单还没有快照 | 等每日快照任务，或测试环境手动执行快照任务 |
| 某供应商花材只在收据里 | 生成快照时该供应商未标「可开票」 | 快照已生成的订单不会再变；之后确认收货的订单按新标记生成 |
| 物流费在收据里 | 物流商未标可开票，或没取到运费、按物流加价兜底 | 核对订单实际用的物流商和发货单运费 |
| 没有物流费 | 订单物流加价为 0 / 实付扣完花材已无剩余 | 逐一核对 |
| 没有服务费 / 平台服务费 | 实付（含寻梦币）扣完花材已经没有剩余 | 下一单不用优惠，实付高于供货价合计 |
| 金额比预期小 | 用了优惠/满减，开票总额被实付封顶，按顺序从后往前砍；或快照前发生了售后 | 属正常口径，快照时票面合计恒等于实付 |
| 订单在别的账号看不到 | 各账号只能看自己的池子 | 用下单账号查看 |
| 开过收据的订单不见了 | 收据不可撤销，该项已被占用 | 属正常口径 |
| 切了 30 天筛选后订单变少 | 时间筛选按确认收货时间收窄 | 切到 90 天或不传 |

依据代码：`PartnerInvoiceLogic`、`PartnerInvoiceSnapshotLogic`、`PartnerLogisticsCostProvider`、`PurchaserReceiptLogic`（xm-bulky-mall-purchaser，bulky-test/purchaser）。
