> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fusioncore.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscription Cancellation

> Cancel a subscription so it does not renew, from a Purchase Activity record or the portal, and understand what fusionCore changes and removes.

## Overview

The **Subscription Cancellation** feature lets staff and portal users cancel a subscription so it will not renew. You can cancel from a quick action on the Purchase Activity record, or a member can cancel from the portal.

## How Cancellation Works

Cancelling a subscription stops it from **renewing** — it does not end the member's current access (to do that, see [Ending a Subscription Immediately](#ending-a-subscription-immediately)). fusionCore supports one cancellation type, **Cancel Renewal**.

When you cancel, fusionCore marks the Purchase Activity (`FCORE_PAY__Purchase_Activity__c`):

| Field                                                     | Set to                                |
| --------------------------------------------------------- | ------------------------------------- |
| **Renewal Status** (`Renewal_Status__c`)                  | `Do Not Renew`                        |
| **Cancellation Date** (`FCORE_PAY__Cancellation_Date__c`) | Today                                 |
| **Cancelled** (`FCORE_PAY__Is_Cancelled__c`)              | Checked                               |
| **Grace Period End Date** (`Grace_Period_End_Date__c`)    | The paid-through date (`End_Date__c`) |

If a renewal Order was **already generated** for the subscription, cancelling also deletes it — so the customer isn't billed for a renewal they cancelled — removing, in order: any pending installment Financial Event lines, the now-empty Financial Events, the renewal Order Product, and finally the renewal Order itself.

<Warning>
  These deletions are permanent. Cancellation hard-deletes the generated renewal Order, Order Product, and Financial Event records — they are not sent to the Recycle Bin and cannot be restored. Only cancel when you are sure the renewal should not happen.
</Warning>

## Cancellation as a Staff User

How to cancel a subscription from Salesforce.

<Steps>
  <Step title="Open the Purchase Activity">
    Open the Purchase Activity record for the subscription you want to cancel.
  </Step>

  <Step title="Click Cancel Subscription">
    Click **Cancel Subscription**.

    <Frame>
      <img src="https://mintcdn.com/fusionspan/EW_gg4_8FJ-921wF/images/end-user-guides/4348542992/image-20251013-144120.png?fit=max&auto=format&n=EW_gg4_8FJ-921wF&q=85&s=40d247af6b2a2e229e837e1b316cffcc" alt="The Cancel Subscription action on a Purchase Activity record" width="1893" height="800" data-path="images/end-user-guides/4348542992/image-20251013-144120.png" />
    </Frame>
  </Step>

  <Step title="Confirm">
    In the confirmation modal, click **Confirm**.

    <Frame>
      <img src="https://mintcdn.com/fusionspan/EW_gg4_8FJ-921wF/images/end-user-guides/4348542992/image-20251013-144728.png?fit=max&auto=format&n=EW_gg4_8FJ-921wF&q=85&s=3f13bcc880b1ec8c489dc48dc53e86a4" alt="The cancellation confirmation modal with a Confirm button" width="907" height="267" data-path="images/end-user-guides/4348542992/image-20251013-144728.png" />
    </Frame>
  </Step>
</Steps>

<Info>
  The member keeps access to their subscription features until the `End_Date__c` passes. Cancelling only stops the subscription from renewing — it does not end access immediately.
</Info>

## Cancellation as a Portal User

Members can cancel their own subscription from the portal. This self-service flow is provided by the fusionCore Portal Components package and runs on an Experience Cloud page. To place and configure the portal component, see [Cancel Subscription](/end-user-guides/portal/subscription-hub/cancel-subscription).

<Steps>
  <Step title="Open the Portal Cancel Subscription URL">
    On the Purchase Activity record, open the **Portal Cancel Subscription URL** (`FS_Portal_Cancel_Subscription_URL__c`) — a formula link to the member's portal cancellation page. You can also surface this field in the portal using [Roster Settings](/end-user-guides/portal/portal-order-page-roster-settings/index).

    <Frame>
      <img src="https://mintcdn.com/fusionspan/EW_gg4_8FJ-921wF/images/end-user-guides/4348542992/image-20251013-145135.png?fit=max&auto=format&n=EW_gg4_8FJ-921wF&q=85&s=0a5156b3a66970d53e75b5bee5e6c4ba" alt="The Portal Cancel Subscription URL field on a Purchase Activity" width="1899" height="717" data-path="images/end-user-guides/4348542992/image-20251013-145135.png" />
    </Frame>

    <Note>
      The link only appears when the subscription is still active (not already cancelled) **and** the Purchase Activity's Business Unit has both a **Portal URL** and a **Portal Cancel Subscription Page Path** (`FS_Portal_Cancel_Subscription_Page_Path__c`) configured. If either Business Unit field is missing, the field is blank with no error.
    </Note>
  </Step>

  <Step title="Cancel in the portal">
    On the portal cancellation page, the member clicks **Cancel Membership**.

    <Frame>
      <img src="https://mintcdn.com/fusionspan/EW_gg4_8FJ-921wF/images/end-user-guides/4348542992/image-20251013-145522.png?fit=max&auto=format&n=EW_gg4_8FJ-921wF&q=85&s=93b83691420d5ceddbde0ef64b643447" alt="The Cancel Membership button on the portal cancellation page" width="1440" height="660" data-path="images/end-user-guides/4348542992/image-20251013-145522.png" />
    </Frame>
  </Step>
</Steps>

<Info>
  **Who can cancel from the portal.** By default, only the contact who holds the subscription (the Purchase Activity's contact) can cancel it. For organization subscriptions, an administrator can additionally allow the account's **Billing Contact** or **Primary Contact** to cancel by turning on the `FS_Billing_Contact_Can_Cancel_Org_Subs` or `FS_Primary_Contact_Can_Cancel_Org_Subs` Constant — both ship turned off. A member who isn't eligible sees "You're not eligible to cancel this subscription."
</Info>

## Ending a Subscription Immediately

Cancellation alone leaves the current active membership access in place until the paid-through date. To end a subscription right away:

<Steps>
  <Step title="Cancel the subscription">
    Cancel the Purchase Activity as a staff user or a portal user, using the steps above.
  </Step>

  <Step title="Set the End Date to today">
    Set `End_Date__c` to the current date.
  </Step>
</Steps>

<Info>
  Setting `End_Date__c` to today removes the customer's access to their subscription features.
</Info>

## Limitations and Common Pitfalls

* **Only the Cancel Renewal type is implemented.** `CancelSubscriptionEH` handles only the Cancel Renewal action. Any other cancellation type is silently ignored — nothing happens and no error is raised.
* **Deletions are irreversible.** Cancellation hard-deletes the generated renewal Order, Order Product, and pending installment Financial Events. They bypass the Recycle Bin and cannot be recovered.
* **The grace window is removed.** Cancellation overwrites `Grace_Period_End_Date__c` with `End_Date__c`, so any remaining grace period after the paid-through date is dropped.
* **Partial failures can leave orphans.** During cancellation fusionCore disables the `OrderPendingPaymentVTU` and `OrderItemPendingPaymentVTU` validations. If part of the delete sequence fails, the error is logged rather than thrown, which can leave orphaned renewal records behind. Spot-check the renewal Order after cancelling a subscription that already had a renewal generated.
