Cancel Account
Part of the MountDev Ops CRM documentation. Updated October 9, 2026
MountDev Ops CRM documentation | Updated October 9, 2026
Our Commitment
MountDev Ops is built security first. Your business data belongs to you, and you can export all of it at any time. We never use analytics or tracking of any kind inside MountDev Ops.
Every update passes all 1,932 automated checks before it ships, plus screen tests on 9 screen sizes for everything it changes.
Cancelling an Account
Owners and admins can cancel a client's account from the client's company page in CRM with Cancel Account (permission crm.cancel). It works the same way for every company. Nothing is deleted: the company, its records, history, invoices, and files all stay.
The dialog shows what will happen before anything changes (action crm.account.cancel.preview):
- Services Ending: all of the company's active subscription items, at first. Choose Only some websites or services to end only some of them, listed by website.
- Reason: Switching to another provider, Cost, Closing the business, No longer needed, Not happy with the service, or Other, with a Note. A note is needed with Other.
- Notice Date: today, in your company's time zone. It cannot be changed.
- Service Ends: 5 PM on the last business day of this month, in your company's time zone (Business Hours). There is no cutoff: a cancellation entered on the 30th ends that month too. A business day is Monday to Friday and not one of your closed dates, so a month that ends on a weekend or a closed day ends on the business day before (October 2026 ends Friday, October 30 at 5 PM). Owners and admins can choose another day for a one-off exception, today or later; service still ends at 5 PM that day. If the time has already passed, service ends as soon as you confirm.
- Send the client a confirmation email: on at first, when CRM has a sending address and the company has a billing contact or a contact with portal access who has an email address.
- What Happens: a summary of all of the above.
Cancel Account confirms it (action crm.account.cancel). Then:
- A Cancellation is kept on the company: the notice date, when service ends, the reason and note, who entered it, the services ending, and its status, Scheduled. A banner at the top of the company's page reads, for example, "Canceled | Service ends Fri Oct 30 at 5 PM" (action
crm.account.cancellation). Everyone who can see the company sees it. - Each service ending gets its End date in Subscriptions, and a subscription gets it too once every item on it ends. Billing stops after the end date: the month service ends in was already billed, nothing is billed after it, and the usage of that last month is still invoiced on the 1st of the next month (The Monthly Run). Nothing is prorated or refunded.
- The confirmation email is queued.
- Every step is written in the company's history, on its timeline.
Service runs normally until it ends. A company can have one scheduled cancellation at a time.
The Confirmation Email
The confirmation goes to the company's billing contacts and contacts with portal access, one email each, from CRM's sending address (Email Settings), in your company's email template (Email Template). It is sent only during your business hours: one entered on a weekend, a closed date, or after hours waits until you next open. It says why it was sent, which services are ending, when service ends, that everything runs normally until then, that the client's records and the final backups of their websites stay in their account history to download for 30 days after, and how to reach you. Every web link in it carries UTM tags. Once sent, it is filed as an Email activity on the company, and the history says it went out.
Change its subject and message on CRM's Settings page, Cancellations, Change (actions crm.cancel.settings.get and crm.cancel.settings.save). Preview Email shows it as a client sees it. The words in braces are filled in for each cancellation:
{account}: the client company's name{company}: your company's name{services}: the services ending, one per line{ends}: when service ends, such as Friday, October 30, 2026 at 5 PM PDT{end_date}: the date service ends{access_date}: the last day the client can sign in and download{support}: your CRM sending address
Lines starting with "- " show as a list. Clear the subject or message to go back to the starting wording.
Withdraw Cancellation
Until service ends, owners and admins can undo a cancellation with Withdraw Cancellation on the banner (action crm.account.cancel.withdraw). Each end date it set is put back as it was. One that someone changed since is left as they set it, and the history says so. A confirmation email that has not gone out yet is not sent. The cancellation stays on the company, marked Withdrawn, and a new one can be entered.
When Service Ends
At the end date and time, CRM's background work:
- marks the cancellation Completed (the banner then reads "Service ended"),
- sets the company's status to Former (and adds Former to the Status choices, if your company removed it),
- closes each open project as Cancelled, with a note saying why (Notes on Projects),
- closes each open Helpdesk ticket with an internal note saying why, and stops its follow-ups. The client gets no email about it,
- marks each ended subscription Cancelled.
30 days after service ends, client access ends: each of the company's contacts with portal access has Portal access turned off. Their records stay.
When only some services were chosen, the account stays as it is at the end: it is not marked Former, and nothing else closes.
Every step is written in the company's history.
The Account History
A company's timeline holds its account history: each step of each cancellation, the confirmation email, and each file kept for the client, such as a website's final backup, with its size and Download (a spinner shows "Preparing…" until the file is ready).
Final Backups from Your Provider
Your website host can keep a website's final backup in the account history through the workspace's private bridge (operation crm.account.archive.add). It sends:
account: the company's id from the system it came from, as text, or{ "source_id": "...", "id": 87 }(id: the company's record id here, as the cancellation events send it).name, such as "citgear.com Final Backup | Oct 8, 2026", andsizein bytes.sha256, the whole file's checksum, orpieces_sha256, a large copy's checksum over its pieces.url: a public https address for the file, or the provider's own address that only it can reach (kept as its reference and handed back to it, never downloaded here). Or, instead ofurl,file: a file already in Files on the company or that website.- Optional:
source_id(the provider's own id for the file),website(its domain or id),website_source_id,content_type,retention,visible_to_client(on unless it says false), andrestore_tested.
The same file is kept once: the same source_id, or the same checksum, again changes nothing. While client access lasts, the client sees and downloads the files marked visible in their account, on the Agreements page under Account History (operation crm.account.history), each shown by its name with the day it was kept unless the name already ends with a date. A file kept only for your team shows on the company's timeline as Kept for the team. Final backups are never emailed.
Events and Connected Services
Each cancellation makes events your webhooks and automations can listen for (Webhooks, Automations):
crm.account.canceled: a cancellation was entered.crm.account.ended: service ended (the cancellation was completed).crm.account.cancel_withdrawn: a cancellation was withdrawn.
Each one carries the cancellation record, like every record event.
On CRM's Settings page, Cancellations, Send Cancellations To sends the same three moments to one of your Connected Services (Settings, Connections), at the path you give, such as /cancellations. Each is posted as JSON, with retries, through the same queue and address checks as every connection call:
{
"id": "cancellation-412-canceled-2026-10-08T17:00:00.000Z",
"event": "crm.account.canceled",
"at": "2026-10-08T17:00:00.000Z",
"cancellation": 412,
"status": "Scheduled",
"account": { "id": 87, "source_id": "client-42", "name": "Citgear" },
"services": [
{
"module_id": "billing.subscription_items",
"id": 903,
"source_id": "item-77",
"kind": "item",
"name": "Managed Hosting",
"subscription": { "id": 120, "source_id": "sub-12", "name": "Citgear monthly" },
"website": { "id": 301, "source_id": "site-9", "domain": "citgear.com" },
"end_date": "2026-10-30"
}
],
"all_services": true,
"notice_date": "2026-10-08",
"end_date": "2026-10-30",
"ends_at": "2026-10-31T00:00:00.000Z",
"timezone": "America/Los_Angeles",
"access_ends_at": "2026-11-30T01:00:00.000Z",
"reason": "Switching to another provider"
}id: this event's own id. A delivery that is retried has the same id, so the receiver can act on it once.event:crm.account.canceled,crm.account.ended, orcrm.account.cancel_withdrawn.at: when it happened.cancellation: the cancellation's record id.status: Scheduled, Completed, or Withdrawn.account: the company's record id, its id in the system it was brought in from (or null), and its name.services: each service ending, with its id here and in the system it came from, the subscription it is on, and its website.kindisitem(a subscription item) orsubscription(a subscription with no items).all_servicessays whether every service of the account ends.notice_date,end_date: calendar days intimezone.ends_at,access_ends_at: exact times (UTC).reason: the reason chosen. The note stays in your workspace.
AI Agents
Agents can see a company's cancellation and the Cancellations settings. Only people cancel an account, withdraw a cancellation, or change the settings: Cancel Account ends a client's service and emails them, so it is never available to AI agents or API keys.
