Skip to content

Costs

Software maintenance costs: what do maintenance and operations cost per year?

By Dominik Natter · Last updated on 3 November 2026 · 8 min read

In short

Budget 15 to 20 percent of the original project cost per year for maintaining and operating custom software. For a CHF 60,000 project, that is CHF 9,000 to 12,000 per year, or CHF 750 to 1,000 per month, as a guideline excluding VAT. This covers security updates, monitoring, backups, support and agreed response times, and with us also hosting in the EEA. New features count as further development and are budgeted separately.

What percentage of project cost does software maintenance take?

Plan on 15 to 20 percent of the original project cost per year. We use the same guideline on our service and solution pages. All amounts in this guide exclude VAT. That applies equally in Switzerland and Liechtenstein, since Liechtenstein is part of the Swiss VAT area.

The percentage is tied to the project price because larger applications have more libraries, more interfaces and more data. Each of these needs updates, monitoring and backups. A simple interface tends towards 15 percent. An application with many integrations and user groups tends towards 20 percent.

Swiss providers charge hourly rates between CHF 150 and 250. At CHF 200 per hour, CHF 12,000 per year buys around 60 hours. Part of that goes to hosting and tooling, the rest is working time on your application.

of project cost per year for maintenance and operations
15 to 20%
maintenance per year for a CHF 60,000 customer portal, up to CHF 12,000
CHF 9,000
of the original project cost goes on maintenance over five years
75 to 100%
hourly rates charged by Swiss providers
CHF 150 to 250

What maintenance covers, and what counts as further development

Maintenance keeps an application secure and running. It does not change what the software can do. Further development is anything that adds functionality: an extra module, a new interface, another user group. It does not belong in the maintenance fee. It is planned like a project, as a phase with a cost ceiling.

These services belong in a maintenance contract:

  • Security updates: operating system, runtime such as PHP, Node.js or .NET, database and framework are updated promptly. Critical vulnerabilities are patched outside the regular cycle as well.
  • Dependency management: a modern web application relies on many third-party libraries. They are reviewed regularly and kept on supported versions.
  • Monitoring: availability, errors, disk space and interfaces are checked continuously. If something goes wrong, the provider is alerted before your staff pick up the phone.
  • Backups and restore tests: data is backed up automatically, stored in a second location and restored on a test basis at regular intervals. A backup that has never been tested proves nothing.
  • Support: a fixed point of contact for questions and incidents, with agreed response times.
  • Small changes: a modified field, a new report, an adjusted template. A yearly allowance of hours is common.
  • Documentation: changes are recorded so that the operations manual and the code stay in sync.

Components of maintenance and operations with cost ranges

ComponentCostNote
Maintenance and operations overall15 to 20% of project cost per yearGuideline excl. VAT, with us including hosting in the EEA
Security updatesincluded in maintenanceongoing, critical vulnerabilities immediately
Upgrade to a new major versionplan and budgetEffort depends on the backlog, e.g. .NET 8 and 9 until 10 Nov 2026
Monitoring and alertingincluded in maintenanceavailability, errors, interfaces
Backups and restore testsincluded in maintenanceregular restore tests, with a report
Support and small changesallowance of hoursSwiss provider rates CHF 150 to 250
Server infrastructurefrom around EUR 6 per monthEntry price of a large provider, production setups considerably more
Further developmentnot part of maintenanceas a phase with a cost ceiling
Guidelines excl. VAT. An amount only becomes binding with the quote for your maintenance contract.

Look at web application hosting costs separately

Hosting means running the servers your application lives on.

The infrastructure itself is usually the smaller part of operating costs. A basic virtual server in a data centre in Germany or Finland starts at around EUR 6 per month excluding VAT with a large provider. A production business application needs more: a database, backup storage in a second location, a test environment, monitoring and an email delivery service.

Costs rise with large data volumes, many documents and images, peak loads and high availability requirements. Ask about the location too. For personal data, a data centre in Switzerland or the EEA is usually simpler from a data protection point of view than one elsewhere.

Response times and SLAs explained

A service level agreement, or SLA, sets out how quickly the provider responds and how available the application should be. Read the commitments carefully, because similar terms mean different things.

  • Response time: when someone gets back to you and starts the analysis. It says nothing about when the problem is fixed.
  • Resolution time: when the incident is fixed or worked around. It is often only promised as a target, because some causes lie with third parties such as the ERP vendor.
  • Service hours: the hours during which the clock runs. Business hours from Monday to Friday cost less than round-the-clock on-call cover.
  • Priorities: a complete outage is more urgent than a badly formatted report. Good contracts define three or four levels, each with its own deadlines.
  • Availability: a commitment of 99.5 percent allows around 3.6 hours of downtime per month. Check whether planned maintenance windows count.

What happens if software is not maintained?

Without maintenance, software keeps running at first. The risk grows quietly until an event makes it visible. The past few weeks show how fast that can happen.

On 21 October 2026, the PHP project released security updates for all supported versions. They fix two critical vulnerabilities rated 9.2 under CVSS 4.0. Attackers could use them to run their own code on the server without logging in. The PHP project urged everyone to update immediately. With a maintenance contract, that was the provider's job. Everyone else had to find someone at short notice.

On top of that, versions reach end of life. Applications on these versions keep running, but new vulnerabilities are no longer fixed. Read more in our guide "PHP 8.2 end of life: what SMEs need to do by the end of 2026".

  1. 10 November 2026

    .NET 8 and .NET 9

    Microsoft ends support for .NET 8 and .NET 9.

  2. 31 December 2026

    PHP 8.2

    After this date, PHP 8.2 receives no more security updates.

The third problem is technical debt. If you put off updates for years, you eventually have to jump several versions at once. Libraries stop fitting together, and routine work turns into a project. That sudden large effort can cost more than several years of maintenance you saved.

Three worked examples and the cost over five years

The examples use the price ranges from our solution pages and the 15 to 20 percent guideline. They are guidelines, not a quote.

Annual maintenance cost in three examples

+Show values as a table
ValueMaintenance at 15%Maintenance at 20%
Shop to ERP interface, CHF 30,000CHF 4'500CHF 6'000
Customer portal, CHF 60,000CHF 9'000CHF 12'000
FileMaker replacement, CHF 120,000CHF 18'000CHF 24'000
Worked example based on assumptions: project costs from the price ranges on our solution pages, maintenance at 15 to 20 percent of project cost per year, guidelines excl. VAT.

Shop to ERP interface for CHF 30,000: maintenance costs CHF 4,500 to 6,000 per year, or CHF 375 to 500 per month. The focus is on monitoring, updates and adjustments when the shop or ERP is updated.

Customer portal for CHF 60,000: maintenance costs CHF 9,000 to 12,000 per year, or CHF 750 to 1,000 per month. Because your customers log in from outside, security updates and monitoring carry particular weight here.

Replacing a FileMaker solution for CHF 120,000: maintenance costs CHF 18,000 to 24,000 per year, or CHF 1,500 to 2,000 per month. The application is business-critical and connected to ERP and accounting. Short response times are more likely to be justified here.

Over a five-year service life, maintenance adds up to 75 to 100 percent of the original project cost. For the customer portal, that is CHF 45,000 to 60,000. Factor these lifecycle costs in from the start. How the project cost itself comes about is explained in our guide “What does custom software cost”.

Checklist: what to look for in a maintenance contract

Check every maintenance contract against these points before you sign.

  • Scope: which updates, which monitoring and which backups are included? What is explicitly excluded?
  • Response times: deadlines per priority level, service hours and contact channels are set out in writing.
  • Cost ceiling: a fixed annual fee or an allowance of hours with an upper limit. Anything beyond that only with your approval.
  • Boundary with further development: it is clear who decides whether a request is maintenance or a new project.
  • Termination: the term and notice period allow you to switch without being tied in for years.
  • Source code and rights: the code sits in a repository you can access, and the usage rights are yours. Read more in our guide "Who owns the source code of custom software? Rights in Switzerland and Liechtenstein".
  • Handover: if you switch, the provider hands over documentation, access and data in an orderly way and supports a transition period.
  • Hosting and data location: where are the servers, who has access, and where are the backups kept?
  • Restore tests: how often is a restore tested, and do you receive a report on it?
  • Annual report: an overview of updates, incidents and upcoming version changes so you can budget for larger steps.

When you need less maintenance

Not every application needs the full package. Less is enough in these cases:

  • The tool is used only internally during business hours. Then you do not need weekend on-call cover.
  • Your IT partner already runs servers and backups. Then they take over hosting, and the developer only looks after the application and its dependencies.
  • The application is not reachable from the internet. The risk is lower, but updates are still needed.
  • The software will be replaced soon. Then security updates and backups are enough until the switch.

Where this information comes from

Percentages, price ranges and hourly rates

The percentages and price ranges are guidelines excluding VAT and match the figures on our service and solution pages. The hourly rates of CHF 150 to 250 reflect what Swiss providers publish.

PHP and .NET

The PHP information comes from the PHP project's security advisory of 21 October 2026 and the overview of supported versions on php.net. The .NET dates come from Microsoft's .NET support policy.

Server prices

The entry price for servers comes from the public Hetzner Cloud price list.

Legal notes

The legal notes refer to Art. 8 of the Swiss Data Protection Act and Art. 32 GDPR and do not constitute legal advice.

Worked examples

The worked examples are based on the stated assumptions. An amount only becomes binding with the quote for your maintenance contract.

As of: November 2026.

Maintenance and operations overall15 to 20% of project cost per yearGuideline excl. VAT, with us including hosting in the EEA
Security updatesincluded in maintenanceongoing, critical vulnerabilities immediately
Upgrade to a new major versionplan and budgetEffort depends on the backlog, e.g. .NET 8 and 9 until 10 Nov 2026
Monitoring and alertingincluded in maintenanceavailability, errors, interfaces
Backups and restore testsincluded in maintenanceregular restore tests, with a report
Support and small changesallowance of hoursSwiss provider rates CHF 150 to 250
Server infrastructurefrom around EUR 6 per monthEntry price of a large provider, production setups considerably more
Further developmentnot part of maintenanceas a phase with a cost ceiling

Frequently asked questions

Is a software maintenance contract mandatory?

No, the law does not require a maintenance contract. If you process personal data, however, you must protect it appropriately: in Switzerland under Art. 8 of the Data Protection Act, in Liechtenstein under Art. 32 GDPR. Without regular security updates and tested backups, that is hard to justify for a web application. Whether you handle maintenance yourself, through your IT partner or with the developer is your decision.

What is the difference between software maintenance and further development?

Maintenance keeps the software secure and running, further development adds new features. Maintenance covers security updates, monitoring, backups, support and small changes within the agreed hours. A new module, an additional interface or another user group counts as further development and is planned as a separate phase with a cost ceiling.

Can we cancel the maintenance contract and switch providers?

Yes, if the contract allows it and you hold the source code, documentation and access credentials. So when you sign, look for a reasonable term, a clear notice period and an obligation to hand over in an orderly way. With us, the repository, architecture description and operations manual are yours from day one.

Who runs the software after go-live?

We do, if you wish. A maintenance contract covers hosting in the EEA, monitoring, security updates, backups and agreed response times. The usual figure is 15 to 20% of the project cost per year. You can also run the software on your own infrastructure or hand it to your IT partner.

How dependent do we become on Natter Solutions?

As little as possible, and we make sure of that from day one. Every project is documented and handed over so that it can be operated and developed without us: the repository, architecture description, operations manual and access credentials are in your hands.

Matching services:Custom softwareIntegrations

Let us talk about your case.

20 minutes are enough to find out whether a custom solution is worth it for you.