Sign in

MarginReport · IncStores
Live · loading…
Evidence Insights

Per-product profitability

Each row is one SKU. Numbers below default to evidence-only — lines whose product cost is backed by a real NetSuite VendBill or NS landed cost. Click any row to see every order it appears in with the bill behind each cost.

Products

Sortable, searchable.

SKU Orders Quantity Revenue Cost Profit Margin Evidence
Loading…

Orders

Sales orders ranked by net margin. Defaults to complete only — orders where every product line has a vendor bill behind its cost AND freight is matched. Toggle filters to widen.

Orders

SO Date Customer Revenue Cost Freight Net profit Margin Completeness
Loading…

Data health

Is the headline number trustworthy? One page, every signal at a glance.

Loading evidence breakdown…

Where each dollar of cost comes from

Trust ranked. Real bill at top, estimates and fallbacks below.

Sales channel mix

Revenue by channel. Marketplace external IDs covered .

Cost validation

For every SKU on netsuite_cost_estimate, do our actual vendor bills agree?

Loading…
Top variance SKUs
SKUVendor NS est. Bills wavg Variance Revenue
Loading…
Trust calibration (within 5%) SKUs where NS estimate matches bills exactly
SKU NS est. Bills wavg Variance Revenue
Loading…
Missing-cost SKUs
SKUFamily OrdersRevenue at risk Sources tried
Loading…
Full channel breakdown All channels with margin, profit, ID coverage
Channel Orders Lines Revenue Profit Margin External ID
Loading…

SKU database

Every distinct SKU we’ve sold in the window. Sort, filter, drill down. Kits roll up their members automatically; cost gaps are surfaced, not hidden.

How the SKU database is built

Source
Local table margin_snapshots, pre-computed per-line. Refreshed nightly via sync_all_margins.py.
SKU revenue
Sum of transactionline.netamount across every SO line for the SKU.
SKU cost
Priority chain: NetSuite costestimate / landedcostforecast.db fallback → kit rollup → missing (surfaced with a gap tag).
Kits
A kit’s cost is the rolled-up sum of its members from NetSuite itemmember.
SKU / product FamilyBrand Qty sold Orders Revenue Cost Profit Margin
Loading…

Margin by family

Kurt’s “Rubber Rolls vs. Rubber Tiles vs. Playground” breakdown. Family taxonomy from Akeneo PIM, per-line aggregation across attributed orders.

Family SKUs Lines Revenue Cost Profit Margin
Loading…

Margin by brand

Which manufacturers give us the best pricing-to-retail spread. Brand taxonomy from Akeneo.

Brand Lines Revenue Cost Profit Margin
Loading…

Margin by sales channel

Magento direct, Amazon, Walmart, etc. Channel from NetSuite custbody_fa_channel. Marketplace fees are not yet deducted.

Channel Orders Revenue Product margin Freight Net profit Net margin
Loading…

Data coverage

What’s missing, by source. Every line we can’t cost, every order we can’t freight-match — ranked by dollar impact.

Missing-cost SKUs — ranked by revenue at risk

Products generating revenue without a bookable cost. Fixing these in NetSuite’s item master unlocks margin visibility.

SKU Family Orders Revenue at risk Sources tried
Loading…

Cost-source breakdown

Which fallback is actually carrying us.

Missing cost by family

Which product lines have the worst item-master hygiene — usually a workflow gap.

Family SKUs with gaps Revenue at risk Share of missing $
Loading…

Us vs. NetSuite

Orders where our gross profit disagrees with NetSuite’s est_gross_profit by more than 5%. A negative delta usually means we found a cost NetSuite doesn’t have via the forecast.db fallback.

Sales order Customer Reason Our profit NS profit Δ $ Δ %
Loading…

Single-order drill-down

Line-by-line reconstruction of one sales order — revenue, cost, freight, and the source tag for each number.

Tweaks