首页/数据/数仓建模速查/结算事实与账单勾稽
维度与事实设计149 条

结算事实与账单勾稽

结算单事实(账期、主体、应收/已收/差异)+ 明细行:与支付流水按银行流水号勾稽,差异按账期追踪到清零。

数仓建模速查数据更新于 2026-10-13

结算事实与账单勾稽

结算事实通常分两级:结算单头记录账期、结算主体、应收、已收与差异;结算明细行记录流水级明细。明细与支付流水按银行流水号勾稽,差异按账期挂账并追踪到清零。跨期收款必须用「账期 + 到账期」两个时间列,否则归属月份必然出现争议。

基本信息

结构结算单头 + 明细行两级
关键字段账期、结算主体、应收、已收、差异
勾稽键银行流水号或支付单号
双时间列账期(归属)+ 到账期(实际收款)
差异追踪按账期挂账,逐期跟踪直至清零
对接要求与总账科目及对账单据保持一致

典型使用场景

  • 账期对账:按账期核对结算单金额与支付流水金额
  • 差异管理:识别长期挂账的未收款项并推动跟进
  • 跨期收款:上月账单本月到账时正确归入账期
  • 主体对账:按结算主体出对账单,供财务与客户确认
  • 审计支撑:提供从账单到流水的完整勾稽链路

账期差异与勾稽

账期差异与勾稽
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应收减已收挂账跟踪与催收
跨期收款用「账期 + 到账期」双时间列,避免归属月份争议:一个字段同时承担两个含义,最终一定会被财务和资金两方各按自己的理解使用。
结算明细要保留可勾稽的银行流水号:只对到账期和金额做匹配,遇到同日同额多笔时会匹配错乱,人工核对也无法定位。
勾稽要在明细粒度做,不要只在汇总层比金额:汇总数相等可能掩盖一正一负的两笔差错,只有明细逐条匹配才能定位到具体账单与流水号。

易错点

  • 收付差异没有跟踪闭环,长期挂账无人推动,最终变成坏账才知道
  • 到账期与账期混用一个字段,归属错月,财务与资金口径互相打架
  • 明细缺银行流水号,只能按金额匹配,同日同额时勾稽结果错乱
  • 结算单头与明细金额不勾稽,头行不一致时无法判断哪一方为准

数据来源与参考

  • 财务结算实践:账期管理
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌