From sherweb
Lists Sherweb customers, retrieves details and accounts receivable via API tools, and explains distributor > service provider > customer hierarchy for MSPs.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin sherwebThis skill uses the workspace's default tool permissions.
Customers in Sherweb represent the end-client organizations managed by a service provider (MSP) through the Sherweb distribution platform. Sherweb uses a three-tier hierarchy: **Distributor** (Sherweb) > **Service Provider** (your MSP) > **Customer** (your clients). Every subscription, billing charge, and provisioning action is scoped to a specific customer. Understanding this hierarchy is esse...
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Customers in Sherweb represent the end-client organizations managed by a service provider (MSP) through the Sherweb distribution platform. Sherweb uses a three-tier hierarchy: Distributor (Sherweb) > Service Provider (your MSP) > Customer (your clients). Every subscription, billing charge, and provisioning action is scoped to a specific customer. Understanding this hierarchy is essential for correct API usage and data interpretation.
| Tool | Description | Key Parameters |
|---|---|---|
sherweb_customers_list | List all customers under the service provider | page, pageSize, search |
sherweb_customers_get | Get detailed information about a specific customer | customerId (required) |
sherweb_customers_get_accounts_receivable | Get accounts receivable data for a customer | customerId (required) |
Call sherweb_customers_list with optional parameters:
search to a customer name or partial namepage (1-based) and pageSize (default 25)Example: List all customers:
sherweb_customers_list with pageSize=100Example: Search for a customer:
sherweb_customers_list with search=AcmeCall sherweb_customers_get with the customerId parameter.
Example:
sherweb_customers_get with customerId=cust-abc-123Call sherweb_customers_get_accounts_receivable with the customerId parameter to view outstanding balances and payment history.
Example:
sherweb_customers_get_accounts_receivable with customerId=cust-abc-123Sherweb operates a three-tier distribution model:
Sherweb (Distributor)
|
+-- Your MSP (Service Provider)
| |
| +-- Customer A (End Client)
| +-- Customer B (End Client)
| +-- Customer C (End Client)
|
+-- Another MSP (Service Provider)
|
+-- Customer D (End Client)
+-- Customer E (End Client)
Key points:
| Stage | Description | Typical Actions |
|---|---|---|
| Creation | New client added to Sherweb | Set up customer record with name, address, contact info |
| Active | Customer with active subscriptions | Manage subscriptions, monitor billing |
| Suspended | Customer account temporarily paused | Investigate payment or compliance issues |
| Inactive | No active subscriptions remaining | Review for reactivation or cleanup |
Accounts receivable data shows the financial relationship between the service provider and the customer within Sherweb's platform:
| Concept | Description |
|---|---|
| Outstanding Balance | Total amount owed by the customer |
| Credit Limit | Maximum credit extended to the customer |
| Payment Terms | Net 30, Net 60, or custom payment terms |
| Last Payment | Date and amount of the most recent payment |
| Aging Buckets | Breakdown of outstanding amounts by age (current, 30d, 60d, 90d+) |
| Field | Type | Description |
|---|---|---|
id | string | Customer unique identifier |
name | string | Customer display name |
externalId | string | External reference ID (for PSA integration) |
status | string | Customer status (Active, Suspended, Inactive) |
createdDate | datetime | When the customer was created |
modifiedDate | datetime | Last modification timestamp |
| Field | Type | Description |
|---|---|---|
address.street | string | Street address |
address.city | string | City |
address.stateOrProvince | string | State or province |
address.postalCode | string | Postal/ZIP code |
address.country | string | Country code (e.g., "US", "CA") |
| Field | Type | Description |
|---|---|---|
primaryContact.firstName | string | Primary contact first name |
primaryContact.lastName | string | Primary contact last name |
primaryContact.email | string | Primary contact email |
primaryContact.phone | string | Primary contact phone |
| Field | Type | Description |
|---|---|---|
outstandingBalance | decimal | Total amount currently owed |
creditLimit | decimal | Maximum credit allowed |
currentAmount | decimal | Charges in the current period |
thirtyDayAmount | decimal | Charges 1-30 days overdue |
sixtyDayAmount | decimal | Charges 31-60 days overdue |
ninetyPlusDayAmount | decimal | Charges 61+ days overdue |
lastPaymentDate | date | Date of most recent payment |
lastPaymentAmount | decimal | Amount of most recent payment |
sherweb_customers_list with pageSize=100totalPages > 1, paginate through remaining pagessherweb_customers_list with search set to the customer nameid for use in subsequent API callssherweb_customers_listsherweb_customers_get with the customerId to verify all details are correctsherweb_subscriptions_list filtered by customerIdsherweb_customers_list to get all customerssherweb_customers_get_accounts_receivablesherweb_customers_list (paginate through all pages)externalId to your PSA system's company recordsexternalId as needing PSA linkageCustomer:
{
"id": "cust-abc-123",
"name": "Acme Corporation",
"externalId": "PSA-12345",
"status": "Active",
"address": {
"street": "123 Main St",
"city": "Montreal",
"stateOrProvince": "QC",
"postalCode": "H2X 1Y4",
"country": "CA"
},
"primaryContact": {
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@acme.com",
"phone": "514-555-1234"
},
"createdDate": "2024-03-15T10:30:00.000Z",
"modifiedDate": "2026-01-20T14:15:00.000Z"
}
Accounts Receivable:
{
"customerId": "cust-abc-123",
"customerName": "Acme Corporation",
"outstandingBalance": 1247.50,
"creditLimit": 10000.00,
"currentAmount": 847.50,
"thirtyDayAmount": 400.00,
"sixtyDayAmount": 0.00,
"ninetyPlusDayAmount": 0.00,
"lastPaymentDate": "2026-02-15",
"lastPaymentAmount": 2100.00
}
| Error | Cause | Resolution |
|---|---|---|
| Customer not found | Invalid customerId | Verify the customer ID with sherweb_customers_list |
| No results | Customer name mismatch | Try a shorter or different search term |
| Authentication error | Expired or invalid token | Re-authenticate using OAuth 2.0 client credentials flow |
| Permission denied | Customer belongs to another service provider | Verify you are querying your own customers |
search parameter is more efficient than fetching all customers and filtering locally