1
Identify both parties using full legal entity names
Enter the vendor's and client's registered legal names, entity types, states or countries of incorporation, and principal business addresses in the recitals block.
💡 Cross-reference the vendor's corporate registry filing — using a trade name instead of the registered entity can complicate enforcement of IP and confidentiality clauses.
2
Define the software in Schedule A
List the specific software product name, version number, deployment environment (on-premise, hosted, or hybrid), and any licensed modules covered by the agreement. Attach this as Schedule A and cross-reference it in the body.
💡 Include the version as of the effective date — this prevents disputes about whether the agreement covers a future major release the vendor has not yet developed.
3
Complete the SLA table with specific time commitments
Assign response and resolution targets to each priority level (P1–P4), define Business Hours and timezone, and list public holidays that are excluded from SLA calculations.
💡 Set P1 response times in hours, not business days. A P1 outage that the vendor can ignore for 24 business hours is not a meaningful SLA.
4
Set the maintenance fee, payment terms, and escalation cap
Enter the annual or monthly fee, invoicing frequency, Net 30 or other payment terms, late-payment interest rate, and the maximum percentage by which the vendor can increase fees on renewal.
💡 A 3–5% annual escalation cap is standard and acceptable to most clients. An uncapped escalation right will be flagged by every client procurement team.
5
Define the version support policy
Specify how many major versions the vendor will support simultaneously and how many months after a new release the prior version remains supported. State the client's obligation to upgrade within that window.
💡 12 months of overlap support after a major release is the industry norm for enterprise software. Shorter windows create upgrade pressure that clients resent.
6
List exclusions with precision
Enumerate each category of work that falls outside the maintenance scope — enhancements, third-party integrations, hardware, data migration — and state how out-of-scope requests will be handled (separate SOW, change order, or time-and-materials billing).
💡 Add a carve-out confirming that exclusions do not apply to defects caused by the vendor's own maintenance work — this protects clients from overbroad denial of service.
7
Set the term, auto-renewal, and termination notice periods
Choose a 1- or 2-year initial term, confirm whether the agreement auto-renews, and set the notice period for non-renewal at 30–90 days before the renewal date.
💡 60 days is the practical minimum notice for non-renewal — clients need time to evaluate alternatives and migrate; vendors need time to plan capacity.
8
Execute before the maintenance period begins
Both parties must sign the agreement before the first maintenance fee is invoiced or the first support ticket is submitted. Post-service-commencement signatures weaken enforceability of liability limits and exclusions.
💡 Use a timestamped e-signature platform to record execution date — this matters if an SLA dispute arises close to the contract anniversary.