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

(Revenue minus COGS) divided by Revenue. The single best margin-health number for the executive view. Computed off posted Sales Invoices and matched COGS posting from Item Charges + Item Application Entries.

Calculation

Calculated automatically from your Microsoft Dynamics 365 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 wholesale electronics distributor on BC, 30-day window 14 Mar 26 to 12 Apr 26. Five things to notice:
  1. Margin compressed 1.8pp despite revenue growth. COGS rose 6.1% on revenue that rose only 3.3%. Classic margin erosion: cost-side moved faster than price-side. Just below the 2pp alert threshold.
  2. Two likely drivers: (a) FIFO layer turnover, the merchant is now selling out of higher-cost inventory layers received in Q4 25 when supplier prices spiked; (b) channel mix shift towards lower-margin marketplace sales. The Margin by SKU breakdown identifies which SKUs concentrate the compression.
  3. The Adjust Cost batch posted on 31 Mar 26. Pre-batch margin showed 30.1%; post-batch (correct) was 29.4%. The card uses post-batch.
  4. Power BI’s Finance Performance pack shows 29.4% on the Gross Margin tile for the same Company, matching this card. Multi-Company Power BI requires custom DAX; this card consolidates natively.
  5. Action: investigate the FIFO layer hypothesis via Margin by SKU drill-down. If a handful of SKUs are responsible, raise prices or substitute lower-cost variants. If margin compression is broad, escalate to procurement for vendor renegotiation.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in Business Central:
Reports > Finance > Income Statement (Revenue minus Cost of Goods Sold = Gross Profit) Power BI > Finance Performance content pack > Gross Margin tile Reports > Sales > Sales Statistics (per-customer-margin variant) Item Card > Statistics > Avg. Sales Profit % (per-Item lifetime margin)
The Income Statement Gross Profit % matches this card to within rounding. Power BI’s Gross Margin tile uses identical DAX. Why our number may legitimately differ from BC’s reports: Cross-connector reconciliation:

Known limitations / merchant FAQs

What is a healthy Gross Margin %? Apparel: 50 to 65%. Electronics distribution: 18 to 28%. Specialty consumer goods: 35 to 50%. Industrial wholesale: 12 to 22%. Margin much above category benchmark suggests pricing power; much below suggests cost pressure or competition. Why does my margin swing 2 to 4 percentage points month-over-month even with stable prices? FIFO Costing Method causes layer-turnover swings. When you sell out of an old cheap layer and start consuming a new expensive layer, COGS jumps even though selling prices did not. Average Costing smooths this. Does the card account for inventory write-downs? Inventory write-downs post to a P&L account but typically not the standard COGS range (5000-5099). They go to a write-down account (often 5500). The card excludes these from COGS so the margin reflects ongoing trade, not balance-sheet adjustments. Multi-Company tenants: how is the consolidated margin computed? Each Company’s Revenue and COGS are translated to Reporting Currency, then summed before the ratio is taken. This avoids the “Simpson’s paradox” where individual Companies show one trend and the consolidated another. What about freight-in and customs duties? Captured via Item Charges in BC. If the Item Charge is allocated to the Item (typical for landed cost), it sits in COGS and the card captures it. If booked separately to Freight or Duty G/L accounts, it is excluded; the field map can normalise. Does the card include Manufacturing variances? Standard cost variances (Material, Capacity, Subcontractor) post to dedicated G/L accounts; some merchants treat these as COGS, some as Operating Expense. The card uses the strict 5000-5099 range by default; configure if your accounting policy differs. How does this compare to NetSuite’s gross margin? Same formula. NetSuite uses Item Costing (Average / Standard / FIFO / LIFO) like BC. The result for a multi-ERP merchant should be identical when scoped consistently. Power BI Finance Performance pack: same number? Yes for one Company. Multi-Company Power BI requires custom DAX or Premium-tier roll-up; this card consolidates natively.

Tracked live in Vortex IQ Nerve Centre

Gross Margin Percentage is one of hundreds of KPI pulses Vortex IQ tracks across Microsoft Dynamics 365 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.