红冲是财务领域的概念,成熟的应用场景是税务。红冲的使用频率不高,但每个做库存管理的人都会遇到。在制造业的讨论里经常被误解成退料的另一种叫法,账上做完发现不对就红冲回去。虽然它跟退料在账上的效果几乎一样,但差别在处理的对象…
红冲是财务领域的概念,成熟的应用场景是税务。红冲的使用频率不高,但每个做库存管理的人都会遇到。在制造业的讨论里经常被误解成退料的另一种叫法,账上做完发现不对就红冲回去。虽然它跟退料在账上的效果几乎一样,但差别在处理的对象不同。这篇就讲清楚两者的边界以及红冲在 U9 里的落点和使用约束。
红冲指用一张方向相反的单据,把原来那张单据抵掉。原来的单是正数,红冲单就是负数,两张单在账上互相抵消,净效果等于什么都没发生。
这个做法有明确的会计来源。国家税务总局的公告把红字发票的开具条件列成四类。
开具条件
说明
销售退回
全数退回和部分退回都算
开票有误
不符合发票作废条件的
应税服务中止
服务中止或部分中止
销售折让
价格下调要开红字
表 1 红字发票的四种开具条件
库存单据后来也借用了这个机制。原因很直接,单据一旦审核就不能删除,删除就断了追溯链。用友的做法是出库单通常不支持直接删除,未审核的可以作废或者弃审后删除,已审核的只能通过红字出库单冲销。
SAP 走的是另一条路,用移动类型编号加一做镜像。
正向移动类型
含义
冲销类型
101
收货入库
102
201
成本中心领料
202
261
生产订单发料
倒冲用的就是这个
262
531
生产订单领料
也是倒冲形式
532
表 2 SAP 移动类型的镜像关系
这个规则很整齐,正向编号加一就是冲销编号。SAP 里做冲销的时候通常是原来的单据选冲销,系统自动判断用哪个类型。
这句话是这一篇最核心的判断,第三节会展开。物料是完好的、用掉的、还是报废的,红冲都不关心。它只管这张单要不要留。
发现账错了,第一步不是想红冲,是看凭证有没有生成。这一步决定后面走哪条路。

图 1 一张已审核单据的三条处理路径
三条路径的区别在前提,不在动作。
路径
前提条件
做法
适用性
反审核修改
未过账
凭证未生成
弃审后改数量
或者直接删除
最干净
优先用这一条
红字单冲销
已过账
或凭证已生成
开负数单据抵掉
原单保留可追溯
财务口径
凭证链必须完整
业务单据反向
原单本身没错
是后续业务变了
退料单、报废单
不动原单
多数正常业务
走这一条
表 3 三条路径的前提与做法
第三条路径最容易被忽略。很多业务变化根本不需要红冲,比如工单做完了料没用完要退回来,或者料损坏了要转报废。这两种情况原单都是对的,业务本身产生了新事实,另开一张对应的业务单据就行,动了原单反而把正确的东西改错了。
红冲是纠错手段,不是业务手段。
业务产生了新事实,用业务单据。
单据本身错了,才用红冲。
很多实施问题是把这两件事混在一起了。
结果是要改的业务单被红冲了,真正错的单还留着。
这两个词经常被混着用。账上的效果几乎一样,差别在处理的对象和判断依据。

图 2 红冲与退料的判断路径
对比项
红冲
退料
处理对象
单据
物料
触发条件
这张单要撤销
这批料不在这张工单用了
实物是否动过
不一定
一定退回来
库存方向
增加
增加
已领数量
减少
减少
U9 单据
红字出库单
引用原单号
材料出库单负数行
从订单下推
前提条件
原单存在
且已过账
已领数量
大于 0
表 4 红冲与退料的七项对比
最容易搞错的地方是数量方向和退料的方向。退料扣减的是已领数量,不是库存。库存是增加的。U9 里的动作是材料出库单填负数明细行,负数让线边仓库存增加,同时把工单材料行的已领数量减少。
如果理解成退料要扣减库存,会以为退料是钱货两清的减项,做账务设计的时候方向会搞反。退料在账上是双向的,库存增加,已领数量减少,两边同步。
另一个误解是认为红冲只处理已经投产消耗掉的料。红冲不分物料有没有投产消耗。仓库给 A 工单发了 100 个螺丝,实际这批料是给 B 工单的,系统里 A 工单已经领了 100 个,实物料在线上躺着,一颗没少。这时候红冲 A 工单的出库单,账上库存加回来 100 个,实物从来没有离开过它本来该在的地方。
红冲在制造企业里有五类场景,前三类是纠错,后两类是税务。
场景
触发情形
实物状态
发错工单
料该给B 工单
记到了A 工单
料没动过
数量填错
100 填成 1000
或者少填了
按实际发的算
重复录入
同一批发料
录了两张单
只发了一次
销售退回
客户退回产品
全额或部分
货从客户处回来
采购退货
供应商退货
发票已认证
料从仓库退回
表 5 红冲的五类场景
前三类的判断标准是一样的,单据错了要撤销。后两类走的是税务链条,涉及红字发票的开具,比前三类复杂。
税务场景有一条硬性要求。纸质发票时代需要收回原发票全部联次并注明红冲字样后开具红字发票,无法收回全部联次的,要取得对方有效证明后才能开具。全面数字化电子发票推行之后,这条改成通过发票管理新系统发起红冲,蓝字发票未做用途确认和入账确认的由开票方发起红冲并直接开具红字发票。
这条对库存系统的接口有影响。销售退回和采购退货的单据推送要能携带原发票号,红字单才能关联上,税务系统才认。
在 U9 里做红冲,有五条约束是必须知道的。
约束
具体内容
已审核不能删
出库单已审核的不可删除
只能通过红字单冲销
红字单要引用原单
冲的是哪张单要能追溯
凭证上带原单号
倒冲单不能红冲
倒冲出的材料出库单
不允许改数量和删除
入库倒冲走回退
回退来源产成品入库单
由U9 联动修正
退料有数量前提
订单已领数量大于 0
才允许退料
表 6 U9 里做红冲的五条约束
第三行是这一篇要强调的。倒冲生成的材料出库单不允许修改数量,也不允许删除。这是四种倒冲共同的硬约束,出库倒冲也一样。
这一条直接决定了红冲在倒冲物料上用不了。倒冲物料的数量错了没有红冲这条路,只能回退来源单据或者做倒冲盘点。所以倒冲物料的准确性要靠产出数据和 BOM 准确性来保证,出错之后没有补救手段。
第四行的入库倒冲是唯一的例外。改或者删产成品入库单,倒冲出来的材料出库单会跟着联动。这不是红冲材料出库单,是回退来源单据由 U9 联动处理,效果上相当于纠正,但路径不一样。
红冲这一环容易出四类问题,每类的处理方式不同。
异常
原因
处理方式
红冲后账实更不符
红冲改的是账
料还在线上
实物要另外退料
或者盘点调整
红冲数量超已领
冲销数量大于
原单已领数量
按已领数量封顶
超出部分不做红冲
红字单找不到原单
原单已跨月
或者跨年关闭
按原单所属期间
做红冲
红字发票开不出
原发票联次
收不回来
取得对方有效证明
之后才能开
表 7 红冲的四类异常
第一行是最容易踩的坑。红冲只解决单据问题,不解决实物问题。料已经发到车间了,红冲材料出库单不等于料自己回来了。这两件事要分开做,红冲改账,实物要另外退料或者报废。
红冲做完了,账上库存回来了,实物在线上。账实差异反而更大了。这时候要补一张退料单把实物处理掉,或者等盘点的时候一起调。选哪个看实物在什么状态,能用就走退料,用不了走报废。
第二行和第三行是操作层面的约束。
红冲数量不能超过原单的已领数量。超了就是冲过头了,系统里已领数量会变成负数,账就不对了。设计上要对红冲数量做校验,封顶在原单已领数量。
原单跨月跨年的情况要注意。原单在三月,红冲单在五月做,红冲单属于五月的凭证,冲的是三月的账。这个时间差是正常的,财务按原单所属期间做冲销,凭证上要能看出来源关系。设计接口的时候要把原单期间这个字段传过去,不然报表对不上。
红冲的四种异常里,第一类最常见,也最难在系统里发现。
因为账做对了,库存账也平了,
只有去现场数实物才会发现不对。
所以红冲之后的实物复核不能省。
红冲是低频操作,但它出错的代价不小。规范上要管三件事。
先分清是纠错还是业务。发现账错了先问一句,是单据错了还是业务变了。单据错了走红冲,业务变了走对应的业务单据。这个判断做对了,一半的红冲需求会消失。
红冲要留原因和责任人。红冲单上必须有原因字段和操作人记录。原因分四类,发错工单、数量填错、重复录入、凭证期间错误。有了原因分类,月底统计就知道哪类错得多,是流程问题还是人的问题。
红冲之后必须复核实物。这是管理上最容易漏的一条。系统层面红冲成功了,账实差异可能更大了。制度上要规定红冲单审核后由保管员到现场确认实物状态,能用的走退料,用不了的走报废,不允许挂着。
另外几条通用规律。
优先反审核,审核后才走红字
红字单必须引用原单
红冲只解决单据,不解决实物
红冲数量不能超过原单已领
倒冲物料没有红冲这条路
这几条是所有 ERP 通行的做法,实施的时候按这几条设计就不会错。
还有一条经验性的做法。红冲单尽量在原单所属的会计期间内做,跨期红冲虽然允许,但会让当期报表的存货金额和成本对不上,需要额外的调整说明。系统在提交红冲单的时候做一次期间提示,超过原单期间就要求填原因,让操作人明确知道自己在做什么。
红冲在制造企业里是个低频但关键的动作。做对了它是财务的可追溯保障,做错了它比不做更麻烦,因为账面上看着是对的,问题被掩盖到盘点或者审计才暴露出来。