结算事实与账单勾稽
结算事实通常分两级:结算单头记录账期、结算主体、应收、已收与差异;结算明细行记录流水级明细。明细与支付流水按银行流水号勾稽,差异按账期挂账并追踪到清零。跨期收款必须用「账期 + 到账期」两个时间列,否则归属月份必然出现争议。
基本信息
| 结构 | 结算单头 + 明细行两级 |
|---|---|
| 关键字段 | 账期、结算主体、应收、已收、差异 |
| 勾稽键 | 银行流水号或支付单号 |
| 双时间列 | 账期(归属)+ 到账期(实际收款) |
| 差异追踪 | 按账期挂账,逐期跟踪直至清零 |
| 对接要求 | 与总账科目及对账单据保持一致 |
典型使用场景
- 账期对账:按账期核对结算单金额与支付流水金额
- 差异管理:识别长期挂账的未收款项并推动跟进
- 跨期收款:上月账单本月到账时正确归入账期
- 主体对账:按结算主体出对账单,供财务与客户确认
- 审计支撑:提供从账单到流水的完整勾稽链路
账期差异与勾稽
账期差异与勾稽
SELECT period,
sum(receivable) AS receivable,
sum(received) AS received,
sum(receivable) - sum(received) AS open_diff
FROM fact_settlement
GROUP BY period
HAVING sum(receivable) - sum(received) <> 0; -- 只列出未清零的账期
SELECT d.bill_no, d.settle_period, d.receive_period, d.amt, p.bank_serial -- 账期与到账期分列,避免归属争议
FROM fact_settlement_detail d
LEFT JOIN fact_payment p ON d.bank_serial = p.bank_serial
WHERE d.bank_serial IS NULL; -- 明细找不到对应流水,即为待勾稽项两列时间的不同用途
| 字段 | 含义 | 用途 |
|---|---|---|
| settle_period | 账期归属月 | 财务报表按账期确认收入 |
| receive_period | 实际到账月 | 资金流与现金流分析 |
| open_diff | 应收减已收 | 挂账跟踪与催收 |
跨期收款用「账期 + 到账期」双时间列,避免归属月份争议:一个字段同时承担两个含义,最终一定会被财务和资金两方各按自己的理解使用。
结算明细要保留可勾稽的银行流水号:只对到账期和金额做匹配,遇到同日同额多笔时会匹配错乱,人工核对也无法定位。
勾稽要在明细粒度做,不要只在汇总层比金额:汇总数相等可能掩盖一正一负的两笔差错,只有明细逐条匹配才能定位到具体账单与流水号。