Sherweb Subscription Management
Overview
Subscriptions in Sherweb represent active cloud product licenses assigned to a customer through the distributor platform. When the MSP provisions a product for a customer via Sherweb, a subscription is created that tracks the product, quantity (seats/licenses), billing cycle, and status. Subscriptions are the core ongoing entity that MSPs manage -- adjusting seat counts as clients grow or contract, monitoring provisioning status, and ensuring license compliance.
MCP Tools
Available Tools
| Tool | Description | Key Parameters |
|---|---|---|
sherweb_subscriptions_list | List subscriptions, optionally filtered by customer | customerId, page, pageSize, status |
sherweb_subscriptions_get | Get detailed information about a specific subscription | subscriptionId (required) |
sherweb_subscriptions_change_quantity | Change the seat/license quantity on a subscription | subscriptionId (required), quantity (required) |
List Subscriptions
Call sherweb_subscriptions_list with optional parameters:
- Filter by customer: Set
customerIdto a customer ID - Filter by status: Set
statusto one of the allowed values (see below) - Paginate: Set
page(1-based) andpageSize(default 25)
Example: List all active subscriptions for a customer:
sherweb_subscriptions_listwithcustomerId=cust-abc-123,status=Active,pageSize=100
Example: List all subscriptions across all customers:
sherweb_subscriptions_listwithpageSize=100
Get Subscription Details
Call sherweb_subscriptions_get with the subscriptionId parameter.
Example:
sherweb_subscriptions_getwithsubscriptionId=sub-def-456
Change Subscription Quantity
Call sherweb_subscriptions_change_quantity with:
- Required:
subscriptionId- the subscription to modify - Required:
quantity- the new desired quantity (absolute number, not a delta)
Example: Increase seats from 25 to 30:
sherweb_subscriptions_change_quantitywithsubscriptionId=sub-def-456,quantity=30
Key Concepts
Subscription Lifecycle
Provisioning --> Active --> [Modify Quantity / Cancel] --> Cancelled
| |
Suspended PendingChange
|
Reactivated --> Active
Subscription States
| State | Description |
|---|---|
Active | Subscription is live, provisioned, and billing |
Suspended | Subscription temporarily paused (payment or compliance issue) |
Cancelled | Subscription has been terminated |
Provisioning | Initial setup in progress |
PendingChange | A quantity or configuration change is being processed |
PendingCancellation | Cancellation request submitted, not yet complete |
Failed | Provisioning or modification failed |
Quantity Management
The quantity field represents the number of licenses (seats, devices, or units depending on the product). Key rules:
- Increasing quantity - Generally immediate or near-immediate provisioning
- Decreasing quantity - May be restricted by vendor commitment terms or minimum quantities
- Quantity is absolute - When changing, specify the new total quantity, not the delta
- Proration - Mid-cycle changes are prorated in the next billing period
- Minimum quantity - Some products have minimum seat requirements
- Maximum quantity - Some products have maximum seat limits
Quantity Change Workflow
- Verify current state - Ensure subscription is
Active(not Suspended, PendingChange, etc.) - Check current quantity - Call
sherweb_subscriptions_getto see the current seat count - Validate new quantity - Ensure the new quantity meets product minimum/maximum requirements
- Submit change - Call
sherweb_subscriptions_change_quantitywith the new quantity - Verify change - Call
sherweb_subscriptions_getagain to confirm the change was applied - Monitor billing - Check the next billing period for prorated charges reflecting the change
Field Reference
Subscription Fields
| Field | Type | Description |
|---|---|---|
id | string | Subscription unique identifier |
customerId | string | Customer this subscription belongs to |
customerName | string | Customer display name |
productName | string | Product or SKU name |
productId | string | Product identifier |
quantity | integer | Current number of licenses/seats |
status | string | Current subscription state |
billingCycle | string | Billing frequency (Monthly, Yearly) |
startDate | date | Subscription start date |
endDate | date | Subscription end date (for term commitments) |
renewalDate | date | Next renewal date |
createdDate | datetime | When the subscription was created |
modifiedDate | datetime | Last modification timestamp |
autoRenew | boolean | Whether the subscription auto-renews |
Quantity Change Response Fields
| Field | Type | Description |
|---|---|---|
subscriptionId | string | Subscription that was modified |
previousQuantity | integer | Quantity before the change |
newQuantity | integer | Quantity after the change |
status | string | Change status (Completed, Pending, Failed) |
effectiveDate | date | When the change takes effect |
Common Workflows
Check Subscriptions for a Customer
- Find the customer ID using
sherweb_customers_listwithsearch - Call
sherweb_subscriptions_listwithcustomerIdandstatus=Active - Review subscription list with product names, quantities, and billing cycles
License Count Audit
- Call
sherweb_customers_listto get all customers (paginate through all pages) - For each customer, call
sherweb_subscriptions_listwithcustomerIdandstatus=Active - Build a report: customer name, product, quantity, billing cycle
- Cross-reference with actual usage data from the vendor (e.g., Microsoft 365 admin center)
- Flag over-provisioned subscriptions for quantity reduction
Increase Seats for a Customer
- Find the subscription with
sherweb_subscriptions_listfiltered bycustomerId - Verify the subscription is
Activeand note the currentquantity - Call
sherweb_subscriptions_change_quantitywith the new (higher) quantity - Verify the change with
sherweb_subscriptions_get - Confirm billing impact in the next period's payable charges
Decrease Seats for a Customer
- Find the subscription and verify current quantity
- Check if the product has minimum quantity requirements
- Verify commitment terms allow decreases (annual commitments may restrict decreases)
- Call
sherweb_subscriptions_change_quantitywith the new (lower) quantity - If the change is rejected, note the error and inform the customer of restrictions
- Verify the change and monitor billing for prorated credits
Subscription Renewal Review
- Call
sherweb_subscriptions_listwithstatus=Active - Filter for subscriptions with
renewalDatewithin the next 30 days - For each upcoming renewal, prepare a review list: customer, product, quantity, cost
- Discuss with customers whether to renew, modify, or cancel
Subscription Status Report
- Call
sherweb_subscriptions_listwithpageSize=100(no status filter to get all) - Group results by status and calculate totals
- Present: Active count, Suspended count, Pending changes, recent cancellations
Response Examples
Subscription:
{
"id": "sub-def-456",
"customerId": "cust-abc-123",
"customerName": "Acme Corporation",
"productName": "Microsoft 365 Business Premium",
"productId": "prod-m365-bp",
"quantity": 25,
"status": "Active",
"billingCycle": "Monthly",
"startDate": "2025-06-01",
"endDate": null,
"renewalDate": "2026-04-01",
"createdDate": "2025-05-28T14:30:00.000Z",
"modifiedDa