对做错的会计凭证,SAP 并不提供常规的删除操作,需要通过冲销 (reversal) 的方式来消除数据影响。对会计凭证的冲销,财务有红字冲销和蓝字冲销的概念。假设我们做了一张会计凭证,需要冲销,下图展示了红字冲销和蓝字冲销的效果:
image
可以看到,红字冲销采用的是对会计科目同方向,用负数记账的方式,这种方式从分类账的角度来看,对发生额和余额都没有影响。比如刚才的例子中:招待费用 1800 在红字冲销后,借方发生额和贷方发生额都为 0 ,没有影响。
蓝字冲销是通过将会计科目反方向记账的方式,这种方式对科目余额没有影响,但会影响期间的发生额。比如该例中,在蓝字冲销后,招待费用的借方和贷方发生额都为 1800。在诸多报表从借方发生额和贷方发生额取数的时候,蓝字记账存在问题。
SAP 在录入会计凭时,不允许金额为负数,所以没有办法做到真正意义上的红字冲销,为此,SAP 提供了在冲销的时候,将每一行都标记为反记账 (negative posting) 的机制,从而实现与红字冲销相同的效果。
image
尽管冲销凭证从表面来看,会计科目的方向是相反的,但因为凭证的每一行都有反记账标记,SAP 的汇总数据、标准报表都会把有反记账标记的数据视为方向相反、金额为负的数据,从而保证发生额与红字冲销效果相同。项目中自开发的报表,则需要考虑反记账标识进行合理转换。
反记账的配置
反记账需要做三个配置
公司代码允许反记账。可以从事务码 OBY6 进入:
image
会计凭证类型中定义允许反记账 (事务码 OBA7):
在这里插入图片描述
定义反记账的原因。该配置项用于设置会计凭证冲销的时候是否为反记账,以及是否可以输入一个不同的过账日期(从而允许跨期间冲销)
image
我定义了 Z1、Z2 和 Z3 分别用于蓝字冲销、红字冲销和跨期间红字冲销。
image
会计凭证冲销操作
先做一张会计凭证:
image
然后对该凭证进行冲销,使用事务码 FB08 进入下面的界面。输入要冲销的凭证号码,在冲销原因(Reversal Reason)字段中,选择 Z2。在当前期间冲销,过账日期不用管。
image
然后点击保存按钮,生成冲销的会计凭证。
image
SAP 对原凭证称为被冲销凭证 (Reversed document),对用于冲销的凭证称为冲销凭证 (Reversal document),如果某一个凭证被冲销,或某一个凭证时冲销凭证,在界面上多出了一个 Reversal Document 按钮,可以点击进行相互参照。
在凭证抬头中,记录了冲销凭证和被冲销凭证的相互参照关系。
反记账不影响发生额
不管什么方式冲销,都不会影响科目余额,反记账则既不影响余额,又不影响发生额。刚才的招待费用科目是特意新创建的科目,在录入一张凭证后,招待费用科目的发生额和余额如下 (FAGLB03):
image
做了冲销后,FAGLB03 报表显示如下,借方和贷方的发生额都为 0:
image
反记账凭证的数据表
在会计凭证抬头表 BKPF 表和 行项目表(BS**,比如 BSEG),相关重要字段如下:
image
在 BKPF 表中:
Reverse Document Number (STBLG) 字段互相记录冲销和被冲销凭证号码
XREVERAL 字段,被冲销凭证为 1,冲销凭证为 2
Reason for Reveral (STGRD)字段,被冲销凭证记录冲销原因,冲销凭证为空
在会计凭证的明细表中,比如 BSEG,冲销凭证的 Negative posting indicator (XNEGP) 字段为 X,这个字段对于从明细表中取数据非常重要,如果有反记账标记,需要将该数据看成反方向的负数。我们经常可以在代码中看到下面的片段:
IF ig_data-xnegp = 'X'.
IF ig_data-shkzg = 'S'.
ig_data-shkzg = 'H'.
ELSE.
ig_data-shkzg = 'S'.
ENDIF.
ig_data-dmbtr = -1 * ig_data-dmbtr.
ENDIF.
在 FAGLFLEXA 表中,对于冲销凭证 1000000003,因为凭证有反记账标记,金额记录为负数,方向(DRCRK) 字段为 S 借方。FAGLFLEXT 表,对反记账标记的凭证,按照红字冲销的逻辑进行计算。
会计凭证冲销总结
事务码 FB08 用于单一冲销,FB80 用于批量冲销
FB08 和 FB80 仅用于 FI 手工录入凭证的冲销,不能用于从其他模块(包括固定资产子模块)通过集成生成的会计凭证冲销
如果凭证包含已清账项目,则不能用 FB08 进行冲销,要用 FBRA 重置清账状态并冲销
跨公司交易凭证不能用 FB08 单独冲销,使用 FBU8 进行冲销
固定资产模块的生成的会计凭证用 AB08 冲销
MM 模块的物料凭证生成的会计凭证,使用 MBST 冲销 。MBST 冲销整个物料凭证,MIGO 可以对含有多个行项目的物料凭证冲销某一行
MIRO 发票校验凭证,使用 MR8M 进行冲销
SD 模块发货过账凭证使用 VL09 冲销,如果发货过账已经在系统中开票,要先冲销销售开票,再冲销发货过帐
SD 模块销售开票,用 VF11 进行冲销