Skip to main content
Card class: HeroCategory: Ecommerce Platform
Headline GL-booked revenue from Sage Intacct. The single number the Finance Controller checks at 9am Monday.

At a glance

Revenue formally booked into the Sage Intacct General Ledger across the period. The arithmetic sum of revenue-account journal lines (typically the 4000 series in the Intacct Standard Chart of Accounts, configurable per merchant) posted from Invoices, Orders that auto-invoice, AR Adjustments and journal entries against the selected entity. Every line is dimension-tagged in Intacct, so this card slices instantly by Department, Location, Project, Item, Class, Customer, Vendor, or Employee.
What it countsSUM(GLDETAIL.AMOUNT) filtered to revenue-class GL accounts, posted (STATE = 'Posted'), with RECORDTYPE IN ('Invoice', 'AR Adjustment', 'Order Entry Invoice', 'Cash Receipt with revenue offset', 'Journal Entry') and a revenue-account hit on the line. This is the figure that flows into the Income Statement and survives audit. Intacct’s dimensional model means every line carries Department, Location, Project, Item, Class, Customer, Vendor and Employee tags, so the same number can be re-cut without re-querying.
Tax treatmentNet of tax. Sage Intacct books tax to a separate liability account through the Tax Solution module (typically 2200 Sales Tax Payable, or country-specific equivalents under the Multi-Entity Console). This card sums revenue accounts only, so the figure is exclusive of US sales tax, VAT, GST, and any non-recoverable consumption tax across every entity, regardless of which Intacct tax engine is in use (native US Sales Tax, Avalara AvaTax connector, or the Tax Solutions module).
ShippingConfigurable per chart. If shipping income posts to a revenue account (typically 4900 Shipping Revenue), it counts. If shipping is offset to a contra-cost account or freight-in expense, it does not. Most Intacct distribution and B2B setups route shipping to revenue and so include it in this card.
DiscountsAlready deducted at line level. Intacct’s Order Entry module applies trade and term discounts before the revenue line posts, so the figure is net of discount. Cash discounts taken on AR application post to a separate Discounts Taken account and are not subtracted from this card.
Refunds and Credit MemosDeducted. Credit Memos and AR Adjustments post a debit against revenue, so a returned 1,000invoicenetsthelinedownto1,000 invoice nets the line down to 0 in the same period (or in the period the Credit Memo posts, whichever is later). This is the structural difference vs commerce platform Total Revenue, which is gross.
Cancelled / voided ordersExcluded by definition. A voided Invoice in Intacct sets STATE = 'Voided' and reverses its journal lines, so the GL net is zero. Orders that never converted to Invoices never hit the GL and are not in this card.
CurrencyMulti-Entity Console accounts: consolidated in reporting currency (top entity base, typically USD). Intacct’s GL applies FX translation at the configured cadence per entity (transaction-date rate, period-end rate, or period-average, set per entity in the Currency Configuration). Single-entity accounts: native entity currency, no translation needed.
Entity scopeCard respects the selected ENTITY filter on the dashboard. By default rolls up every entity the connected API user can see. Multi-Entity Console eliminations on intercompany revenue are applied if the user picks the Top Level entity with eliminations enabled.
Dimensional cutCard surfaces the headline number, but every Intacct dimension is available as a click-through cut: Department, Location, Project, Item, Class, Customer, Vendor, Employee. Sibling cards expose the per-dimension breakdowns.
Revenue recognition (ASC 606)If your account uses Intacct Contracts and Revenue Management (the SaaS-revenue module), deferred revenue is excluded from this number; only recognised revenue counts. Without Contracts, revenue is booked at invoice posting.
Time window30D vsP (default 30D vs the prior 30D)
Alert triggerdrop >15% vsP, driven by sentiment_key: revenue_trend
Rolesowner, finance, operations

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-headquartered SaaS subscription business running Sage Intacct Multi-Entity Console with three entities: Vortex SaaS Inc (top, USD), Vortex SaaS UK Ltd (GBP), and Vortex SaaS APAC Pte (SGD). The 30-day window covers 14 Mar 26 to 12 Apr 26. Reporting currency is USD. Department, Project and Customer dimensions are populated on every revenue line.
EntityLocal revenueFX rate (period avg)USD equivalent
Vortex SaaS Inc$4,820,0001.0000$4,820,000
Vortex SaaS UK Ltd£1,640,0001.2840$2,105,760
Vortex SaaS APAC PteS$1,180,0000.7420$875,560
Less: intercompany elimination($142,000)n/a($142,000)
Revenue Booked into GL (this card)$7,659,320
Five things to notice:
  1. **Intercompany elimination removed 142,000.VortexSaaSIncchargedalicenseresellerfeetoVortexSaaSUKLtdandbookeditasintercorevenue.ThisisrealrevenueinsidetheUSentitysledgerbutitnetstozeroattheconsolidatedTopLevelentity(UKrecordsitasintercocost).ThecardrespectstheeliminationconventionaslongastheuserisviewingtheTopLevelentitywitheliminationsenabled.IftheypivottoVortexSaaSIncalone,the142,000.** Vortex SaaS Inc charged a license re-seller fee to Vortex SaaS UK Ltd and booked it as inter-co revenue. This is real revenue inside the US entity's ledger but it nets to zero at the consolidated Top Level entity (UK records it as inter-co cost). The card respects the elimination convention as long as the user is viewing the Top Level entity with eliminations enabled. If they pivot to Vortex SaaS Inc alone, the 142,000 reappears.
  2. The USD equivalent uses the period-average FX rate because the merchant configured the Currency module that way for income statements. Intacct also offers transaction-date and period-end translation; if the merchant flips between views, the card moves slightly even though the underlying postings did not.
  3. **Commerce platform Total Revenue for the same window was 8,310,000acrossaShopifyPlusretailmerchandisechannelandaselfhostedsubscriptionportal.The8,310,000** across a Shopify Plus retail-merchandise channel and a self-hosted subscription portal. The 651K gap is the killer finding. A breakdown lives on the Revenue Gap vs Commerce card and the cross-connector card, but at a high level it splits as: 380Korderspendinginvoicing,380K orders pending invoicing, 148K Credit Memos, 72Kunmappedportalsubscribers,72K unmapped portal subscribers, 51K period-boundary timing.
  4. Last period was $7,910,000. This period is down 3.2% vsP, well below the drop >15% vsP alert threshold. The Nerve Centre stays quiet.
  5. Revenue recognition (ASC 606) impact is large for a SaaS business. Vortex SaaS Inc sells annual contracts on 1,840,000ofbookingsthisperiod.UnderIntacctContractsandRevenueManagementthesearedeferredover12months,soonly 1,840,000 of bookings this period. Under Intacct Contracts and Revenue Management these are deferred over 12 months, so only ~153,000 hits this card; the remaining $1,687,000 sits in Deferred Revenue. Pre-Contracts the figure would be far higher and front-loaded, an audit risk for any SaaS-adjacent revenue stream.
A second slice the merchant typically cuts: by the Project dimension. Of the 7.66M,7.66M, 3.1M is tagged to Project codes (a project-based services overlay on top of the SaaS base). Pivoting the same card by Project shows that one strategic implementation project (PRJ-VEGA-2026) booked 480Kofrevenuethisperiod,wellabovelastperiods480K of revenue this period, well above last period's 310K. That is exactly the conversation Intacct merchants want their finance system to surface; the dimensional cut is what makes it possible.

Sibling cards merchants should reference together

Revenue Booked into GL is the canonical revenue figure but it lags real economic activity. Pair it with these to triangulate.
CardWhy pair it with Revenue Booked into GL
Revenue Gap vs CommerceThe killer finding for any commerce business running Sage Intacct. Commerce Total Revenue minus this card, broken down by reason. Tells you whether the gap is timing, mapping, or accounting policy.
Invoiced RevenueThe Invoice-only slice of this card. Excludes Cash Receipts with revenue offset and revenue journals. Useful when AR Aging-driven analysis matters more than P&L roll-up.
Cash CollectedTells you what you actually banked, vs what you booked. The spread between this card and Cash Collected is your DSO problem.
Revenue by EntityThe same number sliced by Multi-Entity Console entity. Essential when one entity is masking trends in another.
Revenue by ClassThe Class dimension typically splits revenue by business unit, brand, or channel. The most actionable cut on consolidated revenue.
Revenue by CurrencyMulti-Entity stores: shows currency mix and FX exposure on the booked total.
Open Order ValueForward-looking complement. Today’s GL revenue is yesterday’s open Orders that converted; today’s open Orders are tomorrow’s GL revenue.
Revenue by SegmentTrend over time: this card is the spot total, that card is the curve.
shopify.total_revenue / bigcommerce.total_revenue / adobe_commerce.total_revenueThe commerce-platform headline for the same window. The gap between commerce gross and Intacct GL is the working-capital telemetry every Controller wants.

Reconciling against the vendor’s own dashboard

Where to look in Sage Intacct: The closest native equivalents in the Sage Intacct UI are:
Reports → Financial → Income Statement (period view, dimensional) Reports → General Ledger → GL Detail (transaction view, posted only) Reports → Order Entry → Sales Order Register (forward-looking, NOT this card) Interactive Custom Reports (ICR) built against the GL Detail data source filtered to revenue accounts
The Income Statement summary line “Total Revenue” should match this card to within a couple of dollars when you select the same period and the same entity. For an audit-grade match, run an Interactive Custom Report against the General Ledger source filtered to accounts 4000-4999, posted state, and sum the credit column. Most Intacct Implementation Partners can build this ICR in 15 minutes; once built, it becomes the “tie out” report the Controller runs every month-end. Common mistakes when comparing against Sage Intacct’s own reports:
  • Sales Order Register sums Orders, not booked revenue. Orders in In Progress or Pending Approval states contribute to that report but are not yet GL revenue. Expect Sales Order Register > this card.
  • Trial Balance with Dimensions is account-level and includes non-revenue accounts if the filter isn’t tight; this card is revenue-account only.
  • AR Aging is AR-based, not revenue-based. It excludes Cash Receipts with revenue offset (paid at point of sale) and shows outstanding balances, not booked revenue.
Why our number may legitimately differ from Sage Intacct’s reports:
ReasonDirectionWhy
Entity base currency vs reporting currencyEitherIf you compare the card (reporting currency) against an Income Statement run at a single entity (entity base currency), the FX translation differs. Always run Intacct reports at the same scope as the dashboard filter.
Period-end vs period-average FXSmallSage Intacct supports three translation cadences per entity. Mismatch in cadence between the card and a one-off ICR is the most common reconciliation gotcha.
Credit Memo timingEitherA return invoice issued in Period 1 with a Credit Memo posting in Period 2 splits across two periods. Intacct’s Income Statement applies the same convention; a saved ICR filtered to a single record type misses one side of the pair.
Multi-Entity Console eliminationsCard lowerWhen the user filters to “Top Level with eliminations”, inter-co lines drop out. Per-entity Income Statements do not eliminate.
Revenue recognition (Contracts module)Card lowerDeferred revenue is excluded from this card. The unrecognised balance lives on the Balance Sheet under Deferred Revenue, not Income Statement.
Non-revenue accounts wrongly mappedEitherIf the chart maps revenue items to non-revenue accounts (e.g. shipping booked to Cost of Goods rather than Other Income), they are missed. Confirm the mapping in the field map.
Cross-connector reconciliation, the killer finding:
CardExpected relationshipWhat causes legitimate divergence
shopify.total_revenueCommerce gross > Intacct GL bookedPending Billing orders (commerce booked, not yet invoiced), cancellations and Credit Memos (subtract from GL but not commerce headline), unmapped marketplace orders, period-boundary timing.
bigcommerce.total_revenueCommerce gross > Intacct GL bookedAs Shopify above. B2B BigCommerce orders are particularly prone to long Pending Billing lag.
adobe_commerce.total_revenueCommerce gross > Intacct GL bookedAs above. Adobe Commerce B2B installations often have multi-step approval before Orders invoice.
stripe.stripe_total_revenueStripe ≤ Intacct GLStripe sees only card and wallet payments. Cash Receipts via ACH, wire, or terms (Net-30 invoices) are missing from Stripe but in Intacct.
paypal.pp_total_volumePayPal ≤ Intacct GLPayPal-only subset.
The detailed gap-breakdown lives on the revenue-gap cross-connector card. The single most-asked finding from any mid-market commerce or SaaS-subscription Controller using Vortex IQ is “where did the $651K go?”, and that card answers it line by line, dimension by dimension.

Known limitations / merchant FAQs

Why is the GL booked figure lower than my Shopify or BigCommerce headline? Three structural reasons, in order of typical contribution:
  1. Pending Invoicing. Commerce orders flow into Sage Intacct as Orders (the Order Entry module’s Sales Order document) and progress through state transitions before converting to Invoices that hit the GL. The lag is usually 1-7 days for DTC and 10-30 days for B2B Net-30 terms. Anything in those pre-Invoice states is commerce revenue but not yet GL revenue.
  2. Credit Memos. A return on a $1,000 order subtracts from this card but the commerce platform usually shows it on the original gross headline. Over a year a 10% return rate becomes a 10% structural gap.
  3. Cancellations. A cancelled order may still show in the commerce platform’s lifetime totals (especially BigCommerce) but is voided in Intacct, so the GL net is zero.
The full reconciliation lives on the Revenue Gap vs Commerce card. Why is Sage Intacct “the source of truth” for revenue if my commerce platform shows higher numbers? Intacct is where the audit happens, where tax authorities pull, and where the bank lender or auditor looks. The commerce platform is where the customer paid, but customer-paid is not the same as recognised revenue under accounting standards (ASC 606 in the US). For boardroom and bank conversations, this card is what counts. For acquisition and conversion analysis, commerce headlines are what counts. Both are right; they answer different questions. Does this card include Cash Receipts with revenue offset (POS or DTC paid at checkout)? Yes. Sage Intacct’s Cash Receipt with a revenue-account offset books revenue and cash in a single step (no Invoice intermediate). The card includes those lines so retail POS and prepaid web orders that bypass the Invoice workflow are counted. How does Sage Intacct compare to NetSuite for this metric? The arithmetic is identical: revenue accounts, posted, summed. Where Intacct shines is the dimensional cut. NetSuite has Class, Department and Location segmentation, but Intacct’s eight first-class dimensions (Department, Location, Project, Item, Class, Customer, Vendor, Employee) are tagged on every transaction line by default and queryable without custom record customisation. The same $7.66M booked figure can be re-cut by Project + Department in a single API call against Intacct, where in NetSuite it would typically require a saved search or SuiteAnalytics workbook. For services-heavy or project-based commerce (digital agencies, consultancies, B2B implementations), this matters daily. Does this card cover Sage 50 / Sage 100 / Sage 200 / Sage X3? No. Sage has multiple finance products. This connector targets Sage Intacct specifically (US mid-market cloud financials with dimensional accounting). Sage 50, 100 and 200 are SMB desktop / hybrid products; Sage X3 is a different mid-market ERP. If you are running one of those, the metric is conceptually similar but the API, dimensions and reconciliation paths differ. Reach out to discuss connector availability. REST vs XML API, does it affect this card? No effect on the number. Sage Intacct exposes the same data through its long-standing XML API and the newer REST API. Vortex IQ uses the XML API for GL Detail extraction (it is faster for bulk reads) and REST for incremental webhook-style refreshes where supported. The number reflects the GL state as of the last sync window. For real-time intraday checks, the native Intacct UI is always live. My account uses Intacct Contracts and Revenue Management. What does the card show? Recognised revenue only. Deferred revenue (multi-period subscription contracts, extended warranties, professional-services retainers) sits on the Balance Sheet under Deferred Revenue until the Contracts module releases it; the released portion hits this card period by period. Pre-Contracts accounts: the full invoice posts to revenue at billing, no deferral logic. SaaS merchants without Contracts often have material recognition timing problems; this card reads what Intacct booked, not what the contract economically represents. Multi-Entity Console: how do eliminations appear? The Top Level entity in Multi-Entity Console can be configured with elimination entries (typically a journal that reverses inter-co revenue and inter-co cost). When the user filters the card to Top Level with eliminations enabled, those entries are included and the card shows the consolidated figure. When the user filters to a single entity, eliminations disappear and inter-co revenue reappears. The card is consistent with the Income Statement run at the same scope. Can I cut this card by Department or Project? Yes, that is the whole point of running Intacct. Every revenue line is dimension-tagged. The card surfaces the headline; click any dimension chip in the Nerve Centre to drill in. Sibling cards Revenue by Class, Revenue by Entity and the Project / Department cuts are all the same underlying number filtered. B2B credit-hold mechanics, does this card show held revenue? An Order on credit hold is not yet an Invoice, so it is not in this card. Once Finance releases the hold and the Order bills, it lands here. The lag is the killer working-capital signal; pair this card with Open Orders Blocked to see what is stuck. What role does the Implementation Partner play in this metric? Most Sage Intacct merchants are paired with an Implementation Partner (an Intacct-certified accounting firm or VAR). The Partner typically owns the Chart of Accounts mapping, dimension structure and ICR library. If this card returns a different number from the Partner’s monthly board pack, ninety percent of the time the discrepancy is in chart mapping (a revenue-class account inadvertently mapped as a contra-revenue, or a shipping account routed to expense). Vortex IQ’s field map for the merchant is the single place to align both views.

Tracked live in Vortex IQ Nerve Centre

Revenue Booked into GL is one of hundreds of KPI pulses Vortex IQ tracks across Sage 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.