Revenue minus COGS over revenue. The single best margin-health number for the executive view.
At a glance
Revenue minus COGS over revenue, computed from Sage Intacct’s General Ledger across the period. The single best margin-health number for the executive view, sliceable by every Intacct dimension (Department, Location, Project, Item, Class, Customer, Vendor) so the same percentage can be cut by team, business unit, or project without re-querying. The boardroom number; the operating decision lives in dimensional drill-downs.
Calculation
Calculated automatically from your Sage 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 digital agency on Sage Intacct (single entity, USD), running a project-based services business with annual revenue ~$24M. Period is 30D ending 12 Apr 26 vs the prior 30D ending 13 Mar 26. The Project dimension is populated on every revenue and COGS line; Department splits Strategy / Creative / Engineering / Media practices.
Gross margin compressed 5.9 percentage points period over period, well above the 2pp alert threshold. The Nerve Centre fires sentiment
margin and the Controller drills the dimensional cut.
Five things to notice:
- The Project dimension cut surfaces the cause in one click. Pivot the same percentage by Project: 41.1% consolidated decomposes into the Project-level margins. Three projects took the full hit:
PRJ-VEGA-2026(a fixed-fee implementation with 38% margin this period vs 52% last period),PRJ-LUNA-2026(35% vs 49%), andPRJ-NOVA-2026(29% vs 44%). The other 47 active projects held margin within 1pp of last period. Three projects are dragging the consolidated margin by 5.9pp on their own. This is exactly the conversation Sage Intacct’s dimensional model is designed to support; on NetSuite the same drill is possible via Class plus saved searches but takes 2 to 3x longer to surface. The Implementation Partner’s monthly board pack typically includes the Project margin column, so this card mirrors the conversation the merchant already has. - Drill into
PRJ-VEGA-2026(the worst Project) and the cause is a labour overrun. The Project’s COGS line shows 112K plan; the engineers logged 720 hours against a 480-hour scope. Pair this with Margin by SKU cut by Item dimension (Service items have margins too) and the picture sharpens further: senior-engineer time billed at 180/hr is the proximate cause. The remediation is a Change Order to the Customer for scope expansion, or an internal write-down on the Project. The card fires the alert; the Project margin pivot tells the Account Director where to look; the conversation with the Customer happens within 24 hours. - The consolidated 41.1% number on its own is misleading because the median-Project margin is still 49%. Three problem Projects are bleeding $200K+ of dollar margin in a 30-day window; the 47 healthy Projects are operating at plan. Without the dimensional cut, the executive read is “margin compressed across the agency”, which would lead to a wrong intervention (cost cutting across all teams, hiring freezes, scope refusal). With the dimensional cut, the read is “three Projects need urgent attention; the other 47 are fine”. The intervention is targeted, not blanket. This is why the Project dimension on Intacct is uniquely valuable for services-heavy commerce; NetSuite’s Class dimension is conceptually similar but Intacct’s Project is purpose-built for project-based businesses with native time-tracking and Project-level P&L roll-up.
- The Department dimension cut tells a complementary story. Pivot 41.1% by Department: Strategy 52%, Creative 48%, Engineering 38%, Media 55%. Engineering is dragging because the three problem Projects all sit there. The Engineering Practice Lead now owns the conversation with three Account Directors. The card has surfaced the issue, the Project pivot has surfaced the cause, the Department pivot has surfaced the owner. Three clicks to the action; on a system without Intacct’s dimensional model, this is a 3-hour spreadsheet pull.
- The Class dimension carries the secondary signal: client tier. Pivot 41.1% by Class (which the Implementation Partner mapped to Strategic / Growth / SMB tiers): Strategic clients 35% margin (down from 51%), Growth 44% (down from 47%), SMB 50% (flat). The Strategic-tier compression is structural and worse than the consolidated number suggests, because Strategic accounts represent 60% of revenue. The 16pp drop on Strategic clients is the real boardroom conversation. If the Account Directors keep accepting scope expansions on Strategic accounts without Change Orders to protect margin, the agency will exit the year at sub-40% gross margin on its biggest revenue cohort. The card fires the alert; the dimensional cuts make the cause unambiguous.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in Sage Intacct: The native Sage Intacct views to run side by side with this card:Reports → Financial → Income Statement (period view, dimensional). The Gross Profit subtotal divided by Total Revenue is this card. Reports → Financial → Income Statement Comparative (period vs prior period; the comparison this card automates) Interactive Custom Report (ICR) built on the General Ledger source filtered to revenue accounts (4000-4999) and COGS accounts (5000-5999), with calculated columns for the ratio, pivoted by Department / Project / Class Reports → Order Entry → Sales by Item with Margin (item-level margin, the underlying drill) Standard Dashboard “Gross Margin Trend” widget (typically configured by the Implementation Partner)The Income Statement summary line “Gross Profit %” should match this card to within rounding when the same period and entity scope are selected. For an audit-grade match, run a Comparative Income Statement at intacct.com filtered to the two windows; the Gross Profit row’s percentage column is the headline. Most Implementation Partners build a saved ICR called something like “Gross Margin by Project, Comparative” that mirrors this card’s logic; once built, it is the monthly close report. Common reconciliation pitfalls when comparing against Intacct’s own reports:
- Sales by Item with Margin sums Order-line margin, not GL-booked margin. The two views differ when COGS is recognised on a different schedule from revenue (any business with deferred recognition, lot-allocated costs, or period-end COGS adjustments).
- Trial Balance with Dimensions is account-level and includes non-revenue / non-COGS accounts if the filter is not tight; this card is revenue-account-and-COGS-account only.
- AR Aging is AR-based, not P&L. Ignore for this comparison.
Cross-connector reconciliation, the killer cross-platform finding:
The cross-platform killer view is that an eroding-margin SKU still receiving paid traffic is pure waste. Intacct alone cannot see ad spend; ad platforms alone cannot see landed-cost-loaded margin. Vortex IQ joins them. On a typical mid-market commerce account this finding usually exceeds the cost of the subscription within the first quarter, which is why this card plus the Margin Erosion Alerts cross-platform card is the AI OS positioning anchor. Sage Intacct’s dimensional model adds the Project, Customer, and Class cuts that NetSuite’s Class / Department / Location segmentation supports through saved searches but Intacct supports natively.