Top finding for the Finance Controller. SKUs whose unit margin has materially eroded in the last quarter.
At a glance
SKUs whose margin percentage has materially eroded vs the prior quarter inside Sage Intacct. The Controller’s “what is getting worse” worklist, sliced by every Intacct dimension (Department, Location, Project, Item, Class, Customer, Vendor, Employee).
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 B2B distributor on Sage Intacct Multi-Entity Console. Three entities: a US parent (Vortex Distribution Inc, USD), a Canadian sub (Vortex Distribution Canada, CAD), and a fulfilment entity (Vortex Logistics Inc, USD intercompany only). Annual revenue ~$72M. The Department and Location dimensions are populated on every transaction line; Class is used to separate Wholesale from Retail D2C. Reporting currency USD. Comparing 14 Jan 26 to 12 Apr 26 vs 14 Oct 25 to 13 Jan 26.
Five things to notice:
- Four Items trip the alert (drops greater than 20pp), and the Sage Intacct dimensional cut is what makes the diagnostic actionable. A single number (“margin is down”) is a complaint; an Item-by-Department-by-Class worklist is an action. The four alerts here decompose to: BR-D-014 (-32pp) is a pricing decision gone wrong inside the Retail D2C Class, BR-B-022 (-25pp) is a high-volume cost shock inside the Wholesale Class, BR-C-088 (-23pp) is a clearance event also Retail D2C, and SVC-IMPL-AOC (-26pp) is a project-based services line where billable utilisation collapsed. Each goes to a different Department owner. Without the dimensional cut, the same four would land as a generic margin-decline ticket on the Controller’s desk; with the cut, BR-B-022 and BR-D-014 route to Apparel merchandising, BR-C-088 routes to Retail D2C clearance management, and SVC-IMPL-AOC routes to the Services Department lead.
- BR-D-014 dropped 32pp into negative margin (-10%), meaning the business is paying customers to take this product. Most likely cause: Retail D2C discount pricing pushed below the landed-cost floor, with merchandising authorising a 60% off promotion without checking landed cost in the Item record. Less common but real: an upstream cost spike (freight surcharge, supplier price increase) booked through the Vortex Logistics intercompany entity that pushed the inbound landed cost above the discounted price. The Controller pings merchandising the same morning. Annualised at the current Retail D2C revenue rate, BR-D-014 alone is bleeding 0K target.
- **BR-B-022 (-25pp from 36% to 11%) is the most financially concerning of the alerts because it is a high-volume Wholesale Item at 396K is $99K of dollar margin loss in a single quarter, more than the other three alerts combined. Big-revenue Item plus modest-percentage drop almost always wins on dollar impact. The card surfaces percentage-pp drop because that triggers anomaly detection cleanly, but the action priority is dollar impact. A Controller working the worklist should sort by
period_revenue * abs(margin_drop_pp)to prioritise dollars. On this account, BR-B-022 traces back to a Vendor-dimensioned cost-shock: a freight surcharge on a hoodie line manufactured in Vietnam that the Apparel Department had not pushed through to Wholesale price. - SVC-IMPL-AOC (-26pp) is the Project-dimension finding that only Sage Intacct can produce cleanly. This Implementation Services line was tagged to Project
PRJ-AOC-2025. The drop is because the project ran 38% over its planned hours (project tracking inside Intacct’s Projects module shows 1,420 actual hours against 1,030 budgeted), which booked through to project cost without a corresponding Project price uplift. Both prior-period and this-period revenue tagged to the same Project; the prior-period had healthier utilisation. NetSuite can produce a similar finding through SuiteProjects or the Projects module, but the dimensional join from GL Detail to Project is one Intacct API call (the same line carries both the revenue account hit and the Project tag), where in NetSuite it requires the Projects subrecord join. For services-heavy or project-based commerce (digital agencies, consultancies, B2B implementation services), Intacct’s Project dimension is the killer integration on this card. - The healthy-but-eroding watchlist (BR-A-001 at -4pp, BR-A-014 at -3pp) is below the alert threshold but the trend is worth tracking, especially because the same Brand (Brand A) shows two consecutive Items softening in the Wholesale Class. Two Items in the same Brand softening at the same time is a brand-level signal: probably a Vendor cost tick, possibly a freight pattern, or a competitive pricing shift in the channel that forced a price reduction. The card supports a configurable Watchlist threshold (typically 3-5pp) that surfaces the early-warning cohort without firing the alert. On this account, the Brand A erosion turned out to be a 3% Vendor cost increase that had been quietly absorbed for two quarters before the merchandiser caught it; surfacing it earlier through the Watchlist would have saved roughly $36K of cumulative margin.
Sibling cards merchants should reference together
Reconciling against the vendor’s own dashboard
Where to look in Sage Intacct: Sage Intacct does not expose a native period-over-period margin-erosion alert; the comparison is one of the gaps that Vortex IQ fills. The closest manual approaches inside Intacct are:Reports → Financial → Income Statement with the Item dimension pinned (run twice for the two windows, manually diff the per-Item margins in a spreadsheet) Interactive Custom Report (ICR) built against the GL Detail data source:The Implementation Partner pattern is the key reconciliation point: most Sage Intacct merchants run their margin reporting through their Partner’s monthly board pack rather than through the Intacct UI directly. If the card’s number differs from the Partner’s pack, ninety percent of the time the discrepancy is in Chart of Accounts mapping, not in arithmetic. Vortex IQ’s field map is the single place to align both views. Common reconciliation pitfalls when building this manually:SUM(credit_revenue)minusSUM(debit_cogs)per Item, with a calculated column for the period-vs-period delta. An Intacct-certified Implementation Partner can build the ICR in roughly 60 to 90 minutes; once built, it becomes the “tie out” report the Controller runs every month-end Reports → Order Entry → Sales Item Profitability for Item-level margin trend over time (no automatic alert on threshold breaches) Custom Reports with the Department or Project dimension filter for the dimensional cuts on the Worked Example
- Cost basis drift mid-period: Intacct’s Item average cost updates with each Inventory Adjustment or Purchase Receipt, so an Item’s “this period” margin uses a different cost basis at different points within the period. The card uses period-end average cost; an ICR using transaction-line cost can produce different per-Item margins.
- Refund and Credit Memo handling: a Credit Memo against an Invoice in the prior period drags margin in the current period if it posts in the current window. The card normalises to invoice-date economics; a naive ICR filtered to current-period Invoice transactions distorts.
- Discount line items: Intacct’s Order Entry module typically applies trade and term discounts at the Item line, but some setups post discounts as separate Discount line items. The ICR needs to allocate discount lines back to the Item before computing margin. Most merchants get this wrong on the first attempt.
- Project-dimension revenue recognition: Items tagged to a Project under Intacct Contracts and Revenue Management show recognised revenue, not invoiced revenue. The ICR must filter the same way or the Project Items read different margins on the two reports.
Cross-connector reconciliation, the killer cross-platform finding:
The cross-platform killer view is that an eroding-margin Item still receiving paid traffic is pure waste. Sage Intacct alone cannot see ad spend; ad platforms alone cannot see landed-cost-loaded margin. Vortex IQ joins them and surfaces the intersection. The Sage Intacct dimensional model makes this join cleaner than NetSuite, Oracle ERP Cloud, or SAP S/4HANA, because Item is a first-class dimension on every transaction line out of the box. On a typical mid-market Sage Intacct commerce account, this finding alone usually exceeds the cost of the subscription within the first quarter, which is why this card plus the Dead Stock with Active Ad Spend cross-platform card is the AI OS positioning anchor: no single connector, no single dashboard, no single SaaS tool can produce this finding because the data lives across systems. The connector graph is the value, not any individual card.