Product finance · NetSuite TD3016323
Revenue, cost, margin, growth, and portfolio position for every product line and the products inside them, from twelve months of billed sales.
Billed revenue over the trailing twelve months was $1,862,370, up 85% on the prior twelve, and gross profit on that revenue was $1,199,768. Two things drive the headline and they should be read separately. Product lines, meaning the four classes that carry inventory, earned $511,779 on $1,174,381 of revenue, a gross margin of 43.6%, with every class between 42% and 60%. Delivery service, a single service item with no cost recorded against it, added $687,989 of revenue that shows as pure margin. That is 37% of revenue and 57% of gross profit, and the second figure is not real until the cost of delivering is captured.
Among the product lines, Home and Decor is the largest at $624,469 and grew 27%; Apparel is second at $386,820 and grew 26%. Both are stars on the portfolio matrix: growing faster than 10% with margins above 40%. Beauty is a cash cow, 44% margin on 7% growth. No product line and no product sells below cost, but the margin range within lines is wide, from an Estes Park chair at 3% to a leather valise at 63%.
Comparing: September 23, 2025 to September 23, 2026 against the twelve months before. Gross profit = revenue minus the cost estimate carried on each sales line. Ranked by gross profit.
| Product line | Items | Units | Revenue | Cost | Gross profit | Margin | Growth | Rank | Rating |
|---|---|---|---|---|---|---|---|---|---|
| Delivery service (no class) | 3 | 131 | $687,989 | $0 | $687,989 | 100.0% | +807.2% | 1 | Cost not captured |
| Home & Decor | 29 | 1,416 | $624,469 | $349,126 | $275,343 | 44.1% | +27.0% | 2 | Acceptable |
| Apparel | 50 | 3,324 | $386,820 | $224,979 | $161,841 | 41.8% | +25.9% | 3 | Acceptable |
| Beauty | 41 | 5,256 | $141,167 | $79,597 | $61,570 | 43.6% | +6.8% | 4 | Acceptable |
| Miscellaneous | 11 | 173 | $21,925 | $8,900 | $13,025 | 59.4% | new | 5 | Strong |
Margins by product line sit in a narrow band, which says the pricing and costing conventions are consistent across categories. The spread is inside the lines.
| Product | Line | Units | Revenue | Gross profit | Margin | Growth |
|---|---|---|---|---|---|---|
| Black Leather Valise | Apparel | 84 | $29,177 | $18,341 | 62.9% | +108% |
| Box Spring | Home & Decor | 76 | $38,000 | $15,200 | 40.0% | +10% |
| Estes Park Ottoman | Home & Decor | 53 | $29,837 | $14,546 | 48.8% | +70% |
| Estes Park Chest | Home & Decor | 43 | $28,965 | $14,173 | 48.9% | -33% |
| Estes Park Queen Poster Headboard | Home & Decor | 38 | $24,998 | $12,154 | 48.6% | -3% |
| Patriarch Luxury Firm T B | Home & Decor | 24 | $21,303 | $11,703 | 54.9% | +5% |
| Contour Rhapsody Breeze K B | Home & Decor | 62 | $30,120 | $11,520 | 38.2% | +101% |
| Contour Rhapsody Breeze Q B | Home & Decor | 61 | $29,640 | $11,340 | 38.3% | +85% |
| Contour Rhapsody Breeze F M | Home & Decor | 61 | $29,640 | $11,340 | 38.3% | +98% |
| Contour Rhapsody Breeze T M | Home & Decor | 61 | $29,640 | $11,340 | 38.3% | +98% |
The Contour Rhapsody Breeze mattress line accounts for eight of the top twelve products by gross profit and roughly doubled in every size. Its margin is 38%, below the line average, so its contribution comes from volume.
| Product | Line | Units | Revenue | Gross profit | Margin |
|---|---|---|---|---|---|
| Estes Park Chair | Home & Decor | 30 | $9,477 | $252 | 2.7% |
| The Bindel Jacket | Apparel | 47 | $14,626 | $1,466 | 10.0% |
| Salida Backpack BU | Apparel | 32 | $3,102 | $542 | 17.5% |
| Salida Backpack GR | Apparel | 34 | $3,302 | $582 | 17.6% |
| Black Leather Belt | Apparel | 58 | $2,631 | $485 | 18.4% |
| Brown Leather Satchel | Apparel | 57 | $21,999 | $4,900 | 22.3% |
| Pro Essentials Brush Set | Beauty | 66 | $2,642 | $662 | 25.1% |
| Rhinestone Blouse | Apparel | 37 | $2,507 | $657 | 26.2% |
The Estes Park chair earns $252 on $9,477 of sales, a 3% margin, while the ottoman, chest, and headboard in the same collection earn 49%. That is the pattern to investigate first: a single item in an otherwise healthy collection, which usually means a costing or pricing error rather than a product problem.
Based on: growth above 10% and margin above 40% as the quadrant thresholds, applied to the four product lines. Delivery service is excluded because its margin is unmeasured.
| Quadrant | Product lines | Revenue share | Margin | Recommendation |
|---|---|---|---|---|
| Star | Apparel, Home & Decor | 86.1% | 43.2% | Invest |
| Cash cow | Beauty | 12.0% | 43.6% | Maintain |
| New | Miscellaneous | 1.9% | 59.4% | Watch |
| Line | Revenue share | Gross profit share | Contribution vs share |
|---|---|---|---|
| Delivery service | 36.9% | 57.3% | above revenue share |
| Home & Decor | 33.5% | 22.9% | below revenue share |
| Apparel | 20.8% | 13.5% | below revenue share |
| Beauty | 7.6% | 5.1% | below revenue share |
| Miscellaneous | 1.2% | 1.1% | below revenue share |
Every product line contributes gross profit below its revenue share, because delivery service, with no cost, absorbs 57% of gross profit on 37% of revenue. Correct the delivery cost and the product lines' contribution shares rise to match their revenue shares almost exactly.
Product discontinuation, cost allocation, and pricing decisions require human review under the prompt's controls. None is recommended here.
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | Sales lines | transaction (CustInvc, CashSale), transactionline, item | Trailing 24 months, 5,553 lines, subsidiaries 1-3 | Revenue, cost, units, growth by class and item | Yes |
Adaptations from the prompt's templates: product line is the class on the transaction line, because the item record's class is unpopulated for most items in this account; revenue is transactionline.netamount (sign-reversed), which nets discounts; the cost estimate is stored negative and was sign-corrected; transaction.subsidiary is not exposed, so the elimination subsidiary is excluded through the line; the prompt's :minimum_revenue filter was applied as $2,000 for the low-margin table only.
SELECT t.id, t.type, t.trandate, t.entity, tl.item, BUILTIN.DF(tl.item), i.itemtype,
NVL(BUILTIN.DF(tl.class),'None'), NVL(BUILTIN.DF(tl.department),'None'), NVL(BUILTIN.DF(tl.location),'None'),
-tl.quantity, -NVL(tl.netamount,0), NVL(tl.costestimate,0), tl.rate, tl.subsidiary
FROM transaction t JOIN transactionline tl ON tl.transaction = t.id JOIN item i ON i.id = tl.item
WHERE t.type IN ('CustInvc','CashSale') AND t.posting = 'T' AND tl.mainline = 'F' AND tl.taxline = 'F' AND tl.subsidiary <> 4
AND t.trandate >= ADD_MONTHS(SYSDATE, -24)| Assumption | Category | Rationale | Sensitivity | Impact if wrong |
|---|---|---|---|---|
| Line cost estimate is the product's direct cost | Data | Only cost available per sales line | Medium | All margins |
| Line class is the product line | Data | Item class unpopulated | Low | Grouping |
| No indirect cost allocation | Method | Prompt's Block 3 requires an allocation basis a person must choose | High | Contribution after allocation; not computed |
| Delivery service margin is unmeasured, not 100% | Business logic | No cost recorded | High | Mix analysis; disclosed |
| Test | Objective | Result |
|---|---|---|
| G1-001 | Line revenue reconciles to invoice-sourced income | Pass within rounding of the ledger's invoice and cash-sale income for the period |
| G1-002 | Cost present on product lines | Pass every inventory and assembly line carries a cost estimate; 3 items do not, all services |
| G2-001 | Margin arithmetic | Pass computed in code; class totals foot to item totals |
| G2-002 | Growth comparability | Pass both windows are 365 days |
Confidence: 90% in product-line revenue and growth; 75% in margins, which depend on the cost estimate being maintained; the delivery service margin is unknown.