# 每日预估利润口径

本页定义按需计算的预估利润，不替代次月 15 日才能封账的正式月度利润。查询按当前已入库事实只读计算，源数据维护由管理员单独负责。

## 可计算日期

只有 `无界-商品主体` 中店铺、`15天转化`、主体类型“商品”的推广费已经存在的日期才计算。用户说“过去 N 天”时，以该表最新可用日期为结束日，向前取 N 个自然日；请求区间内推广费尚未出数的日期必须列为跳过，不能用零推广费计算。

### 自然语言时间范围

- “最近 N 天”或“过去 N 天”：以推广费最新完整日为结束日，向前取 N 个自然日，包含首尾两天。
- “YYYY 年 M 月”：取该自然月；若当月尚未完整出数，结束日截到推广费最新完整日并明确说明是不完整月份。
- 只说“M 月份”：取不晚于推广费最新完整日的最近一次该月份。该月份就是最新数据所在月份时，结束日截到最新完整日；否则取完整自然月。
- “本月”：以推广费最新完整日所在月份为准，从月初到该日；“上月”取其前一个完整自然月。
- 明确起止日期优先于相对时间。若用户同时给出互相冲突的两种范围，先请用户确认，不自行拼接。

无论采用哪种说法，最终都必须转成显式 `--start-date` 和 `--end-date`。不得把“最近”解释逻辑塞进 CLI 默认值。

## 商品日公式

`预估利润 = 有效订单实付收入 - 当日已结算退款 - 商品成本 - 预估运费 - 商品推广费 - 平台费 - 税费`

- 收入：旺店通支付日、状态 95 的有效订单，按订单明细分摊到平台商品。
- 退款：`platformStatus=5`、有结算时间且实际退款金额大于零；按结算日计入，不要求匹配回原销售日。优先使用退款明细商品 ID，缺失时用旺店通明细键回查原订单；仍无法归属时保留“无法归属商品的退款/未分配负责人”，不得丢弃。
- 成本：优先旺店通明细商品成本；其次生效且 approved 的 `master.sku_cost_versions` 单位成本乘数量；仍缺失按商品收入 50% 估算，并在结果中披露 fallback 金额。
- 运费：订单全部明细均有 approved 且 `usable_for_profit=true` 的平台 SKU 运费时，按 SKU 估算并汇总；否则整单按 2 元估算。订单运费按商品收入占比分摊，披露 fallback 金额。
- 推广费：`无界-商品主体 / 15天转化 / 商品 / 花费`，按统计日和主体 ID 对应平台商品 ID。
- 平台费：净销售额乘 6%；税费：净销售额乘 2%。费率随本次查询明确返回，比较不同期间须保持同一口径。
- 负责人：按商品和统计日匹配 approved 且生效的 `master.product_owner_versions`。未匹配商品保留“未分配负责人”。店铺总计必须包含该组。

## 稳定命令

```bash
tbcli profit estimate query --shop-key '<店铺键>' --start-date '<开始>' --end-date '<结束>' --group-by '<shop|owner|product|day|month|owner-month>' [--owner '<姓名>' | --owners '<姓名1,姓名2>'] --json
tbcli profit estimate export --shop-key '<店铺键>' --start-date '<开始>' --end-date '<结束>' [--owner '<姓名>' | --owners '<姓名1,姓名2>'] --out '<新文件.xlsx>' --json
```

查询和导出只读取当前事实，支持员工只读账号；需要读取订单、退款、广告及 master 的成本、运费、负责人表。实际费率和日期覆盖随结果返回。系统以只读事务约束执行，超时明确报错，不保证任何范围的复杂联表都瞬间完成。

输出包含收入、退款、净销售、成本、运费、推广费、平台费、税费、预估利润、利润率、商品订单关系数、数量和两类估算金额。商品订单关系数跨商品可能一单多计，不能当店铺唯一订单数。

Excel 为六张中文表：摘要、负责人汇总、负责人月度对比、商品汇总、每日明细、计算规则。全部运营从实际结果发现负责人；“未分配负责人”单独展示，不混入运营合计，但保留在店铺总计中。使用 `owner-month` 做逐月对比，`owner` 是整个区间合计。

## 质量边界

- 先确认订单与退款事实至少覆盖请求区间，并确认 `无界-商品主体` 最新日期；缺失事实明确报告；源数据维护需要管理员授权。
- 退款按当日结算额是用户确认的经营预估口径；正式月度利润仍按订单归属和次月 15 日退款截止另算，两者不能混称。
- 负利润、负净销售或无法归属退款可以是真实结果，不能删除或改成零。
- Excel 必须是新文件，包含摘要、负责人汇总、负责人月度对比、商品汇总、每日明细、计算规则六张工作表；检查文件可打开、所有可见业务字段均为中文、负责人筛选正确、总计能与查询结果对账。
