A build quote has one number on it. Your accounts department will see six or seven, arriving from different companies, in different currencies, on different dates. None of that surprises the people who build software for a living. All of it surprises the owner paying for their first custom system.
This is not the maintenance retainer and it is not scope creep. It is the meter — the part of the bill that moves when customers use the thing you paid to build. ZenWeb builds and runs custom systems for Malaysian SMEs, and this page lists what the meter charges for. The video below covers total cost of ownership from the buying side.
1. What the Build Quote Does Not Cover
Quick Answer: A build quote prices the work of writing the software. It does not price the servers it runs on, the third-party services it calls, the messages it sends, or the licences it renews. Those six line items are the hidden costs of custom software, and together they usually start near RM1,100 a month.
What matters is who sends the invoice. A developer's work appears in the build quote or the support retainer. A platform's work appears on a separate bill, usually to a company card, usually in US dollars. That second bill is the one nobody models, and it sits alongside ZenWeb's web development pricing rather than inside it.
| Line item | Typical monthly cost | When it starts |
|---|---|---|
| Cloud hosting and database | RM250 – RM900 | Day one, before launch |
| Staging site and daily backups | RM120 – RM400 | Day one, before launch |
| Metered third-party API calls | RM80 – RM1,200 | When real traffic arrives |
| WhatsApp, SMS and email notifications | RM150 – RM2,000 | When customers start transacting |
| Software licences and SSL | RM60 – RM350 | Renewal month, often month 12 |
| Monitoring, logs and error tracking | RM50 – RM250 | Day one, or after the first outage |
Source: ZenWeb client sample, custom web systems built and supported for Malaysian SMEs, 2024–2026. Licence.

Read the right-hand column first. Two of these start before a single customer has logged in, which is why a system burns money for months while the team is still testing. The build itself is priced in the custom web application price guide, and the developer's ongoing time in web app maintenance cost and SLA plans.
Key takeaway: Ask who sends each invoice. Anything billed by a platform rather than your developer is not in the build quote, and that is the money most owners forget to reserve.
Want the running cost before you sign the build?
Send the feature list and we will list every third-party bill it generates in year one.
See how ZenWeb scopes custom systems →2. API Metering: The Bill That Grows With Your Users
Quick Answer: Most third-party services give you a free monthly allowance and charge per thousand calls after it. Google Maps Platform, for example, includes 10,000 free Dynamic Maps loads a month, then charges US$7.00 per thousand. Success is what makes this line item expensive, so model it at the traffic you want, not the traffic you have.
The trap is not the price. It is that the free tier hides the price until the month your marketing works. A map, an autocomplete box and a place-details lookup meter separately, and one customer journey can trigger all three.
| Type of site | Map loads a month | Address lookups a month | Modelled monthly bill |
|---|---|---|---|
| Brochure site with one branch map | 6,000 | 3,000 | US$0 |
| Busy service site with a branch finder | 25,000 | 15,000 | US$119 |
| Booking platform with address entry | 60,000 | 40,000 | US$690 |
| Delivery system with live tracking | 150,000 | 90,000 | US$1,901 |
Modelled scenario. Calculated by ZenWeb from Google's published Google Maps Platform core services pricing list, September 2026, including Place Details Pro lookups. Licence.

Two details make this worse than the table looks. Google bills in US dollars, so the ringgit figure moves with the exchange rate and your card's foreign transaction fee. And a page that reloads the map on every filter click multiplies loads without anyone noticing, which is why metering belongs in the web app requirements document from the start — the same discipline every connected service needs in a system integration budget.
Key takeaway: Free tiers are a delay, not a discount. Model every metered service at ten times today's traffic and set a hard spending cap on the account before launch.
3. Per-Message Fees for WhatsApp, SMS and Email
Quick Answer: Every order confirmation, OTP and reminder your system sends costs money per message. Meta has charged per delivered template message on the WhatsApp Business Platform since 1 July 2025, and from 1 October 2026 it also charges for service messages and for utility messages sent inside the 24-hour customer service window.
Malaysian systems lean on WhatsApp harder than systems built anywhere else, so this line grows faster here. Three rules from Meta's WhatsApp Business Platform pricing documentation decide the bill.
- Template category sets the rate. Marketing costs several times more than utility or authentication, applied at the moment the template is used.
- The recipient's country code sets the rate, not yours. Malaysia is standalone on Meta's rate card, and MYR became a billing currency on 1 April 2026.
- From 1 October 2026 the free ground shrinks. Service messages become chargeable, with 1,000 free per business phone number a month, and utility templates inside an open service window stop being free.
| Notifications sent a month | WhatsApp templates | SMS fallback | Transactional email | Monthly total |
|---|---|---|---|---|
| 500 | RM30 | RM45 | RM12 | RM87 |
| 2,000 | RM120 | RM180 | RM25 | RM325 |
| 10,000 | RM590 | RM900 | RM60 | RM1,550 |
| 40,000 | RM2,300 | RM3,600 | RM150 | RM6,050 |

Source: ZenWeb client sample, notification spend on Malaysian custom systems under support, 2024–2026. Licence.
Notice how SMS overtakes WhatsApp. Most Malaysian systems keep SMS only as a fallback for failed WhatsApp delivery, and it still ends up the larger bill because the per-message price is higher. Before planning a heavy notification flow, read how the WhatsApp Business API works in Malaysia and the detail in WhatsApp API, blast and chatbot pricing.
Key takeaway: Count the messages one customer triggers from order to delivery, multiply by your monthly order target, and you have the notification budget. Most owners undercount by a factor of three.
4. Servers, Staging and Backups: What Environments Cost
Quick Answer: Custom software needs more than one server. A live environment, a staging copy for testing changes, and off-server backups together run RM370 to RM1,300 a month for a mid-sized Malaysian system. Skipping staging saves about RM200 a month and costs far more the first time a change breaks something live.
Shared hosting works for a brochure website. It rarely works for a system with a database, background jobs and file storage, which is where that assumption breaks.
- Live environment. An application server plus a managed database. The non-negotiable one.
- Staging environment. Where changes get tested before customers see them. Cheaper to run than to skip.
- Off-server backups. A backup on the same server is not a backup. Restores get tested, not assumed.
- File and image storage. Grows quietly, forever, billed by the gigabyte-month.
- Monitoring and error logs. The difference between knowing at 9am and hearing it from a customer at noon.

Where the servers sit changes latency, data residency and support hours, which local versus overseas servers covers. If your system holds customer records, PDPA security for web systems sets what you must be able to prove, and a tested backup and restore plan is the line nobody regrets.
Key takeaway: Budget for two environments and a backup you have actually restored. The RM200 a month staging costs is the cheapest insurance in the whole stack.
Not sure what your system will cost to run?
Tell us the feature list and your monthly order target, and we will map the hosting, metering and messaging lines against it.
Compare web development budgets →5. Licences, SSL and the 8% Nobody Budgets
Quick Answer: Custom systems sit on paid components — a charting library, a PDF generator, a reporting tool, a wildcard SSL certificate. Most renew annually. On top of that, foreign digital services supplied to Malaysia carry 8% service tax, which raises every overseas software subscription your system depends on.
Malaysia's service tax on digital services rose from 6% to 8% on 1 March 2024, administered by the Royal Malaysian Customs Department through its MySToDS portal. Foreign providers register once their Malaysian sales pass the threshold, and the tax lands on your invoice.
It is a small percentage on a bill nobody added up in the first place, which is why it stings. Against that, software spend is often deductible — the treatment sits in custom software tax deduction and capital allowance.
Two licence questions decide whether renewals become a problem: whose name is on each licence, and what happens if you change developers. Source code ownership covers the first, and what SSL is and why every site needs HTTPS covers the certificate that quietly expires at 3am.

Key takeaway: Ask for a written list of every paid component, its renewal date and whose account holds it. Add 8% to the overseas ones and you have the real annual figure.
6. QA, Training and Getting Staff to Actually Use It
Quick Answer: The largest hidden cost of custom software is usually paid in staff hours, not ringgit. Acceptance testing, data migration checks, writing the internal how-to, and the weeks when your team runs the old process alongside the new one are all real costs that never appear on any invoice.
A system nobody uses properly costs more than no system at all: you keep paying the running costs while the work still happens in a spreadsheet.
- Acceptance testing. Someone who knows the business clicks through every path before launch. Budget several days of a senior person's time.
- Data migration and cleaning. Old records are always messier than remembered, and this is the step that most often slips a launch date.
- Training and written steps. A short searchable guide beats a recorded call nobody rewatches.
- The parallel-run period. Two to six weeks of doing the job twice while confidence builds.

None of this is billable to the developer, which is why it disappears from the budget. The quoting model matters here too, since a fixed-price contract usually defines when acceptance ends and support begins — fixed price versus hourly quoting compares how each handles it. Where staff time is the real constraint, in-house developers versus outsourcing is the related decision.
Key takeaway: Put a ringgit value on the internal hours before you sign. Costing them at zero is what turns a good build into a shelved one.
7. What Year One Actually Costs to Run
Quick Answer: Running costs on a mid-sized Malaysian custom system start near RM1,150 a month and reach about RM4,300 by month twelve. Across the first year that is roughly RM28,000 to RM34,000, entirely separate from the build price and from any developer support retainer.
The curve rises for one good reason: people are using the system. The shape below is consistent enough to plan against.
| Month after launch | Average monthly cost | Main driver |
|---|---|---|
| Month 1 | RM1,150 | Hosting, staging and first licences |
| Month 2 | RM1,400 | Log and file storage start growing |
| Month 3 | RM1,950 | First real notification volume |
| Month 6 | RM2,900 | Usage crosses the free API caps |
| Month 9 | RM3,600 | Annual licences, SSL and service tax |
| Month 12 | RM4,300 | Second integration and reporting load |
Source: ZenWeb client sample, third-party running costs on Malaysian custom systems in their first year live, 2024–2026. Licence.

Month nine catches owners out, because annual renewals and the tax on them arrive together. Set that money aside in month one. A marketplace climbs faster still, since every extra seller adds notifications and storage — multi-vendor marketplace budgets shows where. A first version is the gentler end of the same curve, in MVP development cost in Malaysia. On an inherited system the running costs are already set by someone else's decisions, which is where a legacy system takeover starts.
Key takeaway: Reserve about RM30,000 for the first twelve months of running a mid-sized custom system, and hold a month-nine buffer for renewals.
8. How to Build a TCO Worksheet Before You Sign
Quick Answer: A total cost of ownership worksheet is one page with five columns: the line item, who bills it, what makes it grow, the cost at today's volume, and the cost at your target volume. Filling it in takes an afternoon and settles most arguments about whether a build is affordable.
How to build a TCO worksheet in five steps
Do this before you sign anything. Ask the developer to fill the columns they know and check the rest yourself.
- List every external service the system will call. Maps, payments, messaging, email, storage, accounting, monitoring. If a feature talks to something outside your system, it earns a row.
- Write down who sends each invoice. Developer, platform, hosting provider, or your own staff time. Anything not billed by the developer is a cost you must reserve separately.
- Name the unit that makes each row grow. Per map load, per message, per gigabyte, per user, per order. This one column is what turns a fixed budget into a forecast.
- Price each row twice — today's volume and your target volume. Use the target you would call success. If the second number is unaffordable, the feature needs redesigning now, not later.
- Add 8% to every overseas subscription and a renewal month to each licence. Then total the twelve months. That figure, not the build quote, is what the system costs you in year one.

Keep the sheet after launch and update it monthly. It doubles as an early warning when one line runs away, and it is the first document a new developer asks for if you ever switch web developers. The pattern repeats in advertising too, where the hidden costs of digital marketing follow the same logic.
Key takeaway: One page, five columns, priced at success rather than at today. That single sheet is the difference between a budget and a hope.
9. Budgeting for the Real Number
Quick Answer: Take the build quote, add roughly RM30,000 for the first year of running costs, add the developer's support retainer, and add the internal hours for testing and training. That total is what the hidden costs of custom software turn a build into, and it is the number worth approving.
None of this argues against building. A system that removes a manual process usually repays all of it inside two years. It argues against approving one number and then discovering five more, which is what makes an owner regret a good decision.

ZenWeb quotes the build and the running costs on the same page, with metered lines priced at the volume the client is aiming for. Start from our web development pricing, or the support side in website maintenance cost in Malaysia. Ad and search budgets have their own versions of this, in the hidden costs of Google Ads beyond media spend, the hidden costs of Facebook Ads and the SEO fees a retainer may not cover.
Want the full cost of your system on one page?
Book a free 30-minute session. Bring your feature list and monthly order target, and we will hand back a build range plus a twelve-month running cost with every metered line priced.
Get my TCO worksheet →
10. Frequently Asked Questions
1. What are the hidden costs of custom software?
Cloud hosting and databases, a staging environment, off-server backups, metered third-party API calls, per-message WhatsApp and SMS fees, software licences and SSL renewals, monitoring, and the internal staff hours spent testing and training. On a mid-sized Malaysian system these start near RM1,150 a month.
2. How much does it cost to run custom software in Malaysia each year?
Roughly RM28,000 to RM34,000 in year one for a mid-sized system, rising from about RM1,150 a month at launch to around RM4,300 by month twelve. That figure excludes the build price and any developer support retainer.
3. Why do API costs go up after launch?
Most platforms include a free monthly allowance and charge per thousand calls beyond it. Google Maps Platform, for instance, includes 10,000 free Dynamic Maps loads a month and charges US$7.00 per thousand after that, so the bill appears in the month your traffic grows.
4. Do I pay per WhatsApp message my system sends?
Yes. Meta has charged per delivered template message since 1 July 2025, at rates set by template category and the recipient's country. From 1 October 2026 service messages are also charged, with 1,000 free per business phone number each month, and utility templates inside the customer service window stop being free.
5. Is there tax on overseas software subscriptions in Malaysia?
Yes. Digital services supplied to Malaysia by a foreign registered person carry 8% service tax, raised from 6% on 1 March 2024 and administered by the Royal Malaysian Customs Department. Add it to every overseas subscription your system depends on.
6. Can I avoid a staging environment to save money?
You can, and it saves roughly RM200 a month. It also means every change is tested on the live system in front of customers. One bad afternoon costs more than a year of staging.


