首页/数据/数仓建模速查/数据更正与红冲
维度与事实设计149 条

数据更正与红冲

错误已入账的数据用红冲(负记录)+ 正确记录处理:保持流水完整可审计;直接改数会破坏对账与审计链。

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

数据更正与红冲

已经入账的错误数据不要直接修改:通行做法是红冲加补记——先写一条等额负记录冲销原值,再写一条正确记录,两条成对出现且能追溯到被冲销的原始凭证。明细层永远保留原始与冲销两条记录,报表层用求和自动抵消。这样流水完整、可审计,也经得起外部对账。

基本信息

红冲等额负记录冲销原值,注明冲销对象
补记写入正确的记录,注明更正来源
成对约束红冲与补记成对出现,缺一不可
追溯字段reversal_of 指向被冲销的凭证号
报表处理报表层直接用 sum 自动抵消
适用域财务总账、库存、积分、结算流水

典型使用场景

  • 财务错账:凭证金额录错,用红冲加补记更正,保留原始凭证
  • 库存冲销:盘点差错导致的出入库记录,用反向流水冲销
  • 积分调整:积分发放错误时用负向流水冲销后重新发放
  • 结算更正:结算单金额有误,红冲后按正确金额重新出单
  • 审计追溯:审计方需要看到原值、冲销记录与更正后的结果三条线索

红冲与补记

红冲与补记
-- 冲销错误记录:金额取负,备注注明冲销对象
INSERT INTO fact_gl (voucher_id, dr_amt, cr_amt, memo, reversal_of)
VALUES ('RV-1', 0, 100.00, '红冲 V-9', 'V-9');
-- 补记正确记录:写入正确金额,注明来源
INSERT INTO fact_gl (voucher_id, dr_amt, cr_amt, memo, reversal_of)
VALUES ('V-10', 100.00, 0, '更正 V-9', 'V-9');   -- 报表层 sum 后净额为 0,明细仍可逐条追溯

更正方式对照

方式做法后果
红冲 + 补记新增两条记录流水完整,可审计、可追溯
直接 update覆盖原值审计断链,无法还原原始金额
只红冲不补记只写负记录净额长期错误,账实不符
物理删除删除错误行对账差异无法解释
报表层用 sum 自动抵消,明细层永远保留原始与冲销两条记录;如果报表里看不到红冲记录,说明报表层已经做了过滤,需要确认过滤条件是否会掩盖真实差错。
红冲要有权限与审批:谁在什么时间因为什么原因冲销了哪张凭证,这些信息必须留痕,否则红冲本身会成为掩盖问题的工具。

易错点

  • 直接 update 原记录,审计断链,无法证明更正前的金额
  • 只红冲不补记,净额长期错误,账实差异越积越大
  • 红冲记录不带冲销对象,事后无法判断冲的是哪一条原始记录
  • 报表层过滤掉负记录,红冲被隐藏,差错看起来从未发生

数据来源与参考

  • 财务信息化实践:红冲与更正
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌