GlossaryLineNow brief

Cost of Goods Sold (COGS): Formula, Benchmarks, and Why Procurement Controls It

COGS is the direct cost of acquiring or producing the goods a business sells. Formula: Beginning Inventory + Purchases − Ending Inventory. Benchmarks by industry, why procurement decisions directly control COGS, and why most SMBs don't know their real number.

Cost of goods sold (COGS) is the total direct cost of producing or acquiring the goods a business sells during a period — including raw materials, ingredients, components, wholesale purchase prices, and direct labor tied to production — and it is the single largest controllable line item on most SMB income statements, typically consuming 40-70% of revenue.

Quick answers

What is cost of goods sold? COGS is the direct cost of the goods you sold. For a retailer, it is what you paid your suppliers for the products on the shelf. For a restaurant, it is the ingredient cost of every dish served. For a manufacturer, it is the raw materials and direct labor that went into the finished product. COGS appears on the income statement directly below revenue — revenue minus COGS equals gross profit.

What is the COGS formula? Beginning Inventory + Purchases − Ending Inventory = COGS. Beginning inventory is what you had on hand at the start of the period. Purchases is everything you bought from suppliers during the period. Ending inventory is what remains unsold at the end. The difference is what was consumed — your cost of goods sold.

What is the difference between COGS and operating expenses? COGS is the direct cost of producing or acquiring the goods you sell — materials, ingredients, wholesale product cost. Operating expenses (opex) are the indirect costs of running the business — rent, utilities, salaries for non-production staff, marketing, insurance, software. COGS scales with sales volume. Opex is largely fixed regardless of how many units you sell in a given period.

What is a good COGS percentage? It depends on the industry. Restaurants typically run 28-35% food cost (COGS as a percentage of food revenue). Retail businesses run 50-65%. Light manufacturers run 40-60%. A "good" COGS percentage is one that leaves enough gross margin to cover operating expenses and produce a sustainable net profit — and that is benchmarked against peers in the same industry, not against an arbitrary target.

Is COGS the same as food cost? In restaurants, food cost is the COGS for food items specifically. Beverage cost is COGS for beverages. Combined, they make up the restaurant's total COGS. The terms are used interchangeably in food service, but COGS is the broader accounting term that applies across all industries.

The formula, unpacked

COGS = Beginning Inventory + Purchases − Ending Inventory

Each variable carries a procurement implication:

Beginning inventory is the ending inventory from the prior period. Its accuracy depends on whether the prior period's receiving, consumption tracking, and physical counts were reliable. If receiving variances went unrecorded last month, beginning inventory this month is wrong before the period even starts.

Purchases is the total cost of goods bought from suppliers during the period. This should reflect the actual price paid — including any price changes, substitutions, or negotiated adjustments that occurred after the purchase order was placed. If the PO said $5.00/unit but the supplier confirmed $5.25/unit and the system never updated, purchases is understated.

Ending inventory is what remains on hand at period end. Determined by physical count, perpetual inventory system, or a combination. Shrinkage, spoilage, and unrecorded consumption all create gaps between the system's ending inventory and reality. Every dollar of untracked shrinkage understates ending inventory and overstates COGS — or, if the shrinkage is never captured, the error accumulates silently until the next physical count forces a correction.

COGS by industry

IndustryTypical COGS % of revenuePrimary COGS components
Full-service restaurant28-35%Ingredients, proteins, produce, beverages
Quick-service restaurant25-32%Ingredients, packaging, beverages
Specialty retail50-65%Wholesale product cost, freight
General retail55-70%Wholesale product cost, freight
Light manufacturing40-60%Raw materials, components, direct labor
E-commerce (physical goods)40-60%Product cost, inbound freight, packaging

These ranges are benchmarks, not rules. A restaurant at 38% food cost is not automatically in trouble — it depends on menu pricing, labor model, and overall margin structure. But a restaurant that does not know its food cost with precision is flying blind on the largest variable in its P&L.

Why procurement directly controls COGS

COGS is reported by accounting, but it is determined by procurement. Every procurement decision directly sets a COGS input:

Supplier pricing — the price negotiated with each supplier for each item is the unit cost that flows into COGS. A 5% price increase across a supplier's catalog raises COGS by that percentage on every unit sold. Most SMBs discover price increases when the invoice arrives. A procurement system that tracks price changes at the PO confirmation stage catches them before they hit the P&L.

Substitutions — when a supplier substitutes a different product at a different price and the operator accepts, COGS changes at that moment. If the substitution is captured on the purchase order, the cost change is visible. If it is buried in an email thread, the cost change is invisible until the invoice arrives — or never, if the invoice is paid without matching.

Receiving variances — if 100 units were ordered and 92 arrived, the COGS per unit sold rises because the fixed procurement cost (ordering, freight, handling) is spread across fewer units. Structured receiving that reconciles against the PO catches this immediately. Informal receiving misses it entirely.

Waste and yield — a recipe calling for 200g of salmon per plate with a 75% yield requires purchasing 267g per plate. If the procurement system does not account for yield, the operator under-orders, the kitchen runs short, and either production stops or an emergency purchase at a premium price fills the gap — both of which raise effective COGS.

Why most SMBs don't know their real COGS

The COGS formula is simple. Getting accurate inputs is not.

Purchases are estimated, not matched. Most SMBs calculate purchases from invoices paid, not from PO-to-receiving-to-invoice matched records. If an invoice includes a price change the operator never agreed to, it flows into COGS unchallenged. If a receiving shortage was never recorded, the invoice overstates what was actually received and used.

Inventory counts are infrequent. The formula requires accurate beginning and ending inventory. Many SMBs count inventory monthly or quarterly. Between counts, COGS is an estimate based on purchases alone — which ignores shrinkage, spoilage, and the difference between what was purchased and what was actually consumed.

Recipe costs are static. Restaurants and manufacturers set recipe costs when the recipe is created. Ingredient prices change weekly. Without dynamic BOM costing linked to current supplier prices, the per-unit COGS used for menu pricing and margin analysis is based on stale data.

Freight and handling are excluded. The invoice price is not the full cost. Freight, duties, and handling add to the true landed cost of each item. Most SMBs book freight to a generic shipping expense account rather than allocating it to specific inventory items. COGS is understated by the freight component, and gross margin is overstated by the same amount.

The COGS-to-accounting pipeline

In a well-structured operation, COGS flows through a defined pipeline:

  1. Purchase — a PO is created with agreed prices and quantities. This is the cost commitment.
  2. Supplier confirmation — the supplier confirms, modifies, or requotes. The PO updates to reflect the actual agreed cost.
  3. Receive — goods arrive. Quantities are verified against the confirmed PO. Price per unit is confirmed or adjusted. Inventory is updated at the received cost.
  4. Match — the supplier invoice is compared against the confirmed PO and the receiving record. Matching within tolerance means the cost data is clean. Variances are flagged and resolved.
  5. Accounting handoff — the matched, reconciled cost data flows to QuickBooks, Xero, or whatever accounting system the business uses. COGS entries are based on verified purchase prices and confirmed received quantities, not raw invoice totals.

When any step in this pipeline is manual, informal, or missing, the COGS number in the accounting system is an approximation. It may be close. It may not. The operator cannot tell without reconstructing the trail from PO through receiving to invoice — which is exactly the forensic exercise that three-way matching is designed to prevent.

How LineNow handles COGS

  1. Tracks purchase prices at the PO level — every purchase order captures agreed unit prices per item. When supplier replies modify prices, LineNow's AI extracts the change and updates the PO, so the cost basis reflects what was actually confirmed, not what was originally quoted.
  2. Reconciles at receiving — structured receiving forms compare delivered quantities and prices against the confirmed PO. Variances are flagged in real time. The cost that enters inventory is the verified received cost, not an estimate.
  3. Updates recipe and BOM costs dynamically — for businesses using LineNow's recipe builder, ingredient costs recalculate as supplier prices change. Menu item margins reflect current procurement reality, not the prices from when the recipe was created.
  4. Syncs inventory with POS in real time — integration with Shopify, Square, Toast, Clover, Lightspeed, Amazon, and Faire means consumption data is continuous, not periodic. The gap between perpetual inventory and physical reality is smaller because the consumption signal is live.
  5. Hands off clean cost data to accounting — confirmed POs matched against receiving records flow to QuickBooks Online or Xero as reconciled bills. The COGS inputs in the accounting system are sourced from matched procurement data, not from raw invoices processed in isolation.
  6. Surfaces cost trends — price tracking across PO history shows how supplier costs are moving per item, per supplier, over time. The operator sees COGS pressure building before it shows up on the income statement, with enough lead time to renegotiate, switch suppliers, or adjust pricing.

The result: COGS in the accounting system reflects what was actually ordered, confirmed, received, and paid — not what was estimated from invoices alone.

Start your 90-day free trial at linenow.co — connect your POS and see your actual COGS pipeline, from PO to receiving to accounting, in one system. $50/month flat after the trial, no credit card required.

Related

Share on XShare on LinkedIn

Turn the article into an operating system.

See how LineNow connects POS demand, purchase orders, supplier replies, receiving, and accounting handoff.

Book a Demo