Back to blog
7 min read

Software Maintenance Proposal: Template and What to Include

A commented software maintenance proposal template: scope, SLA, hour bank, exclusions and exit terms without lock-in, with pricing of 500 to 1,500 EUR per month.

Share

Most software maintenance proposals an SME receives fit on half a page and commit the provider to nothing. No SLA, no defined scope, no exit terms. Then the surprises arrive: variable invoices and fixes that take a week. This article gives you a complete template, section by section, with typical pricing of 500 to 1,500 EUR per month, so you know exactly what to demand before signing.

What should a software maintenance proposal include?

A serious software maintenance proposal has six blocks: detailed scope, an SLA with response times, an hour bank, explicit exclusions, a fixed monthly price and exit terms. If any of them is missing, the client carries the risk. The document does not need 30 pages; 3 or 4 well-written ones are enough for both sides to know what is covered, what it costs and how the relationship ends if things stop working.

The usual problem is deliberate ambiguity. An industrial distributor with 30 employees showed us their current contract: one page containing the phrase 'comprehensive systems maintenance' and a fee of 900 EUR per month. When their ERP stopped syncing orders, the provider invoiced the fix separately because 'it was an integration issue, not maintenance'. With a written scope, that argument never happens. Every vague term in a proposal turns into an extra invoice sooner or later.

How do you define the scope without grey areas?

Template wording for the scope section: 'The service covers the warehouse management application (production and staging environments), the corporate website and the ERP integration. It includes corrective maintenance (bug fixing), adaptive maintenance (adjustments caused by third-party changes such as ERP or payment gateway updates) and preventive maintenance (dependency updates, monitoring and backup verification). Any system not listed is out of scope and is added through an annex signed by both parties'.

The key comment: scope must name specific applications, not categories. 'The client's systems' means nothing; 'the warehouse application and the ERP integration' does. Also insist that preventive maintenance appears in writing with tasks and frequencies, because it is the first thing to disappear when the provider is short on time. In this preventive maintenance guide we explain which tasks prevent most outages and how often they should run.

What SLA and response times are reasonable?

Template wording for the SLA: 'Critical incident (system down or data loss): first response within 4 working hours and target resolution within 1 working day. High incident (core function degraded): response within 8 working hours and resolution within 2 days. Medium incident: response within 1 day and resolution within 5 days. Low incidents and minor improvements are scheduled into the next monthly cycle. Repeated SLA breaches over 2 consecutive months entitle the client to terminate the agreement without penalty'.

Two nuances almost nobody explains. First, response time is not resolution time: responding within 4 hours means a qualified engineer starts working, not that the problem disappears. Second, coverage hours matter: a 24/7 SLA can double the monthly fee and most SMEs do not need it. For a warehouse operating from 7:00 to 19:00, a Monday to Friday SLA within those hours covers 95 percent of real scenarios at half the price.

How does the hour bank work and which exclusions are legitimate?

Template wording for the hour bank: 'The fee includes 10 hours of technical work per month. Unused hours roll over to the following month up to a limit of 50 percent. Additional hours are billed at the rate agreed in this proposal, subject to prior written approval by the client. Each month the client receives a breakdown of hours consumed per task'. Typical banks are 5, 10 or 20 hours depending on the size of the system and its pace of change.

Legitimate exclusions: new features above an agreed number of hours (quoted separately, in our case one-off fixes start at 300 EUR and mid-size projects at 1,500 EUR), full platform migrations, incidents caused by third-party changes outside the covered systems and training beyond what is included. The illegitimate exclusion that should end the conversation: charging separately to fix bugs the provider introduced. If they break something in a deployment, fixing it does not consume your hour bank.

How much does monthly maintenance cost and how should the price be presented?

Typical ranges for a Spanish SME in 2026: 500 to 800 EUR per month for a stable application with a 5 to 10 hour bank; 800 to 1,200 EUR for systems with integrations (ERP, payment gateways, logistics) and a tighter SLA; and 1,200 to 1,500 EUR for business-critical software covering several applications. Our technical retainer starts at 500 EUR per month. In this software maintenance cost analysis we break down how the figure is calculated and what share of the initial build cost it represents.

How the price is presented says as much as the figure itself. Be wary of proposals with a low fee and small print full of variable rates: 400 EUR per month plus 90 EUR per extra hour with no cap ends up costing more than a fixed 900 EUR. The right format is a table with a fixed monthly fee, included hours, the rate for additional hours and a price review at most once a year, tied to inflation or an agreed percentage.

Which exit terms prevent vendor lock-in?

Template wording for the exit clause: 'This agreement has no minimum term. Either party may terminate it with 30 days notice. Source code, repositories, credentials, documentation and data belong to the client from day one. On termination, the provider will deliver an orderly handover (access, updated documentation and a technical session with the incoming team) within the following 15 days at no additional cost'.

If a provider will not accept a clause like this, you already know how the relationship ends. A 12-month minimum term, code kept in repositories you do not control or 'documentation available on request' are the three classic signs of manufactured dependency. A healthy maintenance contract survives because the service works, not because leaving is expensive. We work without minimum terms for exactly that reason: clients who stay do so because of the results.

Frequently asked questions

What is the difference between a maintenance proposal and a maintenance contract?

The proposal is the commercial document detailing scope, SLA, hour bank and price; the contract formalises it legally. In practice, a good 3 or 4 page proposal becomes the technical annex of the contract. If the proposal is vague, the contract inherits that vagueness, so demand the detail before signing anything.

How many monthly hours does an SME need?

For a stable application with few changes, 5 to 10 hours per month is usually enough. If the software evolves every month with new integrations, reports or process changes, 15 to 20 hours is more realistic. Review real consumption quarterly: if you have stayed under 50 percent for 3 months, reduce the bank.

Is a 12-month minimum term normal?

It is common, but not acceptable. A long minimum term only protects the provider. Reasonable terms are zero commitment or at most an initial 3 months to absorb onboarding, with 30 days notice. A service that works does not need a contract to retain you.

What happens to unused hours?

It depends on what you sign. The reasonable standard is rolling over up to 50 percent of unused hours to the next month. Losing everything each month penalises quiet periods; unlimited accumulation creates hour banks the provider cannot absorb. Also request a monthly breakdown of consumption per task.

How much does maintaining custom software cost per year?

Between 6,000 and 18,000 EUR per year for an SME, meaning 500 to 1,500 EUR per month depending on criticality, integrations and SLA. As a quick reference, annual maintenance usually sits between 15 and 20 percent of what the software cost to build. Less than that usually means a bare-minimum service.

Request a real proposal for your software

Tell us which system you need maintained and we will send a proposal with scope, SLA and a fixed price from 500 EUR per month. No minimum term, no subcontracting, and the code stays in your name.

Request a proposal
Ignacio José Álvarez-Sierra Diez

Ignacio José Álvarez-Sierra Diez

CEO & Fundador · ASD Solutions

I am Ignacio Álvarez-Sierra, founder of ASD Solutions. Our senior in-house team has over 6 years building custom software for companies, focused on Go, Node.js, React and cloud-native architectures. No outsourcing: you talk directly to the people who write the code.

React · TypeScript Go · Node.js · AWS 6+ years experience LinkedIn GitHub

Technical audit for €190

Diagnosis in 72h and full report in 5 days. Credited to your project if you hire us.

See our full process, pricing and technology stack:

Custom Software Development