Skip to main content
Metrics type: Key MetricsCategory: Ecommerce Platform
Revenue minus COGS over revenue. The single best margin-health number for the executive view.

At a glance

Gross margin percentage = (Revenue minus COGS) / Revenue, period-window. The single best margin-health number for the executive view. Sources revenue from S/4HANA Cloud Universal Journal revenue accounts and COGS from the matching cost-of-goods-sold posting created at goods issue (movement type 601 + automatic offsetting cost posting via OBYC tables).

Calculation

Calculated automatically from your SAP data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A US enterprise B2B distributor on S/4HANA Cloud. 30-day window 04 Apr 26 to 03 May 26. Five things to notice:
  1. GM% at 26.4% is below the 28.7% prior period, a 2.3pp drop. Card fires the drop >2pp vsP alert.
  2. What drives a 2.3pp drop? Three usual causes (in order of frequency): (a) standard-price changes on key materials with cost increases not yet passed through to selling price, (b) mix shift toward lower-margin products, (c) increased discounting / promotional activity.
  3. Drill into Margin Erosion Alerts for the per-SKU breakdown. Typically a handful of materials drive most of the change.
  4. Drill into Margin by SKU for the full table sorted by margin contribution. The top 50 SKUs typically explain 70 to 80% of total gross profit.
  5. Multi-Company-Code GM% comparison. US 28.1%, CA 24.6%, MX 21.8%. The MX margin is structurally lower (smaller deals, more competitive market), but if MX dropped 4pp this period that is a localised problem worth investigating separately.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in S/4HANA Cloud:
Income Statement Fiori app (F0708) showing Revenue and COGS lines Margin Analysis Fiori app, profitability segment view (CO-PA / Margin Analysis) SAP Analytics Cloud Profitability story Embedded Analytics: CDS view I_OperatingProfit
Direct deep-link: https://my{tenant}.s4hana.cloud.sap/sap/bc/ui2/flp#MarginAnalysis-display Why our number may legitimately differ from SAP’s Income Statement / Margin Analysis: Cross-connector reconciliation: This is the SAP-side answer; commerce platforms cannot show true gross margin because they do not own COGS. Commerce-platform “margin” is typically calculated on a manually-entered cost-per-product field, which is rarely current.

Known limitations / merchant FAQs

What is a healthy gross margin for B2B distribution? 22 to 32% typical. Specialty distribution: 35 to 45%. Commodity distribution: 10 to 18%. Industry context matters more than absolute number. Why does GM% drop when revenue grows? Either mix shift (more low-margin volume) or cost increases not reflected in selling price. Pair this with Margin by SKU to diagnose. Standard cost vs moving average, which is more accurate? Standard cost is more stable (good for budgeting); moving average reflects current procurement reality. SAP allows mixing per material. The card uses each material’s setting; the executive view may smooth over genuine cost variance if standard prices are stale. Material Ledger / Actual Costing impact? Period-end revaluation in Material Ledger can shift historical COGS retroactively. The card picks up the latest revaluation snapshot; expect small jumps at month-end close. FX swings affect margin? Yes if revenue and COGS are in different currencies. A USD-revenue / EUR-COGS line will see margin shift with EUR/USD movement. SAP’s parallel-currency posting captures this; the card uses Group Currency for consistency. SAP Analytics Cloud Profitability story shows different margin, why? SAC may use CO-PA Margin Analysis (which includes contribution-cost components beyond COGS) or different period definitions. Re-run SAC at the same revenue and COGS account scope and the figures reconcile. Refunds and Credit Memos, how do they hit margin? Both sides. A Credit Memo (G2) reverses revenue; the corresponding goods receipt (return delivery, movement type 651/653) reverses COGS. Net margin impact reflects both legs. Mix-shift vs price-cost gap, how do I tell them apart? Drill into Margin by SKU. If most SKUs maintained their unit margin and the headline dropped, it is mix shift. If most SKUs lost unit margin, it is a price-cost gap (cost-up or price-down). T-codes for drilling in? S_ALR_87012284 (Income Statement), KE30 (CO-PA execution), MR21 (price change), CKM3N (price analysis).

Tracked live in Vortex IQ Nerve Centre

Gross Margin Percentage is one of hundreds of KPI pulses Vortex IQ tracks across SAP and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.