Guide
4 min read
By MSP Margin Editorial
Most MSP catalogs grow by accident. A technician needs to bill a one-off part, so someone creates an item. A vendor changes a SKU, so a new item appears next to the old one. A bundle gets repriced and the original stays active "just in case." A few years later there are hundreds of items, several with nearly the same name, and nobody is sure which one maps where.
That matters to finance because the catalog is where classification happens. When an item is sold, its settings decide which income account gets the revenue, which cost account gets the expense, and whether sales tax is charged. If the item is wrong, every invoice that uses it is wrong in the same way, and your books quietly inherit the error.
Naming that people can actually use
A good item name tells the person picking it what it is without opening the record. Pick a pattern and apply it everywhere. One workable format is category, then service, then unit:
- Managed – Workstation – per device
- Backup – Cloud storage – per TB
- Labor – Project – per hour
- Hardware – Firewall – each
Avoid client names in item names unless the item truly exists for one client. Avoid version numbers and dates unless they change what is sold. Keep descriptions for detail and names for finding things.
Duplicates are the most common problem. If two items do the same thing, pick one, move active agreements to it, and retire the other.
Map every item on purpose
Every active item should have a deliberate answer to three questions: which income account, which cost account (if any), and which tax code. Those answers should line up with your chart of accounts by service line, so gross margin by line comes straight out of the books instead of out of a spreadsheet.
Here is an illustrative mapping for a few common item types:
| Item type | Income account | Cost account | Tax code |
|---|---|---|---|
| Managed services per device | Managed services revenue | Managed services tools | Per your state rules |
| Cloud backup per TB | Backup revenue | Backup storage costs | Per your state rules |
| Project labor per hour | Professional services revenue | None (labor costed via payroll) | Often non-taxable, confirm |
| Hardware resale | Product revenue | Cost of hardware sold | Usually taxable, confirm |
The tax column is deliberately vague. States treat managed services, software, cloud services and labor differently, and the answer can depend on how a service is delivered and invoiced. Have your accountant confirm the tax code for each category once, then set it at the item level so nobody has to decide on the fly.
As an illustration of what a single bad mapping costs: suppose a cloud backup item was set up pointing at professional services revenue instead of backup revenue. It bills $3,000 a month. After 12 months, $36,000 of backup revenue sits in the wrong line. Backup looks like it has almost no revenue against its storage costs, while professional services looks $36,000 better than it is. Total revenue is right, so nobody notices, but every margin-by-line decision made that year was based on bad numbers. Correcting it means reclassifying a year of history, not editing one item.
Retired items and change control
Do not delete items that have been used. Historical invoices and reports still reference them. Mark them inactive instead, so they cannot be added to new agreements or tickets but still report correctly. Before inactivating, check that no active agreement still bills the item, or next month's invoice run will either fail or pull the old price.
Change control does not need to be heavy. It needs three things:
- One owner. Usually finance or operations, not everyone with admin rights. Others request items; the owner creates or edits them.
- A short request. What is being sold, unit of measure, price, cost, and which service line it belongs to. The owner fills in the account and tax mapping.
- A log. Date, item, what changed, who asked. A shared spreadsheet is fine.
Pay special attention to edits on existing items. Changing the income account on an item that has been in use for years can split its history across two accounts, depending on how your systems report it. Changing a price can affect every agreement using that item at the next run. When in doubt, create a new item, move agreements on purpose, and retire the old one.
A quarterly review
Once a quarter, export the active catalog and look for:
- Items with no sales in the last 12 months, which are candidates to retire
- Items with missing or default account mappings
- Items whose tax code does not match the category's standard
- Near-duplicate names
- Items whose cost is blank or clearly out of date
Fix what you find, and note the pattern. If unmapped items keep appearing, someone is creating items outside the request process.
A clean catalog will not stop every error, but it means errors come from people making choices rather than from settings nobody remembers.
This is general information, not accounting or tax advice. Account structures and sales tax rules differ by business and state, so work through your own mapping with your accountant.
