Skip to content
Development
Skill

/product-catalog

ConnectWise PSA product catalog: catalog items (SKUs), categories, subcategories, manufacturers, and their use on quotes, opportunities, agreements, and tickets. Covers the full catalog item field reference, common MSP workflows (hardware SKU, software license, managed service,

From plugin
msp-claude-plugins
55200 skills165 agents200 commands4 MCP

Claude Code

$ npx -y skills add wyre-ai/msp-claude-plugins --skill product-catalog --agent claude-code

SKILL.md

product-catalog.SKILL.md
name: "ConnectWise Manage Product Catalog"
description: >
  ConnectWise PSA product catalog: catalog items (SKUs), categories, subcategories,
  manufacturers, and their use on quotes, opportunities, agreements, and tickets.
  Covers the full catalog item field reference, common MSP workflows (hardware SKU,
  software license, managed service, agreement add-on), and the passthrough pattern
  for fields not surfaced on the MCP tool directly.
when_to_use: >-
  When searching, creating, or updating ConnectWise PSA product catalog items (SKUs), categories,
  subcategories, or manufacturers. Use when: connectwise product, connectwise catalog, connectwise
  sku, product catalog connectwise, catalog item connectwise, cw manage product, add product
  connectwise, create sku, product category connectwise, manufacturer connectwise, procurement
  catalog, connectwise pricing, bundle product, or managed service sku.

ConnectWise PSA Product Catalog

Overview

The ConnectWise Manage product catalog is the master list of everything an MSP sells — hardware SKUs, software licenses, managed service subscriptions, bundles, and service offerings. Catalog items are the building blocks that flow into quotes, opportunities, sales orders, agreement additions, and ticket charges. Getting the catalog right drives accurate quoting, consistent billing, and clean COGS/margin reporting.

This skill covers the full catalog item schema, the supporting lookup entities (categories, subcategories, manufacturers, product types, unit of measure), and the workflows for the most common MSP scenarios.

Anti-triggers

  • **Pricing a deal for a customer** — catalog items are the SKU master

list; the priced, versioned document a customer actually receives is a ConnectWise CPQ quote. Use `connectwise-cpq-quotes`.

  • **Line items on an existing quote** — adding, repricing or removing a

line happens on the quote, not the catalog; use `connectwise-cpq-quote-items`.

  • **Another vendor's catalog** — Autotask products and Kaseya Quote

Manager SKUs share this vocabulary; use `autotask-product-catalog` or `kaseya-quote-manager-quotes`.

API Endpoints

Base:         /procurement/catalog
Categories:   /procurement/categories
Subcategories: /procurement/subCategories
Manufacturers: /procurement/manufacturers
Product types: /procurement/productTypes
Unit of measure: /procurement/unitOfMeasures
Product class: /procurement/productClasses

Available MCP tools (connectwise-manage-mcp):

| Tool | Purpose | |------|---------| | `cw_search_catalog_items` | Search catalog items with CW conditions syntax | | `cw_get_catalog_item` | Fetch one catalog item by ID | | `cw_create_catalog_item` | Create a new catalog item (common fields + `extraFields` passthrough) | | `cw_update_catalog_item` | JSON Patch update against an existing item | | `cw_list_catalog_categories` | List categories | | `cw_list_catalog_subcategories` | List subcategories (filter by `category/id=N`) | | `cw_list_manufacturers` | List manufacturers |

Product Class

`productClass` is the single most important field because it drives downstream billing, inventory, and agreement behavior.

| Class | Use For | Behavior | |-------|---------|----------| | `NonInventory` | Software licenses, pass-through charges, most SaaS | No stock tracking, cost = last-purchased or fixed | | `Inventory` | Physical hardware you stock | Tracks on-hand, reorder points, cost layers | | `Bundle` | Parent SKU composed of child SKUs | Expands into components at quote time | | `Service` | Labor-based services, project service items | Maps to work roles, billable on tickets | | `Agreement` | Recurring managed-services line items | Drives MRR additions on agreements |

**Rule of thumb for MSPs:**

  • Per-endpoint managed services (RMM, EDR, backup) → `Agreement`
  • M365 / Google Workspace licenses you resell → `NonInventory` (or `Agreement` if billing monthly)
  • Switches, firewalls, desktops you physically hold → `Inventory`
  • Project engineering hours, onboarding fee → `Service`
  • "Small Business Bundle" that rolls up RMM + EDR + backup → `Bundle`

Complete Catalog Item Field Reference

Core Identity

| Field | Type | Required | Description | |-------|------|----------|-------------| | `id` | int | System | Auto-generated ID | | `identifier` | string(60) | Yes | Unique SKU / part number (your internal code) | | `description` | string(50) | Yes | Internal-facing short description | | `customerDescription` | string | No | Customer-facing description (shows on quotes/invoices) | | `notes` | string | No | Internal notes (not customer-visible) |

Classification

| Field | Type | Required | Description | |-------|------|----------|-------------| | `category` | object | No | `{id: categoryId}` | | `subcategory` | object | Yes | `{id: subcategoryId}` — CW requires this | | `type` | object | Yes | `{id: typeId}` — product type | | `productClass` | enum | No | `NonInventory` / `Inventory` / `Bundle` / `Service` / `Agreement` | | `serializedFlag` | boolean | No | Track by serial number (hardware) | | `serializedCostFlag` | boolean | No | Per-unit cost tracking | | `phaseProductFlag` | boolean | No | Eligible as a project phase product |

Pricing & Cost

| Field | Type | Required | Description | |-------|------|----------|-------------| | `cost` | decimal | No | Your cost | | `price` | decimal | No | Sell price | | `priceMethodFlag` | string | No | `Markup_Flat`, `Markup_Percent`, `Gross_Margin`, `Price_Flat` | | `costFlag` | string | No | `Billable`, `DoNotBill`, `NoCharge` | | `taxableFlag` | boolean | No | Subject to sales tax |

Vendor & Supply

| Field | Type | Required | Description | |-------|------|----------|-------------| | `manufacturer` | object | No | `{id: manufacturerId}` | | `manufacturerPartNumber` | string | No | MPN (not your SKU — the mfr's part number) | | `vendor` | object | No | `{id: vendorCompanyId}` — a company flagged as a vendor | | `vendorSku`

Read more
@wyre-technology
Ships withmsp-claude-plugins

One command to supercharge Claude Code for MSP workflows. Then restart Claude Code. That's it. Documentation: wyre-ai.github.io/msp-claude-plugins

55200 skills165 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
55
Star history of wyre-technology/msp-claude-plugins on GitHub, a chart by star-history.com

Other skills on msp-claude-plugins.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about product-catalog.

Which coding agents can use product-catalog?
product-catalog installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.