首页 > 文章中心 > 正文

软件项目成本管理

软件项目成本管理

计算机软件的研制开发属于一种专利权的研究开发,但又不同于一般专利权的研究开发。其原因在于(1)、一般专利权的研究开发,其目的大多是为了满足本企业内部生产服务的需要,很少以销售或出租该专利为研究开发目的。而计算机软件的研制开发则不同,存在众多的软件公司,他们研制软件是为了出售拷贝而获取利润。(2)、由于计算机软件更新迅速,其经济寿命既短又很不稳定,所以软件的研制开发风险很大,如果赶不上时代潮流,会给开发商带来不可估量的损失。(3)、在软件开发公司中,往往同时开发多种软件产品,成本归属界限模糊,划分标准较难控制。因此,有必要对软件开发成本的会计处理进行深入的探讨。

同时在理论界,由于缺乏共同的认识,且没有一套适当的处理方法可资遵循,出现了诸多问题与矛盾,特别是在我国计算机软件业,由于性质特殊,软件开发成本的处理与一般行业有较大差异。并且行业内的处理也各式各样,导致其报表的相关性、可靠性、可比性缺乏,阻碍了这一新兴支柱产业的发展。

本文仅就软件开发成本的资本化和费用化问题进行一些探索,以求教于同仁。

一、对软件开发成本的认识

为了确定软件开发成本应资本化或费用化,有必要了解软件开发成本的各组成部分及软件的开发步骤:

软件的开发,一般包括以下步骤:

(一)可行性调查。包括技术可行性调查和财务可行性调查等前期工作。

(二)系统分析。其主要任务是给出系统说明书,确定软件的主要功能等事项。

(三)系统设计。包括总体设计与详细设计,总体设计主要任务是决定系统的模块结构。详细设计确定模块的功能、接口和实现方法。

(四)编码。即由程序员编写程序,建立相应文档。

(五)测试,即检查和揭露程序的错漏偏差以便修正和排除。

(六)撰写书面文件、申请专利、维护等。

在以上各步骤中,人工费用占主要部分,其中系统分析和系统设计所占比例更高。从各步骤费用发生的比例看,虽然不同软件产品各不相同,但总的来说、(一)、(二)、(三)步骤发生的费用支出比例最大,是我们研究的重点。

此外,在不同行业背景下,各种费用的复杂程度也不同。在非计算机软件业,企业研制软件的目的往往是为了生产或管理的需要,研制过程集中、单一,其支出成本容易区分确定,归属性强。但是,对于一个专门从事软件开发的软件公司来说,情况则大大不同,由于同时开发多种软件,许多费用支出难以找到客观的标准来划分其归属的项目,因而区别对待不同行业的不同情况,正确运用诸如重要性等会计原则,也是我们研究的重要注意事项。

二、会计界关于软件开发成本的两种观点

(一)、费用化的观点

1.国外有关费用化的观点

英、美法系国家在研究与开发成本(即r&d成本,是指一般意义的研究开发成本,包括软件的研究与开发成本)问题上,历来持费用化的观点,现以美国财务会计准则委员会的观点为例加以说明。

美国财务会计准则委员会(fasb)是美国会计准则研究与的权威机构,其公布的准则均被政府接受。fasb一向对r&d成本持费用化观点,虽然在软件业的r&d成本上有一定让步,但也属于费用化观点的范围内。fasb第86号财务会计准则公报(sfas)中规定:在开发以销售或出租为目的的计算机软件中,发生于详细程序设计以后的各项费用,包括编写程序,制造主盘等,予以资本化,而以前的支出应全部费用化。(注①)

在非软件行业。即以自用为目的的软件研制开发活动中。fasb认为,这是一种一般的r&d活动,其发生的成本全部费用化,不用区分详细程序设计之前或以后的成本。

在软件业,fasb依然主张费用化。其理由是:(1).基于稳健原则的考虑。软件开发成本回收的可能性具有高度不确定性,采用费用化较佳。(2).维持报表的可比性、一致性。事实上软件开发成本就是r&d成本,不能因为行业特殊,而对同一性质的支出做出不同的处理(笔者注:fasb对r&d成本的处理与我国不同)。(3).就行业特性而言,软件业本身是一个高科技、快速变化的行业,这就增加了软件开发成本回收的不确定性,难于资本化,应将其费用化。(4).基于客观性考虑。资本化的标准过于主观,一些费用的归属很难确定,费用化更有利于控制、管理和审计。

在会计处理上,fasb要求当软件产品可以提供给用户时,就开始摊销已资本化的软件开发成本。并按每一个别产品基础加以摊销。每年应摊销金额,应以下列两种方法计算出的较大者为准:

(2)年摊销数=未摊销成本÷估计剩余使用年限(直线法)

fasb第86号sfas主张只将编写程序开始至完成软件之间的活动所发生的成本予以资本化,未将详细程序设计所发生的成本资本化,受到美国资料处理及服务组织协会(adapso)极力的批评。美国大多数软件业者认为;fasb将详细程序设计认定为r&d活动并不合理,详细程序设计虽名为“设计”,但事实上仅是一项产品计划的执行活动而并非一项实际规划设计活动。(注:②)

2.我国有关费用化的观点

目前,我国软件行业同制定会计准则的部门在软件开发成本资本化与费用化的问题上,意见并不完全一致。在实务部门一般赞同软件开发成本费用化,会计准则制定部门却规定软件开发成本资本化。

在我国的软件行业中,经过十多年的实践,他们认为软件开发成本应该费用化。其理由是:

第一、软件开发成本全部资本化对企业来说,利益不是很大。因为(1).虽然资本化后有助于降低资产负债率,利于企业融资需要,但却损失了延迟纳税的好处。(2).靠无形资产数额的增加以降低资产负债率,并不能同时提高流动比率和速动比率,融资能力的增加也不显著。相反,费用化的方法可以延后纳税,减少现金流出、提高流动、速动比率。总而言之,企业财务部门花费大力气把各项支出按软件产品分类并资本化带来的好处并不大,有费力不讨好之嫌,不符合成本效益原则。

第二、大部分软件开发成本资本化困难,难以找到合理、客观的划分标准。一般而言,软件开发成本中人工费用占主要部分。对于人工费用,就很难资本化。因为(1).软件设计人员主要靠领取月薪,完成某个软件项目后的奖金不多。所以,奖金归属性强,易资本化,但月薪的资本化则较难,软件设计人员可能同时设计多个项目,也可能处于学习新知识期间,并未工作,其工资怎样归属等。(2).在人工费用中占大部分的后台支持人员费用也很难划分,而这部分支出的归属不清会严重影响成本数据的准确性,使资本化的意义全无。

第三、费用化处理有利于企业加强内部管理。由于统一了软件开发成本的处理。费用化标准易于实行、客观,便于内部审计,加强了企业的内部控制。

第四、如果软件开发成本数额过大,在分期摊销的处理上,往往会出现一些不必要的麻烦。因为软件的经济寿命很难估计,并且经常变化,不利于会计处理,而每个人对软件经济寿命的估计不同,一旦这个摊销额过大时,容易引起董事会、经理、管理当局与审计、税务、金融等方面的意见不一致。所以,许多企业都不愿过多地把软件开发成本资本化。

第五、软件研制开发公司属于技术密集型企业。一般而言,企业规模不是很大。虽然公司的资产数额可能较高,但实际会计工作中并不需要象工业企业那样多的会计人员。所以,会计人员本身的限制也迫使企业简化核算工作,降低会计成本,使得资本化的实施不具备物质基础。

(二)资本化的观点

美国会计师协会(aicpa)的会计准则执行委员会(acsec)就建议,以可行性确立为资本化的起点,即技术可行性确立以后,就可以将以后的成本资本化。这实际上是反对fasb把软件开发成本与r&d成本混为一谈。

我国会计理论界许多学者反对费用化,认为软件开发成本资本化更为合理。大致来说,支持资本化的理由有:(1).符合配比原则.把软件开发成本费用化会引起今后软件产品的销售收入找不到与之配比的成本费用,违反应计制。(2).避免有形产品与无形产品的会计处理的不一致。同样是产品生产,只因为软件产品无形就不计算成本,违反可比原则。(3).避免漏记资产。软件产品具有未来经济效益,不予记录为资产实在不合理。(4).资本化可以增加软件业的融资能力,否则会打击新的产业,阻碍经济发展。(5).可使购入软件再出售者与自行开发软件直接销售者的成本基础较为一致。

在我国,《企业会计准则》和《企业财务通则》中虽然没有对软件开发成本的会计处理问题作出具体规定,但对无形资产做了以下说明,“自行开发的无形资产,应当按开发过程中实际发生的支出数记帐”,“各种无形资产应当在受益期内平均摊销”。该说明的精神,我们认为涵盖了软件开发成本的会计处理,即软件开发成本应该资本化。

值得一提的是,在非软件业,即许多为自身生产、管理等需要而自行开发软件的企业中,资本化与费用化的问题显得并不十分突出。一方面,这些企业一般只开发一种软件,资本化标准易于把握。另一方面,这种开发活动不是经常项目,并且所耗资金较大,从重要性原则出发,资本化更合理。并且,这些软件针对性强,对未来经济效益容易确定,所以不应该费用化,不适用谨慎原则。在我国,这些软件的研制开发成本上基本都遵循了《企业会计准则》资本化的要求。故在本文中,我们把研究的重点放在以销售软件拷贝为目的软件研制开发活动。

通过以上比较,我们可以看到,在会计行业发达的美国,对软件开发成本资本化或费用化的问题还没有取得一致见解,虽有相关规定,却不够详尽。其他国家在这一问题上处理方法也不尽相同。英国基本与美国一致,而日本,意大利则主张资本化,所以,在我国,如何处理该问题,必须从我国具体情况出发,选择适当的符合我国软件业发展的需要,利于规范行业行为的方法。

三、软件开发成本费用化与资本化的界定

通过上述软件开发成本两种观点的分析,我们可以看出,主张费用化的学者一般认为,除拷贝产品母版及制作文件资料、申请专利等少数软件开发成本应资本化外,其他成本才应费用化。主张资本化的学者也并非主张一切费用支出都资本化。大多数主张资本化的学者建议选择一个“时点”作为资本化的起点,即部分成本费用化,部分成本资本化。但是,“时点”的选择不同,会使资本化的成本不论在质上或量上都有很大差别。因此,我们认为,划分软件开发成本资本化与费用化的“时点”,应该选在详细程序设计之后,编码之前(见下图)。

我们认为,在软件开发成本界定图中,详细程序设计之后编程之前的竖线是区分软件开发成本费用化与资本化的界限,即详细程序设计之前(含详细程序设计)的成本费用化,详细程序设计之后的成本资本化。这种划分方法更适合于我国的实际情况,其理由是:

(1).资本化标准明确。我国许多软件公司在完成软件的详细程序设计后,都愿意把具体的编程工作交给专业从事编程的公司完成。在把编程工作转出后,根据合同,能明确该笔成本,并且程序完成后的阶段,费用较少,归属性强,这样整个资本化的标准易于把握。而对于自行编程的公司而言,外部市场的存在提供了可以比较的标准,也不致于乱挤成本。

(2).与现行法规无原则性抵触。我们可以把软件的前期归划与设计视为一种管理活动,其支出列为管理费用的技术开发费。

(3).使该行业的会计报表,在行业内、外的可比性加强,可信度提高。

(4).会计处理简化,符合企业需要。由于大部分成本费用化了,余下部分的资本化标准明确,归属性强,所以对会计人员来说,工作简化了,对企业来说,既利于控制,也符合行业特点。

如果我们采用把资本化起点定在详细程序设计完成之后的做法,在具体会计处理过程上,我认为还应注意以下事项:

1.对于详细程序设计及以前的成本,直接记入当期管理费用。

2.对于编写程序及以后的软件开发成本,直接记入无形资产帐户。

3.当软件开发成功,可以提供给客户时,开始摊销无形资产帐下的软件开发成本,并且采用直线法摊销。

4.摊销软件开发成本时,直接从无形资产帐户中转入管理费用,不必设置备抵性帐户,因为该项软件开发成本只是部分成本,数额较小,重要程度不高。

5.在摊销期限这一方面,由于此数据重要程度已大大降低,所以在合理限定的基础上,应强调会计方法的一致性。

6.企业的软件存货成本应只包括制做拷贝等方面的成本,不应包括研制开发阶段的成本。