搜档网
当前位置:搜档网 › SAP 固定资产的配置与逻辑

SAP 固定资产的配置与逻辑

Asset Accounting

1资产折旧

R/3 AM资产模块涵盖了所有主要工业国家在资产价值评估方面的要求,可以轻松处理资产购置、转移、折旧、重估、清理、盘点、报废等各项业务, R/3将折旧分为三大类,如下图:

(1).普通折旧:资产在每折旧期间按主数据中设置的使用年限和对应折旧码进行的普通折旧。

(2).特殊折旧/计划外折旧:用来做相应的折旧调整的两类折旧方式, 比如可以将计划外折

旧设置为计提资产减值准备的解决方案,这种处理方案将计提资产减值准备作为加速折旧处理,严格地讲,和国内资产会计准则不大相符,计提资产减值准备实际上可使用AM模块的资产负债表重估(Tcode:ABAW,重估后和折旧调整一样,也是在正式运行折旧Tcode:AFAB后才能过帐到财务模块);特殊折旧也是手工调整折旧的一种方式。

上图-[1][2][3]“确定折旧范围”设置中,可以定义各种折旧允许的折旧金额的正负方向,系统默认是“仅允许有负值和零值”,意思是折旧费用只做作为最终资产帐面价值的负(减)项,对于计划外折旧,如果用于处理资产减值损失处理,新准则规定,计提资产减值准备不得转回,使用默认设置则可防止计划外折旧被转回。但是,特殊折旧如果“仅允许有负值和零值”,则特殊调整折旧只能调增,不能调减,这样有个问题,假设有个暂估资产折旧多计提了,R/3禁止允许冲销折旧凭证,而特殊调整又不允许折旧调减,就比较麻烦,所以,通常建议特殊折旧最好设置折旧”允许所有值”。

如上图,对于特殊折旧,选择“允许的所有值”,则对折旧可同时调增或调减。其实,只提供一个“允许的所有值”,用户想怎样正反折旧都行,如果这样,连此步配置都不需,SAP 之所以复杂,这乃原因之一。

注:1.所有的折旧范围都需要如此设置,否则会出现各折旧范围不同步的问题。

2.和折旧允许值类型一样,资产原值也存在一个允许帐面为负值问题。

如上图,是Tcode:AW01N浏览资产器的界面,资产的价值被划分为APC业务/重新评估(ABAW)/常规折旧/特殊折旧等多个值范围,以便出具复杂的资产报表;使用资产业务类型ZJ7/ZJ9进行折旧调整,调整金额为调减折旧111元(即增加资产最后帐面净值)。

1.1 资产业务类型定义(Tcode:AO78)

如上图,ZJ9/ZJ7属于同一个业务类型组62,资产业务类型组是R/3资产模块内定的,这个不能配置,资产业务类型组包含一系列资产业务的控制参数,典型地,还还用来决定资产的科目分配,每一个资产对应到一资产类型,每个资产类型对应一科目定位码(Tcode:OAOA定义),科目定位码配置相应资产科目(Tcode:AO90),那么资产业务类型组的一个功能就是辅助决定科目,比如对应到业务类型组62的资产业务类型将取AO90定义的特殊折旧科目分配中定义的相应会计科目, 需要强调的是,是业务类型组而不是业务类型辅助决定科目! 系统内定业务类型组而允许设置业务类型的好处是既在系统内部固定了内在处理逻辑又满足了企业千变万化的资产业务, 不同集团为了满足复杂的资产报表会定义一套完整统一的资产业务类型,SAP之所以功能强大,其主要设计思路之一就在于此。

如何调整折旧?

Tcode:ABAA(计划外折旧)/ABMA(人工折旧)/ABSO(杂项调整)

重点不在于Tcode,而在于使用的资产业务类型(实际内部是资产业务类型组),输入ZJ7/ZJ9就能调整折旧。

如何处理历史遗留数据?

Tcode:OABS/AFAR

假设在OABS中使用了默认设置“仅允许有负值和零值”,并且已经做了折旧调增,现在需要调减下来,即做反向资产业务调整比如使用借项资产业务类型ZJ9, 等做完ZJ9产生资产凭证后,折旧运行AFAB发现调减折旧过不了帐,此时的处理步骤为:

(1).在OABS配置中选择“允许的所有值”。

(2).运行AFAR重新计算资产价值,在各种引起资产价值变更的业务比如变更资产折旧码、修改折旧年限或其他相关配置中,都需要运行此Tcode。

(3).AFAB再运行折旧。

折旧运行包括4种方式:

a.计划内运行,一般指严格按期间顺序运行的正常折旧。

b.重复运行,可针对正常折旧后对指定的资产反复+重复进行折旧调整。

c.重新过帐运行 = AFBD,将重建一个会话,由于新版本ECC6的资产折旧是直接在后台跑)(Tcode:SM37),不再生成会话(Tcode:SM35),AFBD在ECC6不再生效。

早版本资产折旧产生一个会话,此时,在表TABA中已经记录下资产折旧产生的折旧凭证

号范围和是否已经过帐标志(XBUKZ),只是预留有折旧凭证号,但是实际上并没过帐到FI, 正式产生财务凭证需要SM35运行折旧会话,如果不小心将该会话删除,则可选择此步。

d.计划外折旧。

1.2 折旧方法和折旧码

图1[1][3][4]: 确定折旧范围(Tcode:OABN|OABS|OABU)

SAP的折旧包括普通,特殊和计划外折旧,在此处设置折旧范围允许此3种折旧.

注意两点:

1.计划外折旧和特殊折旧等非正常折旧值只影响资产净值.影响不影响折旧是看资产对应的折旧码,确切地是, 是折旧码对应的多层方法(Tcode:AFAMS)里的基值,典型的基值有

01:购置值

03:重置价值

24:帐面净值

现在很清楚,如果对应的基值选择01,则月折额只和购置值相关,

如果基值选择24,则月折旧额和帐面净值相关.

2.可以任意使用Tcode: ABZU|ABMA|ABAA,重要的是使用的业务类型对应的业务类型组是62|63|64|65|,业务类型组是SAP预先定义的,即是Hard-coded的,选择这类计划外折旧或手工折旧的业务类型,则执行ABZU,ABAA只产生计划外折旧,如果选择默认的700(对应的业务类型组是70),则会增加原值,产生的会计凭证如下(Tcode:ABZU|ABMA,Trans type:700):

Dr:资产原值

Cr:AO90普通折旧科目分配“Revenue from write-up on ord.deprec.”对应的科目.

月折旧额究竟是怎么算出来的? 有人说月折旧额和资产的业务类型有关吗?还是只和折旧码有关系?能否自由控制资产的月折旧额想折多少就折多少?

现在就分析一下,假设业务如下:

场景1:基本方法0007,多层次方法005,其中基值是01->购置值,每12,不选剩余期间,如图3.

折旧码S008的配置,假设折旧码S008的配置如图2(Tcode:AFAMA).

图2-[1][2][3]不再解释,注意切换方式Y,X,Z是用户自定义的,接下来会详细介绍如何增强自

定义资产的月折旧额.

多层次方法的005,如图3.

在图3中我们看到多层次方法005的定义是每12(Tcode:AFAMS,,注意SAP AA是允许按月,按双月,按季度或按年计提折旧的),有几点要强调.

图3-[2]:基值是01,对应到资产价值浏览器(Tcode:AW01N)的APC资产原值.

图3-[5]:是否按剩余年限计提折旧.

图3-[6]:基值可以使用增强,强调一下.

则月折旧额计算如图4 (为了测试逻辑,做了一大堆资产业务).

月折旧额公式: 10.93 = 1311.00 / (10*12) = APC原值/ (资产使用年限*12).

结论:即01-购置值就是APC原值,而不是图中的购置价值.

005不选剩余年限,则按使用年限折旧

场景2:基本方法0007,多层次方法005,只是将基值是01改成03(见图3-3,重置价值),每12,不选剩余期间,再看月折旧额,如图5.

注意:如果需要使用Tcode:AFAMA激活折旧码

如果需要,必须使用Tcode:AFAR重新计算资产折旧.

月折旧额公式: 10.46 = (1311.00 -55.55即1255.45)/ (10*12) = APC原值/ (资产使用年限*12).

结论: -55.55元是做Tcode:ABAW资产负债表重估时产生的, 产生重置价值是”APC业务”

资产原值-“重新评估”值=”购置价值”.

按中国的会计,固定资产的计价方式:

1.按原始价值计价(购买和建造时)

2.按重置价值计价(资产评估增值时,可以按重置成本计算资产价值,即原值和累计折旧都要重新计量,什么条件下这样整呢?那么又抠字眼,也可以不这样做).

3.按帐面净值计价(按准则,资产增值和减值的新月折旧额=帐面净值/剩余年限)

场景3:基本方法0007,多层次方法005,只是将基值改成24(见图3-4,帐面净值),每12,选择剩余使用期,如图6(实际上这就是SAP默认的多层次方法001).

月折旧额公式: 26.51 = 2915.83/ (9*12+2) = 帐面净值/剩余年限

结论: 严格地讲,折旧还是也资产业务类型无关,只不过是想计划外折旧,资产增值等交易改变了帐面净值从而间接影响月折旧额的计算.

在基本方法中还有不同配置,不同配置可能到的结果不一。

常见的固定资产计提折旧的方法有平均年限法(直线法),工作量法,双倍余额递减法和年数总和法,后两者被称为加速折旧法.

1.平均年限法(直线法)

是将固定资产的折旧额均衡地分摊到各期的一种方式,各期计提的折旧额是相同的。

月折旧额=(固定资产账面价值-预计净残值)/(折旧年限*12)

2.工作量法(产量法)

根据实际工作量计提折旧额的一种方法。计算时先计算出每单位工作量的折旧额,再根据每单位工作量的折旧额计算出某项固定资产月折旧额。

3.双倍余额递减法

以固定资产使用年数倒数的2倍作为它的年折旧率,以每年年初的固定资产帐面余额作为每年折旧的计算基数,但由于在固定资产折旧的初期和中期时不考虑净残值对折旧的影响,为了防止净残值被提前一起折旧,因此现行会计制度规定,在固定资产使用的最后两年中,折旧计算方法改为平均年限法.

双倍余额折旧法公式:

年折旧率=2/预计使用年限*100%

月折旧率=年折旧率/12

月折旧额=期初固定资产账面净值*月折旧率

生搬双倍余额递减法的弊端

引用他人的一个折旧例子:

固定资产原值 1000000 1000000 1000000 1000000 1000000 1000000(原值一样)

使用年限 10 10 10 10 10 10(折旧年限都是10年)

净残值率 30% 20% 11% 9% 7% 5%(残值率不同)

第1年折旧额 200000 200000 200000 200000 200000 200000

第2年折旧额 160000 160000 160000 160000 160000 160000

第3年折旧额 128000 128000 128000 128000 128000 128000

第4年折旧额 102400 102400 102400 102400 102400 102400

第5年折旧额 81920 81920 81920 81920 81920 81920

第6年折旧额 65536 65536 65536 65536 65536 65536

第7年折旧额 52429 52429 52429 52429 52429 52429

第8年折旧额 41943 41943 41943 41943 41943 41943

第9年折旧额 -66114 -16114 28886 38886 48886 58886

第10年折旧额 -66114 -16114 28886 38886 48886 58886

合计折旧金额 700000 800000 890000 910000 930000 950000

我们看到在净残值率为30%和20%的,如果生搬此折旧法会造成最后两年折旧为负的情况,显然如何切换折旧方式非常关键,那么SAP的双倍余额折旧码DG20的折旧逻辑如何呢?

4.年数总和法

年数总和法是以固定资产净值(原值-净残值)为基数,乘以按年次递减的折旧率计算折旧额的一种方法。

年折旧率=(预计使用年限-已使用年限)/预计使用年限的年数总和

月折旧率=年折旧率/12

月折旧额=(固定资产原值-预计净残值)*月折旧率

新会计准则关于科研费用资本化的规定:

对于30万元以下的一次性提足折旧的资产使用折旧码:S005->当期一次折旧,无残值

对于30万元以上的采用双倍余额递减法新增折旧,双倍余额递减法是否会有刚才由于残值百分比大出现最后两年折旧额为负数的情况呢?

现在来设计一个特殊的折旧码,允许用户自定义资产的月折旧额,思路如下:

首先自定义一个表格,表格中有公司代码|资产编号|次编号|折旧有效基值|资产使用年限|剩余年限|折旧有效年限|月折旧额(=折旧基值/折旧有效年限),在计算折旧额时直接读取月折旧额的数据折旧,就可解决任何折旧难题,步骤如下:

1.3 FB08如何reverse多余的折旧凭证

(1) Check document type

(2)设置断点.

FB08,都FB08了和资产年度就没有任何关系,你想reverse到当年去年都行,只要选好rerversal reason就可以.

该sy-subrc = 0 .

OK reverse .

ANLA:Asset Master Record Segment 资产主数据

资产主要数据有日期和ANLZ的不同

ANLB:Depreciation terms 固定资产折旧主数据

ANLC:Asset Value Fields 固定资产每一年的价值(报废了就没有了)

NAFAP-Plnd. ord. dep. 固定资产累计折旧

ANSWL-Ast.val.trans. 固定资产现值

ANLZ:Time-Dependent Asset Allocations (但不是资产主数据的有效期)

BDATU ADATU 是cost center的有效期

ANEA:Asset Line Items for Proportional Values(其他取得价值)

ANEK:Document Header Asset Posting ( 只包含一条取得报废呀什么记录,不知道折旧有否???)ANEP:Asset Line Items 所有历史记录(所有的10,20,30,31,32的)(类似BKPF, BSEG,)

ANLH:Main asset number (LANEP line item LANEP应该是最后记录item no) ANLE:Asset Origin by Line Item (no usage)

ANLK:Asset Origin by Cost Element (no usage)

ANLV:no usage

ANLU:nouage

ANLP:Asset Periodic Values (每个月的折旧历史)

ANLQ:Period values from dep. posting run per posting level

系统表

D020T:Screen Short Description是哦

CALL FUNCTION 'AREAS_OPEN_IN_YEAR'

EXPORTING

I_CCODE = P_BUKRS

I_YEAR = P_GJAHR

TABLES

T_AREAS = R_OAFABE

T084:Incorrect assets

?????

T093B:Company code-related depreciation area specifications

GWGWRT:那个2000元才算资产

ABGJA:shows the last closed fiscal year,this year is the

starting point for current depreciation planning.

DATUM和ABGJA都是控制这年不能在做的。

???

T093C:Company codes in Asset Accounting (比如ABZON时就靠此表检查期间)DATUM:The system uses this date to determine the last closed fiscal year. 如下就是说此俩玩意是控制posting date的。

select single * into zt093c from t093C where BUKRS = '1000'.

zt093C-LGJAHR = '2019' . (19下面是8表示8-19你可记到任何一年)

update t093C from zt093C .

data zt093b like t093B.

select * into zt093B from t093B where BUKRS = '1000'.

zt093B-ABGJA = '2008' .

update t093B from zt093B .

endselect.

就是说你可随便玩,但是以后会有错误提示的,比如你开到2009 post 一个东西,TA1TVT :Asset Transfer Variant

TABWD_FTC :Fields Used for Table Controls on Asset Postings

T093:Real and derived depreciation areas

T093D:Control dep. posting (就01,20,30,31,32几个东西)

应该是OAYR设置相关

AFBRHY:Number of periods between two depreciation runs

TABWV:Default transaction types

BWASL:asset transaction type AFAB:500

BLART:Doc type

AFBLPE 10

AFBLGJ 2004(这俩表示最后posting 折旧的年和期间)

在TABA中好象没月份只有一条记录。

datazTABA like TABA.

select single * into zTABA from TABA where BUKRS = '1000'.

zTABA-AFBLPE = '12' .

update TABA from zTABA . (因为TABA不允许不允许修改后lock住TABA,SM12解锁。)

AFBLPE是不能随便修改的,除非是在数据库层,但是XBUKZ可以

XBKZ = 2 , X,N是OK的

XBUKZ= 表示没完成所有的doc posting .

XBUKZ = 0 sames as 1

XBUKZ = 1最后是terminated. AA730 The last posting run in period AA 2004 was terminated by an error.

TABW:Asset transaction types

ANSHKZ:控制Dr/Cr

???SE16 :TABW(V)-BWASL 找不到50X在查询时

TABA:Depreciation posting documents (AFAB做的FI doc)和ANLP对应

此表包含上次depre的from . to docs ,和T093D去对应

XBUKZcheck 出729:Not all the documents in the last posting run were posted

所以如有显示说什么最后期间在什么地方就更改 TABA和T093D俩表

TABA-AFBLPE是depre时的日期。

RABUCH00的FORM CHECK_RESTART(如果日期不完整就可能会有此。如下:)

SELECT * FROM TABA WHERE BUKRS = P_BUKRS

AND ( XBUKZ = CON_RSTART_ANLP OR

XBUKZ = CON_RSTART_BDC ).

PERFORM PUT_MESSAGE USING '730'

TABA-AFBLGJ TABA-AFBLPE G_MSGV G_MSGV.

MESSAGE I730 WITH TABA-AFBLGJ TABA-AFBLPE. (就是说TABA决定最后期间)

T003:Doc type

TNRO:Definition of number range objects (include LSNR3F01)

OBJECT: FIAA-BELNR(固定资产使用)

CODE:比如FBN1定义

并且BUFFER,和NOINVBUFFER有意思。

对buffer是这样定义的。

The number interval buffer is in the Shared Memory of the application server.

Each buffer is used to store the external number intervals and a certain number (subinterval) of the internal number intervals. If the numbers of an internal number interval are used up, numbers are taken from the database via the number range server. The status of the number interval in the database is increased by the number of numbers fetched to the buffer.

NRIV:Number range intervals (和TNRO通过object联系)LSNR3U03,LSNR3F01 (get_number_info)

SELECT * FROM NRIV WHERE OBJECT = OBJECT(从TNRO的出)

AND SUBOBJECT = SUBOBJECT

AND NRRANGENR = NR_RANGE_NR

AND TOYEAR GE TOYEAR

ORDER BY TOYEAR.

EXIT.

ENDSELECT.

TABWG:Transaction type groups

XANTEI 2 Ind: Post proportional values automatically

GITCOL 6(depr,type group 55就是总的业务分类) Classification of transaction type group

TABWK:Trans. types for posting prop. values and depreciation

做什么用的?

T093CE :Block posting for certain fiscal years

T093C:Company codes in Asset Accounting

LEAVE PROGRAM. (是什么意思?)

TCDCOUPLES :Check on S_TCODE at call transaction

AFAB:LARF1U05 (

LABRAF10 (ANLC_trigger去查找ALNA,B,C数据)

LABRAU05 (ANLC_READ_RANGE_TRIGGER)

GD_TASKS_FINISHED = SPACE.

CALL FUNCTION 'AM_DEPR_POST_RFC'

表AFAB: (Network - Relationships )

LAFARF60 (Error messag)

LAFARF70 ( USER-EXITS)

NRIV_LOKAL:Local NRIV for multiprocessor machines

FB01 AFB1

T093T: Names for real and derived depreciation areas

T093A:Real depreciation area (减值区)

T095T:Name for account groups (资产分类)

T095:Balance sheet accounts for depreciation areas RABUCHF1 :AFAB此程序去读取T095的数据

T095B:G/L accounts value adjustment

T093S:Value Field Names for Depreciation Areas

EWUANLAVOR:EWU conversion: Table for marking assets before conversion

LABRAF20 --V_ANEPK: "Asset line items with line item header information"

V_ANEPK(详细的资产line items由ANEK,ANEP组成)

LABRAF20-- V_ANLA_2 --"Projection View for Table ANLA (w. asset text)"

???什么是 Projection view ???

LABRAU13

LARF1U05 -- CALL FUNCTION 'RA_AFABUCHEN'

从RABUCH00 CALL FUNCTION 'AM_DEPR_POST_RFC'进去的

下面是included子程序的和函数

( CALL FUNCTION 'GET_NEXT_ANLB'

CALL FUNCTION 'GET_NEXT_ANLZ' )

CALL FUNCTION 'RA_AFABUCHEN'

LADATU04 :(FUNCTION GET_ACCOUNT_OF_PERIODS.)

ABZON:

LAMDPU05

LACC5U28 (check )

CALL FUNCTION 'AMBU_CHECK_POSTING_ALLOWED' 检查posting期间

ABAVN使用的是transaction type =200的类型(没有任何价值比如还未购已报废或价值为0是不能使用他)如果没有做asset year change就做业务回检查t009表和

做AJRW时RAJAWE00判断LARF1U02(FUNCTION AM_FISCAL_YEAR_CHANGE_RFC.)

相关主题