Should Your Implementation Team Be Coded to COGS or OpEX? | SaaS Metrics School

Ben Murray
Ben MurrayApr 27, 2026

Why It Matters

Accurate cost classification directly impacts reported gross margin and R&D ratios, influencing investor perception and valuation of SaaS companies.

Key Takeaways

  • Professional services expenses belong in COGS to calculate true margins.
  • Custom development may sit in OPEX unless classified as COGS.
  • Separate revenue streams for services and subscriptions prevent P&L distortion.
  • Misclassifying costs skews gross profit and R&D expense ratios.
  • Clear GL mapping is essential for accurate SaaS financial reporting.

Summary

In the video, Ben Murray addresses a common accounting question for SaaS firms—whether implementation and professional‑services costs should be recorded as cost of goods sold (COGS) or operating expense (OpEx). He explains the distinction between post‑sale onboarding work and product development, and why the classification matters for the profit‑and‑loss statement.

Murray argues that traditional professional services—setup, configuration, training, and onboarding—should sit in COGS because they are directly tied to delivering the sold product and allow the company to calculate a true services margin. Custom development, when performed by R&D engineers, normally belongs to OpEx, but if the company offers custom‑dev as a repeatable service it may warrant its own COGS cost center.

He illustrates the point with examples: a 12‑month implementation team’s salaries are booked under COGS, while a one‑off feature request built by engineering is logged as OpEx. He also notes that integrations created by services are billed as services revenue, whereas ongoing maintenance on those integrations is treated as subscription revenue.

Correctly mapping these costs prevents distortion of gross profit, R&D spend as a percentage of revenue, and overall operating‑expense ratios—metrics that investors and auditors scrutinize. SaaS leaders must therefore design a clear GL structure that separates services, custom‑dev, and product R&D to present an accurate financial picture.

Original Description

Should professional services be coded as COGS or OpEx in your SaaS P&L? This is one of the most common—and most misunderstood—questions in SaaS finance. In this episode of SaaS Metrics School, Ben Murray breaks down exactly how to classify professional services, implementation teams, and custom development work so you can avoid distorting your financial metrics.
If you're a SaaS founder, CFO, finance leader, or operator, getting this wrong can significantly skew your gross margin, operating expense profile, and key SaaS metrics like EBITDA, gross profit, and R&D as a percentage of revenue. This episode walks through real-world scenarios to help you properly structure your SaaS P&L and ensure your cost allocation aligns with best practices.
Professional services in SaaS typically include onboarding, setup, configuration, and training—everything required to get a customer live on your platform after the sale. These services often generate revenue (time & materials, fixed fee, or milestone-based billing) and have direct delivery costs tied to implementation teams such as project managers and consultants. In this case, both the revenue and associated expenses should sit in COGS, allowing you to measure your professional services margin accurately.
But what happens when custom development enters the picture? If a customer pays for a specific feature or accelerated roadmap item, that work is often handled by engineering teams. This introduces complexity in classification. Should those costs remain in R&D (OpEx), or should they be moved into COGS alongside services revenue? Ben explains how to think about this depending on whether custom dev is a one-off request or a repeatable part of your business model.
You'll also learn how to distinguish between true professional services work and engineering-driven development, why services should be treated as a separate business unit, and how improper classification can either inflate or suppress your gross margins. While EBITDA may remain unchanged, misclassification can distort your financial story—especially for investors and stakeholders evaluating your SaaS performance.
Additionally, Ben covers edge cases like custom integrations built by services teams, how to handle maintenance revenue tied to those integrations, and why recurring revenue from support or maintenance should not be lumped into services revenue.
The key takeaway: clean, consistent cost coding across your general ledger and cost centers is essential for accurate SaaS metrics. Whether it's subscription revenue, usage-based revenue, or services, each stream must be clearly defined and aligned with the correct cost structure.
If you're scaling your SaaS company or preparing for fundraising, this level of financial clarity is critical. Avoid common SaaS accounting mistakes, improve your reporting accuracy, and ensure your metrics truly reflect your business performance.
📌 More Resources from Ben Murray – The SaaS CFO:
🚀 Subscribe to my daily SaaS metrics newsletter: https://saasmetricsschool.beehiiv.com/subscribe
📈 Join my SaaS Metrics courses: https://www.thesaasacademy.com/
💡 Become part of my SaaS community: https://www.thesaasacademy.com/offers/ivNjwYDx/checkout
🔗 Follow me on LinkedIn: https://www.linkedin.com/in/benrmurray

Comments

Want to join the conversation?

Loading comments...