Nine Minds Logo

Navigation

14.9. Manage MSP Contract Renewals: Manual, Auto-Renew, and Upcoming Renewals Queue

Track AlgaPSA contract renewals through the Upcoming Renewals queue, choose Manual or Auto Renew modes, configure tenant-level renewal automation, and avoid contracts expiring silently.

14.9. Manage MSP Contract Renewals: Manual, Auto-Renew, and Upcoming Renewals Queue
Track AlgaPSA contract renewals through the Upcoming Renewals queue, choose Manual or Auto Renew modes, configure tenant-level renewal automation, and avoid contracts expiring silently.
14. Billing and ContractsUpdated: 5/12/2026

Renewal cycles are where revenue quietly leaks out of an MSP. Contracts roll over with stale pricing, expire silently, or auto-renew on terms nobody reviewed. Alga PSA's Upcoming Renewals queue is built to stop that — it surfaces every contract approaching a renewal decision so your billing team can act on it before the end date passes.

Open Billing > Contracts > Client Contracts and click the Upcoming Renewals sub-tab. The number on the sub-tab badge reflects the total renewals returned by the underlying query (which uses a default horizon of roughly the next 90 days) and does not change when you switch the visible time-window filter on the page. That distinction matters when you are reconciling what you see in the table against the count next to the tab.


Renewal Modes

Every contract gets a renewal mode when it is created or edited. The mode determines whether — and how — the contract appears in the queue.

ModeBehavior
No RenewalContract ends on its end date. Nothing is queued.
Manual RenewalContract enters the renewal queue as it approaches its end date. Your team decides whether to renew.
Auto RenewMarks the contract for automatic renewal and stores a renewal term in months. The contract still surfaces in the renewal queue as the end date approaches.

Auto Renew caveat. Today there is no background job that extends the contract end date or activates a successor contract on Auto Renew's behalf. The "Auto Renew" mode is essentially a labelled queue entry — it tells you that the intent is to roll the contract forward, but a human still needs to confirm and execute the renewal from the queue. Treat Auto Renew as a documentation flag rather than a fully automated extension.

Evergreen contracts (no end date) also expose renewal/review settings so they surface in the queue on a schedule rather than running indefinitely without review.


Viewing the Upcoming Renewals Sub-Tab

The sub-tab lists contracts approaching renewal with the following columns:

ColumnDescription
ClientThe client whose contract is up for renewal.
ContractThe contract name.
TypeEvergreen (no end date) or Fixed-term (end date set).
Decision DueThe date a renewal decision is needed by.
Days Until DueCountdown to the decision date.
StatusThe current renewal status.

Filtering

Use the time-window filter to scope the visible list to renewals due within:

  • Next 30 days (default)
  • Next 60 days
  • Next 90 days
  • All

You can also free-text search by client or contract name.


Renewal Statuses

StatusMeaning
pendingRenewal is approaching but no action has been taken.
renewingThe contract has been confirmed for renewal.
non_renewingThe contract has been marked as not renewing.
snoozedThe renewal notice has been deferred for later review.
completedThe renewal process is finished for this cycle.

Managing Renewals

Click the Actions menu on any renewal row. The dropdown contains at most three items, chosen by the row's current status:

StatusMenu items
pendingEdit · Mark renewing · Mark non-renewing
renewingEdit · Mark non-renewing
non_renewingEdit · Mark renewing
snoozedEdit · Mark renewing · Mark non-renewing
completed(no menu — the actions cell shows an em-dash)

Edit opens the Contract Detail page. Mark renewing and Mark non-renewing flip the queue row's status and persist the decision.

What about Create Renewal Draft, Snooze, and Assign Owner? These actions exist in the underlying renewal queue data model (RenewalQueueAction) and the corresponding server actions are implemented, but the row dropdown and the Contract Detail page do not currently expose UI for them. If you need to change the renewal mode, notice period, or renewal term, do it from the contract wizard or the Contract Detail page instead. Renewal owner assignment is not currently surfaced anywhere in the UI.


Renewal Settings

Tenant-level (Settings > Billing > General > Renewal Automation)

The tenant-wide automation behavior lives under Settings > Billing > General > Renewal Automation (see 14.2. Tenant Billing Settings):

  • Due Date Action — what happens when a contract reaches its renewal due date. Either Create ticket (default) or Queue only.
  • Renewal Ticket Board — the board to use when the policy is set to Create ticket.
  • Renewal Ticket Status — the starting status for renewal tickets, scoped to the selected board.

The tenant settings model also stores a default renewal mode and default notice-period days that contracts can inherit via the Use Tenant Renewal Defaults toggle. The Renewal Automation settings page does not yet render controls for editing those two defaults — they exist server-side and are honored when contracts opt in, but tenant administrators cannot tune them through this screen today.

Per-contract (contract wizard or Contract Detail)

Each contract carries its own renewal fields:

  • Renewal Mode — No Renewal, Manual Renewal, or Auto Renew.
  • Notice Period — how many days before the renewal date the item should surface in the queue. Defaults to 30 days.
  • Renewal Term (months) — Auto Renew only; how long the contract auto-renews for.
  • Use Tenant Renewal Defaults — when on, the contract inherits the tenant's default renewal mode and default notice-period days instead of using the values entered on the contract.

Notice Period validation differs by entry point. The contract wizard restricts the value to 0–3650 days (up to 10 years). The Contract Detail input only enforces a non-negative minimum, and the underlying persistence layer simply requires a non-negative integer — so very large values entered outside the wizard will be accepted. If you want to enforce sane bounds, prefer creating and editing renewal data through the wizard.


Best Practice

  • Run a weekly review of the queue. Open the Upcoming Renewals sub-tab and switch the filter to 60 days or 90 days so you can see renewals far enough out to negotiate, requote, or schedule a non-renewal conversation. The default 30-day view is fine for the daily glance, but it is too short for anything that requires a contract amendment.
  • Set a renewal mode on every fixed-term contract. Contracts without a renewal mode will not surface in the queue and can expire silently.
  • Treat Auto Renew as an intent flag, not automation. Until an extension job exists, every contract — Auto Renew included — needs a human decision in the queue.
  • Decide tenant defaults early. The Use Tenant Renewal Defaults toggle is most valuable when the underlying defaults match how you actually run renewals, so set the default renewal mode and default notice-period days on the tenant before opting individual contracts into them.

See also: 14.6. Creating Client Contracts · 14.2. Tenant Billing Settings · 14.8. Pricing Schedules