在马来西亚,软件维护要花多少钱?直接给答案:一年是原本开发费的 15% 到 25%。一套 RM80,000 的定制网页系统,一年要预留大概 RM12,000 到 RM20,000 做维护。多数马来西亚老板不会编这一条预算,然后在第 14 个月东西坏掉的时候被吓一跳。(这笔钱是叠在开发费之上的,开发那一端的数字看我们这篇马来西亚定制软件开发费用。)
这不是零头。把时间拉到三年,你花在让软件继续跑的钱,往往和当初建它的钱差不多。而且这还没算令吉对美元云端账单的波动、LHDN 改 e-Invoice 规则、以及另外加上来的 MySST。
这篇文章按项目规模推算接下来三年的实际样子,说明钱花去哪里,并点出马来西亚公司最常漏掉的隐藏成本。
马来西亚的软件维护,一年要多少钱?
业界数字是一年开发费的 15% 到 25%。这个区间在全球通用,从 Aalpha 到 ScienceSoft 的研究机构和供应商都在引用。马来西亚同样适用,只是有三个本地调整,等下会讲。
先看不含马来西亚特殊因素的基本算法,按项目规模分:
| 开发费用 (RM) | 第一年维护(低) | 第一年维护(高) | 常见月费配套 |
|---|---|---|---|
| RM 30,000(小型 MVP) | RM 4,500 | RM 7,500 | RM 400 – RM 700 |
| RM 80,000(中型网页系统) | RM 12,000 | RM 20,000 | RM 1,000 – RM 1,700 |
| RM 150,000(CRM / ERP) | RM 22,500 | RM 37,500 | RM 1,900 – RM 3,200 |
| RM 300,000(multi-tenant SaaS) | RM 45,000 | RM 75,000 | RM 3,800 – RM 6,300 |
| RM 500,000+(合规型平台) | RM 75,000+ | RM 125,000+ | RM 6,300+ |
这些数字涵盖:托管、监控、修 bug、小幅功能调整、升级依赖包、安全补丁,以及有限的支援时数。不涵盖大型新功能、重新设计或转型。那些是另外的项目。
一套中型马来西亚商业系统的三年推算
举个具体例子。假设你刚上线一套 RM80,000 的定制网页系统:一个 CRM,带发票自动化、仪表板、5 个用户账号,还接了 FPX 付款。老实编预算的话,接下来三年长这样:
| 费用项目 | 第一年 (RM) | 第二年 (RM) | 第三年 (RM) |
|---|---|---|---|
| 托管(本地 VPS 或 AWS SG) | 1,800 | 2,200 | 2,600 |
| 修 bug 和小调整 | 6,000 | 5,000 | 5,500 |
| 安全更新与依赖包升级 | 2,500 | 3,500 | 4,500 |
| 小幅功能迭代(每月 8 小时) | 4,800 | 5,200 | 5,800 |
| 第三方授权(SendGrid、Twilio 等) | 2,400 | 3,200 | 4,000 |
| 服务发票的 8% MySST | 1,400 | 1,500 | 1,800 |
| 合规变动(PDPA、LHDN 更新) | 0 | 2,000 | 3,500 |
| 全年合计 | RM 18,900 | RM 22,600 | RM 27,700 |
| 占开发费比例 | 23.6% | 28.3% | 34.6% |
有三件事很显眼。总额逐年往上爬,因为依赖包越来越旧,平台接的东西也越来越多。光是 MySST 三年就 RM4,700,多数人没编这笔。到了第三年,你一年花掉的钱超过开发费的三分之一,听起来不对劲,但想想一套五年没维护的代码,那基本上等于被弃置的软件。
我们的主指南写的是一年 15% 到 20%。第一年这样起算没问题。第三年往 25% 到 30% 编,你就不会措手不及。
维护费里面到底装了什么?
拆开来看钱去哪里。这里没有玄机,只是多数报价单不会逐条写出来。
托管与基础设施。 一个小型 Laravel 系统,一个月 RM30 到 RM100 的 VPS 就跑得动。一个带数据库、Redis 和背景任务的 Node.js 系统,比较像一个月 RM80 到 RM300。跑在 AWS 或 Google Cloud Singapore 上的企业系统,常常一个月 RM500 到 RM3,000,而且那张账单是美元计价的,下面会讲。
修 bug 和小调整。 就算写得好的软件,也有些 bug 要真实使用才浮出来。按每月 4 到 10 个开发工时来算,时薪按资历 RM80 到 RM200,也就是一个月 RM320 到 RM2,000。
安全补丁与依赖包升级。 每个框架、函数库、runtime 都会老。Laravel 每 6 到 12 个月出一次小版本。Node.js 按固定时间表停止支援旧版本。放着 18 个月不管,原本 2 小时的补丁,通常会变成一个要做好几天的升级项目。
小幅功能迭代。 维护就是在这里悄悄变成产品开发的。你的团队天天用,用出想法,就来提要求。每月编 5 到 10 小时的功能额度,超出的部分谈好时薪。
监控与备份。 掉线监控、错误追踪(Sentry、Rollbar)、每天把数据库备份到异地。工具一个月 RM100 到 RM500。省下这笔,等到公假凌晨两点出事,你就知道厉害了。
马来西亚公司最常漏掉的隐藏成本
有五项,我们几乎在每个项目都看到编得不够。
IT 服务的 8% MySST。 马来西亚皇家关税局把多数软件开发和 IT 维护,归为 Service Tax Act 2018 底下的应税服务。你的供应商会在配套费之上加收 8% SST。一个月 RM1,500 的配套,就是每月 RM120,一年 RM1,440。单张发票不算多,三年下来是真钱。
美元计价的云端账单。 AWS、Google Cloud、Vercel、DigitalOcean、Stripe 全都以美元收费。如果你的基本云端开销是每月 USD 200,令吉从 4.20 滑到 4.80,用量一点没变,每月就多 RM120。三年下来,这能悄悄吃掉维护预算的 10% 到 15%。能锁长期 reserved instance 就锁,也留意哪些服务真的需要美元计价的基础设施,哪些放本地托管就够。
合规变动。 PDPA 在 2024 年做过一次大修,Personal Data Protection (Amendment) Act 2024 于 2025 年 1 月到 6 月分阶段生效:强制通报数据外泄、委任 DPO、数据可携权,以及最高 RM1,000,000 的罚款。LHDN 的 e-Invoice 分阶段时间表改过好几次。MDEC 也会调整计划要求。这些规则一改,你的代码常常要跟着改。(这一块的长期成本,我们在马来西亚 LHDN e-Invoice 系统整合费用那篇写了完整拆解。)每年编 RM1,500 到 RM5,000 给这些你没主动要求的合规工作。
随用量增长的第三方服务费。 SendGrid 从每月 USD 20 起跳,发的邮件越多越贵。Twilio 按每条 SMS 收。Mapbox 按地图载入次数收。Stripe 抽交易百分比。这些很少出现在最初的开发报价里,因为它们取决于你还没有的流量。等你做起来了,第 9 个月它们就来了。
员工培训与流程调整。 每一次像样的功能更新,都要有人重新培训团队。这是内部时间,不是供应商的时间,但成本是实实在在的。每次功能上线,预留 2 到 4 小时的内部团队时间。
我们的看法:15% 是下限,不是上限
“一年 15% 到 20%”是个合理的起点,也是我们主指南里给的数字。但对多数马来西亚公司来说,那是下限,不是上限。
以我们的经验,只要你的定制软件有真实用户、有真实的系统对接、有真实的合规压力(PDPA、LHDN、Bank Negara),把 MySST 和汇率风险老实算进去之后,一年会接近 20% 到 30%。那些以为自己只花 10% 的人,几乎都少报了:他们没算云端费用、没算老板自己救火的工时、没算出事那一周叫来的外包。
老实的版本是:定制软件是常年开销,不是一次性采购。如果你没办法承诺常年那一段,现成的 SaaS 更适合你的生意。这不是推销话术,这是我们在报开发价之前,会先问客户的筛选题。
不做维护会怎样?
以下是实际会发生的版本,来自我们被找去抢救的项目。
第 6 到 12 个月: 表面上什么都没坏。你觉得自己很聪明。
第 12 到 18 个月: 小 bug 开始堆积。用户开始抱怨一些小毛病。没人有时间处理。
第 18 到 24 个月: 你没升级的某个依赖包被公布有安全漏洞。或者云端供应商淘汰了你系统在用的 runtime,警告邮件你一直没看。或者 PDPA 的执法通知来了,而你的数据处理方式还没到位。
第 24 个月之后: 抢救账单来了。要有人把 18 个月的依赖包全部升级、修好升级过程中弄坏的一切、补安全漏洞、迁移到还有支援的 runtime,然后重新测一遍。看情况恶化到什么程度,我们看过 RM25,000 到 RM80,000 的抢救报价。
同一段时间正常做维护,总额会比较少,通常少 40% 到 60%,而且中间不会停机。
签约前怎么估软件维护费用
有三件事要在开发合约签字之前写清楚,不是上线之后才谈。
1. 一份写明范围的维护配套。 不是“bug 我们会看着办”,那句话等于没说。要写清楚:包含托管与监控、每月包含 X 个开发工时用于修 bug 和小调整、Y 小时的回应时间 SLA、超出的部分按每小时 RM Z 计费。这些进合约。
2. 一份第三方服务清单和预估月费。 SendGrid、Twilio、AWS、Stripe,你的系统用到什么就列什么。按上线时的用量估个大概月费,再注明用量上去之后怎么涨。
3. 一条年度检讨条款。 软件会长大。上线时刚好的配套,到第二年会觉得紧。每 12 个月安排一次检讨,让双方可以调整范围、费率或时数,不必整份合约重谈。
如果你的供应商不肯在开发前把维护写下来,那是个警讯。上线之后才来搞清楚,代价永远比现在搞清楚更高。
想为已经在跑的系统要一份维护报价,或者想在开工前先把维护配套谈定?我们的定制软件开发团队两样都做,支援与维护服务以 RM 报价,MySST 和汇率因素分开列清楚。WhatsApp 找我们,说说你的系统现在是什么状况。我们会给你一个老实的判断。
本文关于软件维护开销的税务处理只是一般性说明,不构成财务或法律意见。签订任何合约之前,请咨询你的税务代理。文中数字是按撰文当时的马来西亚市场行情估算,实际情况可能有出入。




