Everyone

Suspending & Unsuspending

How automatic and manual service suspension works in Commerce, and how to unsuspend clients.

Last updated 1776211200
  • Manual Suspension (All Services)
  • What Suspension Does
  • Automatic Unsuspension
  • Manual Unsuspension
  • Suspension vs Termination
  • Related Articles
  • What Is Suspension?

    Suspension temporarily disables a client's active services. It is a reversible action — a suspended service can be reactivated once the underlying cause is resolved (typically an unpaid invoice). This is distinct from termination, which is permanent and results in data deletion.


    Automatic Suspension

    Commerce automatically suspends services on overdue invoices via the scheduled command:

    php artisan commerce:check-overdue-services
    

    This command is typically configured as a daily cron job. It:

    1. Finds all services with an invoice that is past its due date and past the configured grace period (Admin → Settings → Billing → Grace period days).
    2. Marks each affected service as Suspended.
    3. Dispatches a SuspendHostingAccountJob for each service with a provisioning module (e.g. Opterius Panel integration).
    4. Sends a suspension notification email to the client's primary contact.

    Grace Period

    The grace period is the number of days after an invoice's due date before suspension is triggered. The default is 3 days. Configure at Admin → Settings → Billing → Overdue grace period.

    Invoice due Grace period Suspension triggered
    April 1 3 days April 4 (if still unpaid)

    Manual Suspension (All Services)

    To manually suspend all active services for a client:

    1. Go to Admin → Clients → [Client record].
    2. Click Suspend All Services in the client record header actions.
    3. A confirmation modal appears — enter your password to confirm.
    4. All active services are suspended and the provisioning module suspends the hosting accounts.

    Manual Suspension (Single Service)

    To suspend a single service:

    1. Go to Admin → Clients → [Client] → Services.
    2. Click the service to open its detail.
    3. Click Suspend Service.
    4. Confirm with the password confirmation modal.

    What Suspension Does

    When a service is suspended:

    Component Effect
    Opterius Panel hosting account Account suspended via Panel API — site shows a suspension page
    Service status in Commerce Changed from Active to Suspended
    Client portal service list Status badge changes to orange "Suspended"
    New orders Client can still place new orders and pay invoices while suspended
    Login Client can still log into the client portal

    [!IMPORTANT] Suspension does not prevent a client from logging into the client portal or paying invoices. It only restricts their hosted services.


    Automatic Unsuspension

    When a client pays an overdue invoice, Commerce automatically dispatches UnsuspendHostingAccountJob for all services that were suspended due to that invoice. This happens immediately upon payment confirmation (webhook receipt for online gateways, or when staff manually mark the invoice as paid).

    The job:

    1. Calls the provisioning module to unsuspend the hosting account.
    2. Updates the service status from Suspended to Active.
    3. Sends a reactivation notification email to the client.

    Manual Unsuspension

    If you need to unsuspend services without waiting for invoice payment (e.g. you have agreed a payment plan and want to restore service immediately):

    All Services

    1. Go to Admin → Clients → [Client record].
    2. Click Unsuspend All in the client record header actions.
    3. Confirm with the password confirmation modal.

    Single Service

    1. Go to Admin → Clients → [Client] → Services → [Service].
    2. Click Unsuspend Service.
    3. Confirm.

    [!TIP] Before manually unsuspending without payment, add a sticky note to the client record explaining the arrangement (e.g. "Payment plan agreed — unsuspended manually. Payment due by 2026-04-30"). See Client Notes.


    Suspension vs Termination

    Aspect Suspended Terminated
    Reversible Yes No
    Data retained Yes No (deleted from server)
    Client can log in Yes Yes (account remains)
    Client can pay invoices Yes N/A
    Trigger Overdue invoice or manual Manual or cancellation request

    Related Articles