Blog · Board and management reporting
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.