业务口径分销开票

繁花惠 / 优花速达开票

票种与出票方、金额拆分与封顶规则、物流费算法、申请撤销口径、「为什么没看到」速查表、拍板时间线

更新
2026-09-20

Markdown 原文(给 AI 用):https://doc.xfun.fun/partner-invoice-logic.md

哪些订单能进开票池

票种一览

票种内容出票方进入条件
花材发票可开票供应商的花材款,按 供货价×数量对应供应商该供应商已标记「可开票」
花材收据未标记可开票供应商的花材款平台出具(分平台盖章)供应商未标记可开票
干线物流费发票订单的物流费(算法见「物流费专项」)捷通公司订单实际使用的 物流商已标记「可开票」
物流费收据同上平台出具物流商未标记可开票
供应链服务费发票订单的打包服务费花序公司有剩余额度即生成
平台服务费发票以上都分完后的 剩余部分花古德公司剩余额度 > 0

两个「可开票」开关都在运营端维护:供应商侧是商品/供应商的可开票标识,物流商侧是物流列表里的「是否可开票」。注意物流商是按 订单实际发货用的物流商判断,不是下单页选的那个名字相近的。

金额怎么拆(核心规则)

一切从「这单实际付了多少钱」出发:

text
可开票总额 = 现金实付 + 寻梦币抵扣        (寻梦币按正常付款算,9-18 拍板)
优惠券 / 满减 / 平台补贴 不算钱,会等比压缩能开的票

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

花材(发票 + 收据) 按各供应商供货价×数量;可开票供应商进发票,其余进收据

物流费 三者取最小:实际运费、订单物流加价、剩余额度(详见「物流费专项」)

供应链服务费 = 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. 实际运费取发货单的实付运费减赔付,不要求物流结算完成(9-18 拍板:录了运费就能用);
  2. 运费是发货单级的,同一发货单下多笔订单按各自的 物流加价等比分摊;
  3. 已开过物流票的部分从发货单额度里扣掉,同一发货单不会开两遍;
  4. 单笔订单票面 = min(分摊到的实际运费, 该订单物流加价, 剩余额度);
  5. 物流商可开票 → 捷通发票;不可开票 → 进收据;运费超过加价的部分本来就开不出,加价超过实付剩余的部分计入不了。

申请、撤销与记录

运营端

「为什么没看到」速查表

测试期间实际遇到的全部案例,产品和测试可按这张表自查:

现象原因怎么让它出现
整个池子是空的订单没确认收货,或超过 3 个月走完确认收货,测试数据补 confirm_time
某供应商花材只在收据里该供应商未标「可开票」运营端标记后重新看
没有物流费发货单没录运费 / 订单物流加价为 0 / 实付剩余为 0 / 物流商未标可开票(注意认准订单实际用的那家)四个条件逐一核对
没有服务费 / 平台服务费实付(含寻梦币)扣完花材已经没有剩余下一单不用优惠,实付高于供货价合计
金额比预期小用了优惠/满减,开票总额被实付封顶,按顺序从后往前砍属正常口径,票面合计恒等于实付
订单在别的账号看不到各账号只能看自己的池子用下单账号查看
开过收据的订单不见了收据不可撤销,订单已被占用属正常口径

本轮测试确认的口径(时间线)

日期拍板内容
09-09发票与收据可以分开申请;收据只装不可开票部分
09-18寻梦币按正常付款计入可开票总额(不是优惠券)
09-18票据分组名去掉「XX公司-」前缀
09-18平台项卡片显示真实订单数(原固定为 1)
09-18物流费不再要求发货单已结算,录入运费即可用
说明

一个已知风险(物流费不等结算的代价):未结算的运费金额没有写保护,结算被驳回时金额会清零,但先开出去的票不会回滚。产品已知悉并接受。

依据测试环境当前部署版本整理(purchaser / admin 均为 9-18 之后的构建)。数据示例均来自本轮真实测试订单。