系统默认的是标准冲销(Standard Reverse),标准冲销是指冲销时生成的凭证与被冲销的凭证借贷相反。
即 原凭证为: 借: 管理费用 1000
贷:现金 1000
冲销凭证为: 借:现金 1000
贷:管理费用 1000
标准冲销方式是从相反的方向冲销,而我们国人做会计的习惯是红字冲销,即在那方发生的就要那方冲销,红字冲销凭证如下:
红字冲销凭证: 借:管理费用 -1000
贷:现金 -1000
红字冲销的好处是在做损益报表的时候取损益类科目的实际损益发生额时,实施损益发生额与损益类科目的借/贷方发生额一致。(不至于出现虚高发生额)
这一点和国内软件不一样SAP是没有这个功能的。不像国内的财务软件在凭证处理时是可以录入负数的(即红冲凭证),而在SAP中不能录入负数凭证,那如何实现红冲凭证呢?SAP中提供了反记账功能,有点类似红冲凭证。
上例中录入的凭证就实现了凭证的红字冲回。借贷方发生额=实际损益发生额。
启用负记账功能我们需要首先配置系统:
1. 配置公司代码允许负数凭证过账
SPRO路径:SPRO->财务会计->总账会计->业务交易->调整过账/冲销->允许负值记账
2. 配置相应的document type允许负数凭证过账(OBA7)
OK,现在可以去做那张红冲凭证了。
反记账凭证的数据表
在会计凭证抬头表 BKPF 表和 行项目表(BS**,比如 BSEG),相关重要字段如下:
在 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 表,对反记账标记的凭证,按照红字冲销的逻辑进行计算。