美文网首页
SAP FI 系列 008: 会计科目设置要点总结

SAP FI 系列 008: 会计科目设置要点总结

作者: Stone0823 | 来源:发表于2020-04-11 15:40 被阅读0次

    在设置会计科目表的时候,对科目清单中的科目,需要有一个严谨的设计,既要考虑账务处理的要求,也要满足 SAP 技术上的要求。本篇总结会计科目在 SAP 技术上的一些要点。

    会计科目设置时考虑因素

    从技术上来说,要考虑如下因素:

    • 哪些科目需要设置未清项目管理 (open item manangement)
    • 哪些科目须设为自动过账科目
    • 字段状态码,为减少工作量,尽可能使用 SAP 标准字段状态码,比如 G045 - GR/IR,G067 - 统驭科目
    • 损益科目中,哪些科目需要设为成本要素?哪些科目不能设为成本要素科目?

    重要科目说明

    固定资产清理科目

    SAP 要求固定资产清理科目( Fixed asset clearing) 为损益科目,但不能为成本要素。按中国会计科目体系,固定资产清理科目为资产负债表科目,与 SAP 系统的要求不一致。

    解决办法:

    • 第一个方法:按 SAP 要求,将固定资产清理科目作为损益科目。这种方法有两个问题,一般情况下损益科目与资产类科目的编号范围不一致,这样固定资产清理科目放在损益科目中,与固定资产科目不在一起。第二个问题是,损益科目每年结转的时候,科目余额结转至留存收益。尽管固定资产清理是一个中间科目,但这也会导致问题。所以实务中并不多见。
    • 第二个方法:将固定资产清理科目作为资产负债表科目,但需要在创建科目钱,用 OBA5 将 AC305/ AC306 消息改为警告,创建完成之后再修改回去。

    GR/IR

    GR/IR 科目是 SAP 用于采购收货和发票校验的中间科目,该科目有如下要求:

    • 本位币余额
    • Open item management
    • 系统自动记账
    • SAP 提供了一个专门字段状态变式 G045

    生产成本

    西方会计为损益科目,中国一般设为资产负债表科目。

    生产成本-在制品转出

    SAP 生产成本科目是作为损益科目的,中国一般是作为存货类科目,作为存货的一部分。生产成本-在制品转出科目用于月末结转在制品,这个科目不能设成本要素,否则月结出现错误。

    不必设为成本要素的损益科目

    以下科目可考虑不设成本要素:

    • 主营业务成本: 主营业务成本科目以及主营业务成本差异科目,可以不设为成本要素
    • 营业税 / 消费税 / 城建税 / 教育费附加/ 资源税等一般不设为成本要素
    • 财务费用: 一般不设成本要素
    • 固定资产减值损失: 固定资产减值损失,固定资产处置损益可以不设成本要素

    会计科目清单报表

    为了方便对会计科目的字段属性进行检查,我编写了如下程序对科目的重要字段进行检查。也可用于展示科目表,可供参考。

    REPORT  z_cocd_gl_list.
    
    TABLES: ska1.
    
    * For ALV
    DATA: gr_salv_table TYPE REF TO cl_salv_table.
    
    * ALV toolbar
    DATA: gr_functions TYPE REF TO cl_salv_functions_list.
    
    * Layout settings
    DATA: gr_layout TYPE REF TO cl_salv_layout,
          layout_key TYPE salv_s_layout_key.
    
    * AVL columns
    DATA: gr_columns TYPE REF TO cl_salv_columns_table,
          gr_column  TYPE REF TO cl_salv_column_table.
    
    * Define a structure representing Company code COA
    TYPES: BEGIN OF ty_coa,
            ktopl  LIKE ska1-ktopl,       " Chart of account
            bukrs  LIKE skb1-bukrs,       " Company code
            saknr  LIKE ska1-saknr,       " G/L account number
            bilkt  LIKE ska1-bilkt,       " Group account number
            altkt  LIKE skb1-altkt,       " Alternative account number
            xbilk  LIKE ska1-xbilk,       " Is B/S account
            gvtyp  LIKE ska1-gvtyp,       " Is P/L account
            ktoks  LIKE ska1-ktoks,       " Account group
            mwskz  LIKE skb1-mwskz,       " Tax category
            xmwno  LIKE skb1-xmwno,       " Indicator: Tax code is not a required field
            fstag  LIKE skb1-fstag,       " Field status group
            mitkz  LIKE skb1-mitkz,       " Is recon. account
            waers  LIKE skb1-waers,       " Currency
            xsalh  LIKE skb1-xsalh,       " Only balances in local curreny
            xintb  LIKE skb1-xintb,       " Post systematically
            xkres  LIKE skb1-xkres,       " Display line items
            xopvw  LIKE skb1-xopvw,       " Open item management
            zuawa  LIKE skb1-zuawa,       " Sort key
            txt20c LIKE skat-txt20,       " Short text in Chinese
            txt50c LIKE skat-txt50,       " Text-Chinese
            txt20e LIKE skat-txt20,       " Short text in English
            txt50e LIKE skat-txt50,       " Text-English
          END OF ty_coa.
    
    DATA: gt_coa TYPE STANDARD TABLE OF ty_coa,
          gs_coa LIKE LINE OF gt_coa.
    
    * Selection screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    
    PARAMETERS: p_bukrs LIKE t001-bukrs.  " company code
    SELECT-OPTIONS:
      s_saknr FOR ska1-saknr.  " account number
    
    SELECTION-SCREEN END OF BLOCK b1.
    
    START-OF-SELECTION.
      PERFORM get_data.
      IF NOT gt_coa IS INITIAL.
        PERFORM disp_data.
      ELSE.
        WRITE 'No data is found.'.
      ENDIF.
    
    FORM get_data.
      DATA: l_ktopl LIKE t001-ktopl.  " chart of account ID
      DATA: ls_cocd_detail LIKE bapi0002_2.
    
    * Get chart of account from company code
      CALL FUNCTION 'BAPI_COMPANYCODE_GETDETAIL'
        EXPORTING
          companycodeid      = p_bukrs
        IMPORTING
          companycode_detail = ls_cocd_detail.
    
      IF sy-subrc = 0.
        l_ktopl = ls_cocd_detail-chrt_accts.
      ENDIF.
    
    * Get chart of account for given company code
      SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_coa
        FROM ska1
        INNER JOIN skb1 ON ska1~saknr = skb1~saknr
        WHERE ska1~ktopl = l_ktopl   " chart of account
        AND   skb1~bukrs = p_bukrs   " company code
        AND   ska1~saknr IN s_saknr. " account number
    
    * Adding languages
      LOOP AT gt_coa INTO gs_coa.
        SELECT SINGLE txt20 txt50 INTO (gs_coa-txt20c, gs_coa-txt50c)
          FROM skat
          WHERE ktopl = l_ktopl        " chart of account
          AND   saknr = gs_coa-saknr   " account number
          AND   spras = '1'.           " language for Simplified Chinese
    
        SELECT SINGLE txt20 txt50 INTO (gs_coa-txt20e, gs_coa-txt50e)
          FROM skat
          WHERE ktopl = l_ktopl
          AND   saknr = gs_coa-saknr
          AND spras = 'E'.  " langugae for English
    
        MODIFY gt_coa FROM gs_coa.
        CLEAR gs_coa.
      ENDLOOP.
    ENDFORM.                    "get_data
    
    FORM disp_data.
    *  TRY.
      CALL METHOD cl_salv_table=>factory
    *    EXPORTING
    *      LIST_DISPLAY   = IF_SALV_C_BOOL_SAP=>FALSE
    *      R_CONTAINER    =
    *      CONTAINER_NAME =
        IMPORTING
          r_salv_table   = gr_salv_table
        CHANGING
          t_table        = gt_coa .
    *   CATCH CX_SALV_MSG .
    *  ENDTRY.
    
    * ALV toolbar
      gr_functions = gr_salv_table->get_functions( ).
      gr_functions->set_all( ).
    
    * ALV layout settings
      gr_layout = gr_salv_table->get_layout( ).
      layout_key-report = sy-repid.
      gr_layout->set_key( layout_key ).
    
      gr_layout->set_save_restriction( cl_salv_layout=>restrict_none ).
    
    * Set column description for languages
      gr_columns = gr_salv_table->get_columns( ).
    
    * 设置科目描述(短文)-ZH
      gr_column ?= gr_columns->get_column( 'TXT20C' ).
      gr_column->set_long_text( '科目短文(中)' ).
      gr_column->set_medium_text( '科目短文(中)' ).
      gr_column->set_short_text( '科目短文(中)' ).
    
    * 设置科目描述-ZH
      gr_column ?= gr_columns->get_column( 'TXT50C' ).
      gr_column->set_long_text( '科目中文' ).
      gr_column->set_medium_text( '科目中文' ).
      gr_column->set_short_text( '科目中文' ).
    
    * 设置科目描述(短文)-EN
      gr_column ?= gr_columns->get_column( 'TXT20E' ).
      gr_column->set_long_text( '科目短文(英)' ).
      gr_column->set_medium_text( '科目短文(英)' ).
      gr_column->set_short_text( '科目短文(英)' ).
    
    * 设置科目描述-ZH
      gr_column ?= gr_columns->get_column( 'TXT50E' ).
      gr_column->set_long_text( '科目英文' ).
      gr_column->set_medium_text( '科目英文' ).
      gr_column->set_short_text( '科目英文' ).
    
    * 显示ALV
      gr_salv_table->display( ).
    
    ENDFORM.  
    

    相关文章

      网友评论

          本文标题:SAP FI 系列 008: 会计科目设置要点总结

          本文链接:https://www.haomeiwen.com/subject/xdzymhtx.html