Sign in

Blog · Board and management reporting

Product line profitability report: revenue, cost, and margin

Build a product line profitability report from net sales, cost of goods sold and explicitly allocated support costs. A worked distributor example shows the spreadsheet formulas, allocation checks and bridge to company profit.

The short answerA product line profitability report compares net revenue with the costs attributable to each product family. Show cost of goods sold, other direct costs and shared costs allocated on a stated basis. Calculate contribution after those costs, divide by net revenue for the margin, and reconcile the product lines to company totals with unallocated corporate expenses shown separately.

A product line profitability report shows which product families contribute after direct costs and a clearly stated share of support costs. Start with net revenue, keep the cost layers separate, and reconcile the result to the company's accounts. A margin without its allocation policy is incomplete.

Define the product lines and cost layers

Use a stable product-line definition across invoices, cost records and driver files. Preserve SKU-to-line mappings for the reporting period. A changed grouping can move profit between lines even when no transaction changes.

Agree the period, business scope, currency and revenue cutoff with finance. Separate these layers:

  • Net revenue after sales credits, discounts and allowances.
  • Cost of goods sold for those sales.
  • Other directly attributable costs that are not already in cost of goods sold.
  • Shared support costs allocated using an explicit driver.
  • Corporate costs retained outside the product-line allocation.

Call the final line-level subtotal contribution after allocated support in this report. It is a defined management measure. The distinction between gross margin, contribution margin and net margin matters because a conventional variable-cost contribution measure uses a different cost boundary.

Start with the sales and cost exports

Bring an invoice-line export with SKU, product line, gross sales and credit adjustments. Add the cost-of-sales export, directly traced fulfillment expenses, the shared-support ledger accounts and a record of the chosen allocation activity. Keep source document references so each cost can be assigned once.

Net revenue requires the deductions to be visible. IRS Publication 334 explains that returns and sales allowances reduce gross sales in arriving at net sales. For this management report, have finance confirm that rebates and other adjustments also follow its recognized-revenue policy.

For merchandise, IRS Publication 538 includes transportation and other acquisition charges in its explanation of inventory cost. This matters when reading a cost export: freight already included in the cost of goods sold must not be added again as a separate product cost. Use the company's accounting classification rather than rebuilding tax accounting in this report.

Work the product-line contribution

Consider a US industrial distributor's September 2026 report. The following table forms columns A through G of a worksheet, with product lines in rows 2 through 4. Other direct costs are separately traced outbound fulfillment costs; they are excluded from the COGS column.

Product line Gross sales (USD) Sales deductions (USD) Net revenue (USD) COGS (USD) Other direct costs (USD) Contribution before shared support (USD)
Fasteners 320,000 20,000 300,000 180,000 18,000 102,000
Seals 210,000 10,000 200,000 110,000 16,000 74,000
Maintenance kits 170,000 10,000 160,000 104,000 12,000 44,000
Total 700,000 40,000 660,000 394,000 46,000 220,000

Calculate net revenue in D2 and contribution before support in G2, then fill down:

=B2-C2
=D2-E2-F2

The deductions are entered as positive amounts to subtract. If an export stores credit memos as negative sales, preserve that convention in a separate signed calculation instead of subtracting them twice.

The distributor has a shared warehouse-support pool of $60,000, entered in M1. Its approved management-reporting basis is completed handling jobs. Each job has a unique identifier and belongs to one product line. The driver file contains no duplicate jobs or jobs outside the reporting scope.

Add handling jobs in H, allocated support in I, contribution after support in J and margin in K:

Product line Handling jobs Allocated support (USD) Contribution after support (USD) Margin after support
Fasteners 600 36,000 66,000 22.0%
Seals 250 15,000 59,000 29.5%
Maintenance kits 150 9,000 35,000 21.9%
Total 1,000 60,000 160,000 24.2%

Calculate support cost per job in M3, then use the remaining formulas in I2, J2 and K2:

=$M$1/SUM($H$2:$H$4)
=H2*$M$3
=G2-I2
=IF(D2=0,NA(),J2/D2)

The rate is $60,000 / 1,000 = $60 per handling job. Fasteners receive 600 × $60 = $36,000 of support cost. Its contribution is $102,000 minus $36,000 = $66,000, and its margin is $66,000 / $300,000 = 22.0%.

Margins are rounded to one decimal place; calculations retain full precision. The total margin is $160,000 / $660,000 = 24.2%, calculated as follows:

=SUM(J2:J4)/SUM(D2:D4)

Do not average the line percentages. Fasteners have the largest contribution dollars, while seals have the highest margin after support. Those are different commercial questions.

Reconcile the allocation and company result

The allocated support must equal the expense pool. This check should return zero:

=SUM(I2:I4)-$M$1

The report leaves $40,000 of corporate expenses unallocated, entered in M2. Its bridge to operating profit is:

Bridge item Amount (USD)
Net revenue 660,000
Less COGS -394,000
Less other direct costs -46,000
Less allocated support -60,000
Contribution after support 160,000
Less unallocated corporate expenses -40,000
Operating profit 120,000

Operating profit is =SUM(J2:J4)-$M$2. Tie revenue and each expense pool to the same ledger period, including any unmapped products. An unmapped balance belongs in a visible exception row until resolved; dropping it makes the report appear more profitable.

The broader profitability report owns the company-level review. A customer profitability report groups the economics by account instead, while a product management report addresses the wider product performance review.

Test the decision before changing the line

An allocation redistributes a real expense; it does not establish the cost that disappears if a product line closes. Ask the operating owner which handling effort is avoidable, whether capacity can be redeployed and whether the line supports sales of other products.

Keep the allocation basis consistent for trend reporting. If management changes the driver, restate the comparison where practical or show the policy effect separately. Otherwise a margin movement can be mistaken for a change in pricing or operating performance.

Where the report goes wrong

  • Using purchases as COGS. Unsold inventory belongs outside the current sales-cost comparison under the chosen accounting basis.
  • Allocating a cost twice. Remove expenses already present in COGS or directly traced costs from the shared pool.
  • Duplicating the driver. Repeated handling-job IDs inflate a line's allocation and distort the rate.
  • Calling all allocated expenses avoidable. A line can absorb corporate costs that remain after it closes.

Review your product lines in Covirage

Bring your sales, cost and allocation-driver files with the reporting policy identified. Covirage maps the columns, its tools compute and check the line contributions and reconciliations, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.

See customer profitability for the supporting business context.

Questions people ask

Is product profitability the same as gross margin?

Gross margin stops at revenue less cost of goods sold. A product profitability report can go further by deducting direct selling or fulfillment costs and allocated support. Label each subtotal and its cost definition so a reader can distinguish gross profit from contribution after additional costs.

How should shared costs be allocated to product lines?

Choose a documented basis that reflects how the cost is incurred or the service is used. Handling jobs, occupied space or support hours may suit particular pools. Reconcile each allocation to its source expense and show material sensitivity when another reasonable basis would change the product ranking.

Should an unprofitable product line be discontinued?

An allocated loss alone does not establish the savings from discontinuing a line. Identify which costs would actually disappear, which would remain and whether other sales depend on that line. Use the report to investigate pricing, service effort and avoidable costs before making a decision.