Help us improve
Share bugs, ideas, or general feedback.
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 sherwebHow this skill is triggered — by the user, by Claude, or both
Slash command
/sherweb:customersThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
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...
Manages Sherweb subscriptions: lists filtered by customer/status, retrieves details, changes seat/license quantities via MCP tools.
Manages QuickBooks Online customers for MSPs: create, search, update records; sub-customers, billing addresses, payment terms, balances, PSA cross-references.
Manages Atera customers and contacts via API: create, update, search records; handle info, custom fields, lifecycle ops. For MSP account management.
Share bugs, ideas, or general feedback.
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