What Does a Maintenance Agreement Cost?
A maintenance agreement for a system or app usually costs SEK 10,000–50,000 a month. The price is driven by scope: the number of hours included, SLA levels for response and resolution time, uptime requirements, and whether on-call coverage is included. Simpler products sit at the bottom of the range, business-critical systems with strict SLAs at the top.
Maintenance is what determines whether your product still works, stays secure, and remains possible to develop further in three years. The price tag varies more than most people expect – here’s what drives it, and the traps that turn a cheap agreement into an expensive one.
The price picture: SEK 10,000–50,000 a month
| Level | Monthly cost | Typically includes |
|---|---|---|
| Basic | SEK 10,000–20,000 | Monitoring, security updates, bug fixes during office hours |
| Standard | SEK 20,000–35,000 | Basic plus an hour bank for minor changes, priority support, regular upgrades |
| Extended | SEK 35,000–50,000 or more | Standard plus strict SLAs, after-hours on-call coverage, a named team |
Below the lower bound, it’s usually “we’ll get in touch if something breaks” with no real commitment. Above the upper bound, it’s effectively continuous product development rather than maintenance – which can be exactly right, but it’s a different budget line.
SLA levels drive the price
Three parameters in the service-level agreement matter more for the price than anything else:
- Response time and resolution time. Keep them separate: response time says when work begins, resolution time when the fault must be fixed. Short resolution times for critical bugs require the vendor to keep capacity on standby – and that costs.
- Availability. Support during office hours is one thing; on-call coverage evenings, nights, and weekends is another entirely. On-call is priced even when it’s never used.
- Uptime commitments. Percentage-based availability promises require monitoring, redundancy, and processes. Ask how uptime is measured and what happens if the commitment is missed.
Buy a service level based on actual consequences, not on what sounds reassuring. The question to ask: what does an hour of downtime cost us – in kronor, customers, or trust?
More factors that drive the price
- The tech stack. Standard technology that many developers know is cheaper to maintain than unusual choices requiring specialists.
- Number of integrations. Every connection to another system is a potential failure point that needs monitoring and maintaining when the other side changes.
- User volume and release pace. More users find more bugs, and a product that ships often needs more testing each month.
- The state of the code. A documented codebase with automated tests is cheaper to maintain – ask the vendor to justify their price against that.
Worked example: two products, two reasonable levels
An internal staff app that’s down for half a day causes annoyance but little real damage. A basic level around SEK 12,000–15,000 a month with fixes during office hours is plenty.
An e-commerce store that does a large share of its sales on weekends loses orders every hour it’s down. There, an extended level with on-call coverage is justified – compare the agreement’s annual cost with the cost of a single long outage on a Saturday night, and the math becomes simple.
Most real products fall between these two extremes. That’s why a review of your actual consequences when something breaks is worth more than any price list – it decides which row in the table you should negotiate over.
The contract traps
- Lock-in. A long notice period combined with the vendor owning accounts and documentation makes you expensive to move. Require your own ownership and continuously updated documentation.
- A blurry line against further development. Anything not explicitly included gets billed separately. Ask for example lists in the contract: what’s maintenance, what’s new functionality?
- An hour bank that expires unused. Unused hours that reset every month are money down the drain. Negotiate to have them roll over quarterly.
- Automatic index increases with no cap. An annual adjustment is reasonable – but tie it to an index and set a cap.
- “Everything’s included.” What’s included is whatever’s written down. Unspecified promises are worth exactly what they cost to write.
- Untested backups. Backups being taken isn’t the same as backups being restorable – require that restoration is tested regularly.
Before you sign
Check that the agreement defines the services included, service levels per severity, the hour bank’s terms, ownership of accounts and documentation, and an orderly exit. At Weapp we’d rather set an honest level from the start than sell a cheap agreement that grows afterward – want a review of your product’s needs? Get in touch.
Frequently asked questions
What's the difference between response time and resolution time?
Response time is how quickly the vendor confirms and starts working on an issue; resolution time is when the fault must be fixed. An agreement that only promises response time therefore promises less than it sounds like – a critical bug could be 'started' for days. Require both, per severity level.
Is further development included in a maintenance agreement?
Normally not. Maintenance keeps the product in working order, while new features are further development, quoted separately. Many agreements include an hour bank for minor changes – ask for concrete examples in the contract of what counts as which category.
Can maintenance be handled by a different agency than the one that built it?
Yes, provided you hold the source code, documentation, and accounts yourself. A new vendor usually starts with a paid code review before taking responsibility for the product. That's a reasonable cost – be skeptical instead of anyone who promises to take over without having seen the code.
What does on-call coverage outside office hours cost?
On-call coverage is one of the clearest price boosters in a maintenance agreement, because you're paying for the readiness itself – someone has to be available even on the nights nothing happens. It's only worth it once the cost of a nighttime outage exceeds the price of the coverage. Calculate your actual downtime cost.
How long a commitment period is reasonable in a maintenance agreement?
Twelve months with three months' notice is common and reasonable. A longer commitment should give something back, like a lower price or an expanded scope. Always check that the exit terms give you documentation, data, and an orderly handover, regardless of why the agreement ends.