> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 结算周期与日历

> 结算日期背后的运营规则：UTC+8 的日切、按支付方式划分的结算协议、日 / 周 / 半月 / 月周期类型及各自 T+N 的计算方式、按合并节假日日历的工作日顺延、结算批次、净额为负的周期，以及不顺延的退款备用金结算。

[商户结算](/docs/zh/essentials/merchant-settlement)描述了我们提供的周期（T+1、T+10、
每周）。本页涵盖运营侧：**哪些**交易进入一次结算、资金在**哪个**
日历日到账，以及为什么结算日期过了却没有钱也没有文件。报表
列定义在
[对账报表](/docs/zh/developer-docs/tools-and-references/references/reconciliation-reports)。

## 我的结算日期是如何计算的？

1. **按交易日划定范围。** 结算准备在每个自然日结束后运行，
   拾取**成功时间**落在前一天 `00:00:00`–`23:59:59` **UTC+8** 的交易。
2. **加上合同约定的周期，然后落到工作日。** 对于 T+N 周期，结算日期是
   **T+N 当天或之后的第一个工作日**——工作日来自节假日日历，而不是
   固定的星期规则。

正因如此，Portal 结算批次页面上的日期字段都标注了 `(UTC+8)`。

## 为什么我的交易日合计与你们的差一天？

这是最常见的对账差异，三条规则几乎能解释全部：

| 规则 | 对你数字的影响 |
| - | - |
| 日切是 **UTC+8**，不是你的本地时区 | UTC-5 市场 23:30 的一笔交易属于*下一个* UTC+8 日 |
| 范围使用**成功时间**，不是创建时间 | 第 1 天创建、第 2 天支付的订单随第 2 天结算 |
| 对于退款，成功时间是**退款**成功时间 | 对旧支付的退款落在当前周期，而不是原支付的周期 |

## 为什么同一天的交易在不同日期结算？

结算周期不是单一的商户级设置。结算协议按
**MID + 支付方式**（以及按签约国家）配置，每个都有自己的周期类型（按日或
按周）和延迟天数 **N**、自己的结算币种，以及自己的结算目标
账户。同一天使用的两种支付方式——或同一方式在两个国家——可以
合理地在不同日期、以不同币种结算。

## 我的协议可以采用哪些结算周期？

存在五种周期类型。你采用哪一种，以及随之的延迟天数 **N**，都设置在
你按 MID 和支付方式划分的结算协议上——所以不同的支付方式可以在
不同的周期上。

周期类型同时决定两件事：**哪些交易被归为一组**，以及**延迟
从哪个日期开始计算**。

| 周期类型 | 归为一组的交易 | N 从哪个日期开始计算 |
| - | - | - |
| `DAY` | 一个交易日 | 该交易日 |
| `WEEK` | 周一至周日 | 该周结束的周日 |
| `HALFMONTH` | 1 日至 15 日，或 16 日至月末 | 15 日，或当月最后一天 |
| `MONTH` | 整个日历月 | 该月最后一天 |
| `MONTH_1X` | 整个日历月 | **下一个**月的最后一天 |

结合上面的规则一起读：**N 加到该日期上，然后工作日规则把结果
向后推，直到落在一个工作日上。** 所以 `DAY` 周期上的 T+N 表示交易日
本身之后 N 天；同样的 N 在 `WEEK` 周期上表示该周结束后 N 天。

造成大多数混淆的两点：

* **`MONTH_1X` 归组的交易与 `MONTH` 完全相同。** 区别只在于
  延迟从哪里开始：下一个月的月末而不是交易月的月末，所以在
  相同的 N 下它大约晚一个月打款。
* **在 `DAY` 以外的任何周期上，一次结算覆盖一段日期范围。** 这就是为什么日历的
  `Transaction Period` 显示的是一段范围而不是单个日期，也是为什么你自己的每日合计
  无法与一次结算一一对应。

## 哪些节假日会影响我的结算日期？

不是某一个国家的日历。工作日计算使用你收单合同上为该签约国家
配置的**所有相关国家合并去重后的节假日
日历**，包括周末。如果任何一个相关国家休市，该日期就不是结算日，
结算顺延。

在 Portal 日历中点击非结算日，会以 **Related
Holidays**（*国家 + 节假日名称*）逐条列出原因，而不是一个干巴巴的"Non-settlement Day"标签。只显示已确认的
节假日。

## 我如何阅读和导出结算日历？

日历的主维度是 **Country/Region**——一个单选列表，包含你生效合同覆盖的
国家，以 ISO 3166-1 alpha-3 代码显示，默认选中第一个。
一切都跟随该选择：

* **Regions of Holidays** 只显示所选国家/地区的相关国家。
* 交易日和结算日期（包括顺延的）仅针对该
  国家/地区推导。
* 行显示 **Transaction Period**、**Scheduled Settlement Date** 和 **Actual Settlement Date**。
* 导出生成 `settlement_calendar_[Region]_[YYYYMM].xlsx`，包含同样的三列，
  仅覆盖所选的国家/地区。

日历是一个计划视图，不提供按日期的文件下载——对账报表
附在结算批次上。

**Scheduled Settlement Date (Deferred)** 的存在是因为计划日期是在交易
打包时计算的，之后仍可能变动——节假日日历变化，或负周期
向前滚动。它承载顺延后的结果，这样原始日期和当前预期日期都保持可见。

## 一个结算批次到底是什么？

| 单位 | 粒度 | 对你的意义 |
| - | - | - |
| **结算批次** | 商户 + 计划结算日期 + 结算币种 | 一次结算事件：付给你的资金加上其对账报表 |
| **结算条目** | 上述 + 交易币种 | 批次内的会计单位 |

批次有意跨越国家、支付方式和订单币种。所以如果一个结算日期
涉及**两种结算币种**，你会得到**两个批次**，各有自己的结算明细
和汇总报表。结算批次列表默认显示最近 30 天；批次的详情页
提供其对账报表和交易级导出。

批次内每笔交易按固定的四步顺序清算——如果你要重新计算净额，这一点很重要：
以**订单币种**计费的手续费和税费先扣除，余额转换
为**结算币种**，接着扣除以**其他币种**计费的手续费和税费，
剩下的就是**净结算金额**。

## 结算日期过了，没有钱也没有文件。为什么？

通常是该周期的净额为**负**——退款和拒付超过了支付。此时：

* 该日期没有资金流动，**不会创建结算批次记录**，这也是为什么默认不会
  生成结算报表。
* 负余额被**结转**，与后续周期合并，直到累计净额
  转正；那次结算才会打款。
* 我们**不会动用你的保证金**来覆盖负周期，退款也不会从
  保证金出资。

要区分"没有可结算的"和"文件生成失败"，请让支持在每个计划日期启用
只有表头的占位文件——这是按商户的配置。

## 为什么我退款备用金安排的退款结算无视了节假日日历？

因为这类结算被有意排除在工作日规则之外。

由你的**退款备用金账户**出资的退款——参见
[退款的钱从哪里来](/docs/zh/support/refund-funding-source-faq)——不会净额计入你的
普通结算。它们单独清算，在自己的结算批次中，在自己的
日期上：

| | 普通结算 | 由退款备用金出资的退款结算 |
| - | - | - |
| 日期推导自 | 你结算协议的周期类型和延迟天数 N | 你退款备用金安排的**结束日期加上固定的自然日天数**，按安排中的约定 |
| 相关国家休市时顺延 | **是** | **否**——日历日期不变，无论周末或节假日 |
| 到达 | 你该结算币种的常规结算批次 | 一个独立的结算批次 |

这一例外的原因是，这种结算是在了结一项安排，而不是为一个
交易周期打款。它的日期由你同意的安排固定，所以如果让每个相关
市场的节假日推动它，会使了结日期不可预测——这与
工作日规则为普通结算所要达成的目标恰恰相反。

对账时如何识别它：

* 它是一个**独立的结算批次**，所以同一日期可以同时有一次普通结算和一次
  这种结算。
* 它的交易是退款，不是支付。
* 结算记录上以及其结算汇总和明细文件中的 `Comments` 字段
  会被填写以标记它为退款备用金结算。普通结算上该字段
  为空。

保证金账户本身是什么、其冻结和释放如何计算，在
[保证金](/docs/zh/support/reserve-faq)中——注意**滚动保证金**的释放日期是另一种
计算，按你的合同以工作日或自然日计。

## 一个较早的结算仍未完成。重试按什么顺序进行？

因未结算账户余额不足而无法记账的结算会在
之后的结算运行中重试，按固定顺序：**最早的结算日期优先**，同一日期内
**最大金额优先**，直到连最小的待处理结算也无法覆盖。较晚的
日期不会在未完成的较早日期之前处理——这就是为什么 Portal 记录可能显示
结算日期早于今天却仍然未完成。

***

仍然对不上？[联系支持](mailto:support@waffo.com)，附上结算批次 ID 或
你正在对账的交易日。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.