软件是新一代信息技术的灵魂,是数字经济发展的基础,是制造强国、网络强国、数字中国建设的关键支撑。软件企业的业务模式复杂多样,包括标准软件、定制软件、系统集成、SaaS等。不同的业务模式下的收入确认有着明显的区别,本文拟重点探讨定制软件的收入确认问题以及IPO审计思路,供大家参考。
定制软件业务概述
定制化软件开发业务是指软件厂商根据特定使用对象或特定项目,在已有的软件平台上,根据特殊需求对软件进行定制开发,使之更加满足客户需求,实现某些特定功能组合。通常涉及流程梳理和改进、个性化应用软件设计、开发、测试、软件安装部署以及数据迁移等定制化服务。一般面向企业用户或者特定工程项目,例如大型企业集团的内部管理软件、为某政府机关开发的行政管理系统、为某大型工程开发的运营管理系统等。
定制软件一般业务流程如下:公司在与客户签订合同后,组建项目实施小组,与客户就具体需求进行充分的沟通和交流并确定实施方案,方案确定后,项目实施人员开始进行需求分析、程序开发、系统部署、试运行、验收测试等后续工作。在整个过程中,项目组与客户保持持续的沟通,根据客户的意见调整开发过程,确保产品充分满足客户需求。
定制软件业务的主要成本为人工成本,外部采购规模相对较小,主要包括少量开发工具及第三方技术服务等。
定制软件收入确认的分析
(一)确定各单项履约义务是在某一时段内履行,还是某一时点履行
软件开发项目的周期较长,通常在1年左右,大型项目的开发周期在2年以上,因此在某一时段确认收入还是在某一时点确认收入对财务报表影响重大,也需要专业判断。
新收入准则第二章第十一条规定:满足下列条件之一的,属于在某一时段内履行的履约义务;否则属于在某一时点履行的履约义务。
(1)客户在企业履约的同时即取得并消耗企业履约所带来的经济利益;
(2)客户能够控制企业履约过程中在建的商品;
(3)企业履约过程中所产出的商品具有不可替代的用途,且该企业在整个合同期间内有权就累计至今已完成的履约部分收取款项。
结合准则规定的上述三种情况及定制软件常见情况,逐一分析判断其是否属于在某一时段内履行的履约义务:
(1)客户在企业履约的同时即取得并消耗企业履约所带来的经济利益
(2)客户能够控制企业履约过程中在建的商品
(3)企业履约过程中所产出的商品具有不可替代的用途,且该企业在整个合同期间内有权就累计至今已完成的履约部分收取款项
通常情况下,定制软件是根据客户需求提供定制化产品,需要满足客户特定的技术指标和功能要求,具有独特性,且合同中亦会约定软件知识产权、使用权的归属。因此,定制软件能常满足企业履约过程中所产出的商品具有不可替代的用途这一项条件。
在判断企业是否有权就累计至今已完成的履约部分收取款项时,需要注意下列五点:
第一,企业有权收取的该款项应当大致相当于累计至今已经转移给客户的商品的售价,即该金额应当能够补偿企业已经发生的成本和合理利润。
第二,该规定并不意味着企业拥有现时可行使的无条件收款权。
第三,当客户只有在某些特定时点才有权终止合同,或者根本无权终止合同时,客户终止了合同(包括客户没有按照合同约定履行其义务),但是,合同条款或法律法规要求,企业应继续向客户转移合同中承诺的商品并因此有权要求客户支付对价,此种情况也符合“企业有权就累计至今已完成的履约部分收取款项”的要求。
第四,企业在进行判断时,既要考虑合同条款的约定,还应当充分考虑适用的法律法规、补充或者凌驾于合同条款之上的以往司法实践以及类似案例的结果等。
实务中重点考虑的是该权利是否存在于合同期内的任一时点,收取的金额是否能够补偿企业已经发生的成本和合理利润,以及该权利是否具有法律约束力。
(二)定量开发
此类型业务中,客户在公司履约的同时即取得并消耗本公司履约所带来的经济利益,能够控制履约过程中在建的商品,因此应属于在某一时段内履行的履约义务,在结算周期内根据客户统计的工作量和合同约定的价格计算确认收入。
(三)整体合同
整体合同的收入确认方式和时点应重点考虑其承诺的商品是否可明确区分。
《企业会计准则第14号-收入》第十条:企业向客户承诺的商品同时满足下列条件的,应当作为可明确区分商品:(一)客户能够从该商品本身或从该商品与其他易于获得资源一起使用中受益;(二)企业向客户转让该商品的承诺与合同中其他承诺可单独区分。下列情形通常表明企业向客户转让该商品的承诺与合同中其他承诺不可单独区分:1.企业需提供重大的服务以将该商品与合同中承诺的其他商品整合成合同约定的组合产出转让给客户。2.该商品将对合同中承诺的其他商品予以重大修改或定制。3.该商品与合同中承诺的其他商品具有高度关联性。
后续维护服务应判断是否构成单项履约义务,如构成单项履约义务则需要从合同金额中予以分拆,并在服务期内分摊确认收入。
(1)合同对于验收的具体约定,采用确认文件和验收文件的主要区别、是否分为初验和终验、初验和终验的具体内容和实质差异,对应业务类别和收入占比,并结合付款进度、风险报酬转移、后续成本支出等情况,说明收入确认时点的准确性,是否存在同类业务验收约定不一致的情况及原因,是否符合企业会计准则要求,是否与同行业可比公司一致;收入确认方法与同行业可比公司是否一致。
(2)收入确认方法与同行业可比公司是否一致。
(3)以初验证书作为收入确认依据的原因,初验、终验时履行的验收程序的差异情况,
(4)验收时点与合同约定时点的差异情况,实施验收周期与合同约定的差异,收入确认时点是否合理,发行人是否存在人为调节收入确认时点的情形。是否存在在报告期末突击确认收入的情形。
(6)属于某一时段内还是某一时点履行的履约义务,收入确认的具体标志,是否需要试运行,收入确认政策与合同约定是否一致
(7)不同类型产品或服务之间是否存在捆绑销售情形
(9)对于定制化软件开发业务,客户出具完工确认函/完工确认邮件的具体时点,是否存在试运行期要求、是否存在出具完工确认函/完工确认邮件后对软件进行调整的情况
(一)核查思路:
重点核查按照初验确认收入的依据是否充分,了解验收的具体流程,初验和终验的区别,以初验确认收入时分析是否符合以下几点:1)终验是否为形式验收;2)初验后软件交付给客户并完成安装调试工作,系统已达到可运行状态,公司需要履行的主要合同责任和义务已经基本完成,初验后不提供重要服务;3)企业既没有保留通常与所有权相联系的继续管理权,也没有对已售出的商品实施有效控制—项目初验后交付给业主或客户,业主或客户已能完整控制并使用该系统,故公司不再保留与所有权相联系的继续管理权或实施有效控制。
(二)主要核查程序:
(1)访谈公司管理层、业务部门,了解公司业务开展模式、业务流程、收入确认方法;
(4)获取软件业务合同/订单,核查是否存在验收条款,针对存在验收条款的合同/订单,核查具体验收条款内容并核查针对该合同/订单客户是否出具验收单;
(5)查阅公司同行业可比公司招股说明书、年度报告等公开资料,并与公司收入确认方法进行比对分析;
(7)对发行人各类产品和服务收入真实性、截止性进行核查,向发行人报告期内主要客户进行发函确认销售交易金额。
参考案例
8.关于营业收入
(1)软件开发业务
软件开发业务在实际开展过程中,存在定制软件合同验收时点、实施周期与合同约定的差异情况,且通常是验收时点晚于合同约定时点,主要的原因是合同约定的计划进度是根据招投标时需求概要所做的预估进度,需求概要只框定合同实施的范围,是客户根据项目范围、内部管理要求和经验初步框定的项目计划。合同执行过程中,会进行详细的需求调研,确定详细实施方案。由于详细需求调研确定的实施内容往往比需求概要的实施内容更具体更深入,因此实际实施周期长于计划周期的现象比较普遍。此外,软件开发项目从整个项目周期角度看,过程比较复杂,历经项目计划制定、需求分析、设计、开发、测试、上线试运行、项目验收等多个阶段,这些过程阶段需要逐步推进,其中部分环节需要客户或者第三方参与(例如需求确认、设计确认、上线试运行等),会遇到不可控的因素,当各方进度无法统一,不可控因素无法消除,会导致项目周期发生延期。具体情况例如:
除上述技术层面的原因,客户出于审计等内部管理要求、招投标周期不可控等客观因素也会导致部分项目实际验收时点与计划验收时点不同。
上述原因导致了软件开发业务的实际验收时点与合同约定的时点、实施周期与合同约定存在差异。在软件开发过程中,需求、设计、测试方案、试运行等各个阶段均需要与客户进行沟通,并获得客户的确认意见,符合软件开发业务的特征,具有商业合理性。报告期内,公司不存在因为合同实际执行情况与合同约定存在差异而产生纠纷或者受到处罚的情况。
(3)系统集成
部分系统集成合同约定了交付/验收时点。报告期内,除个别大型集成项目由于客户厂房建设延期,设备集成进度延后以外,不存在项目验收或者产品交付明显晚于合同约定的情形,上述集成项目进度系根据项目实际情况以及客户的要求进行调整,并非由于发行人的原因所造成的,不存在纠纷。