Best Practices for Handling Cost of Goods in an MSP
Introduction
Maximizing profitability in an MSP hinges on having clear visibility and control over your costs. Effectively managing Cost of Goods Sold (COGS) at the accounting level is critical for accurate profitability measurement, competitive pricing, and informed financial reporting. Proper categorization, tracking, and reconciliation of these costs provide the clarity needed for strategic decision-making.
This white paper outlines essential best practices MSPs should implement—along with Chart of Accounts (CoA) recommendations—to drive operational efficiency and financial transparency.
1. Separate COGS into Defined Categories
Start by segmenting your COGS—and corresponding revenue—into at least two key categories:
- Managed Services Hard Costs: Direct costs associated with delivering core services, such as RMM, EDR, backup, and other operational tools.
- Other Recurring Services: Costs related to resale of recurring licenses or subscriptions. MSP Advisor recommends further subdividing this category by significant revenue streams to align revenue and related COGS. Common examples include Microsoft 365 and VoIP services.
Accurate cost tracking by service area enables:
- Clear profitability analysis by service.
- Data-driven pricing and bundling strategies.
- Identification of cost optimization opportunities.
- Benchmarking against industry standard margins.
2. Embed Vendor Costs in Your PSA
Include the current vendor cost for each recurring item directly in your PSA product catalog. These product catalog items should be the actual item that you are selling or bundling and not a generic item that varies in cost. For example, don’t just have a generic product called Antivirus that could be SentinelOne for some customers and BitDefender for others. This allows for:
- Immediate visibility of up-to-date vendor pricing across your team.
- Real-time profitability tracking at the product or contract level within your PSA.
- Easier reporting and audit trails for cost reconciliation.
Be sure to update these costs regularly to reflect vendor pricing changes.
3. Use Zero-Cost Line Items for Bundled Products
For products bundled into your managed offerings such as RMM, EDR, and backup, list them in PSA contracts as non-billable ($0) items. Suppress these lines on the client invoice.
This provides:
- Transparent internal documentation of what’s included per contract.
- Accurate cost tracking by customer or service tier.
- Simplified monthly cost rollups for managed services.
4. Use Structured Reporting and Journal Entries
Each month, run PSA reports to isolate the costs associated with managed services and other recurring services. For example:
- Report on all $0 products linked to managed services contract types to capture bundled license costs.
- Report on priced products to isolate other recurring services.
Break these down by individual product to the extent that you built greater granularity into your CoA. Use the resulting data to create structured journal entries in your accounting system. These entries should move costs from a temporary COGS holding account into their appropriate COGS subaccounts based on service category. Any remaining unallocated vendor charges in the holding account should be:
- Expensed internally if used by your team.
- Assigned to the dominant COGS category if primarily client-facing.
- Split across both as appropriate.
5. Monitor and Address Cost Variances
To ensure ongoing accuracy, monitor the variance between vendor-billed amounts and PSA-recorded costs:
- Track and review residual discrepancies monthly.
- Measure them as a percentage of total vendor cost.
- Investigate variances over a set threshold (e.g., 5%) to uncover billing errors, licensing waste, or process gaps.
This process improves cost accuracy and helps eliminate unnecessary licensing overhead. Remember that this variance could be a function of inaccurate license counts on your client invoices, incorrect costs in your PSA, vendor billing errors, and/or license purchases that exceed your actual consumption.
Additional Chart of Accounts Best Practices
MSP Advisor recommends the following for CoA structure:
- Create separate revenue and COGS subaccounts for high-dollar revenue streams (e.g., Microsoft 365, Managed Security).
- Segment managed services types—such as all-you-can-eat, co-managed, and managed security—wherever useful for performance tracking.
- Maintain detail without overcomplicating the structure. Strike a balance between clarity and maintainability.
Conclusion
Well-structured COGS practices enable MSPs to better understand their financial health, make smarter pricing decisions, and track service-level and customer-level profitability with precision. By embedding vendor costs into your PSA, using zero-cost line items for bundled services, conducting regular reporting, and actively monitoring discrepancies, you position your MSP for long-term, profitable growth.
