Skip to content

Bookkeeping · Financial Statements · Brief · Working level

COGS vs. operating expenses: where the line actually falls

Cost of goods sold is any cost that scales with each sale — including direct labor in a service business. Misclassifying costs between COGS and overhead distorts gross margin and every decision built on it.

By The Carryforward Desk3 min read · May 14, 2026

Cost of goods sold is any cost that exists because a particular sale happened — it scales with each unit sold or each job delivered. Operating expenses are the costs of existing as a business, which would continue at zero sales. The test is causation, not the type of cost: the same dollar of wages can be COGS on Tuesday (billable client work) and overhead on Wednesday (staff meeting).

The classification test

Ask one question per cost: would this cost disappear if this sale had not happened?

CostProduct businessService business
Inventory / materials soldCOGSCOGS (project materials)
Direct labor on jobsCOGSCOGS
Subcontractors on client workCOGSCOGS
Freight-in, merchant fees per saleCOGSCOGS
Rent, utilitiesExpenseExpense
Admin and sales payrollExpenseExpense
Marketing, insurance, general softwareExpenseExpense

Service businesses are where the line gets ignored. Many firms post all payroll to one expense account, which produces a nearly 100% "gross margin" and an income statement with no diagnostic middle layer. The fix is a direct-labor COGS account fed by the share of wages spent on billable delivery — even a reasonable monthly estimate beats nothing.

Why misclassification distorts everything downstream

Net income is unaffected — the dollars land on the P&L either way. What breaks is the structure:

  1. Pricing. Quotes are built on gross margin ("we need 55% over direct cost"). If direct labor hides in overhead, the margin looks like 80%, quotes come in low, and every new job is quietly underpriced.
  2. Trend reading. Gross margin is the early-warning line of the P&L (see reading the P&L). Inconsistent classification month to month makes the trend pure noise.
  3. Comparability. Industry margin comparisons, lender analysis, and the ratios in financial ratios for small business all assume the line is drawn conventionally.

The tax echo

Book classification and tax reporting are cousins, not twins. Product businesses computing COGS for tax must account for inventory, and producers face capitalization rules that pull some indirect costs into inventory cost — mechanics covered in Publication 538, with recordkeeping basics in Publication 583. Your book COGS line does not need to match the tax computation cost for cost, but it should be built from records that can support it. The bookkeeping journey of inventory itself — purchase to asset to COGS — is traced in inventory on the statements.

The fix, if your books are muddled

  1. List every account currently in COGS and in expenses.
  2. Apply the causation test to each; flag misfits.
  3. Create a direct-labor COGS account if billable wages are buried in payroll.
  4. Reclassify from the start of the current year (not mid-history), so the year reads consistently.
  5. Re-run the comparative P&L and recompute gross margin — expect it to move, and treat the new figure as the true baseline.

Frequently asked questions

What belongs in cost of goods sold for a service business?
The labor and direct costs of delivering the service: wages of billable staff for billable time, subcontractors on client work, project materials, and software licensed per-client or per-project. Rent, admin salaries, marketing, and general software stay in operating expenses. If the cost scales with each engagement, it is COGS.
Does it matter whether a cost goes to COGS or expenses if net income is the same?
Net income is identical either way, but gross margin — the number used for pricing, quoting, and comparing periods — changes completely. A firm that buries direct labor in overhead shows an inflated gross margin and will underprice new work while wondering why growth never reaches the bottom line.
Are salaries COGS or operating expenses?
It depends on the work, not the person. A technician's hours on client jobs are COGS; the same technician's hours on training or shop cleanup are overhead, and the office manager is overhead entirely. Many small firms split payroll between a direct-labor COGS account and an admin payroll expense account for exactly this reason.

Keep reading