Sample output from the Flux Analysis Performer prompt in the NetSuite AI Prompt Library, run against a NetSuite test account. Every name and number here is test data. Back to the post · The library

Month-end close · NetSuite TD3016323

Flux Analysis: August 2026

Month-over-month variance analysis of the consolidated P&L with materiality classification, driver explanations, and the questions the numbers raise for management.

Prepared 2026-09-23 · August 2026 vs July 2026, August 2025 reference · Consolidated, subsidiaries 1-3 · Source: NetSuite general ledger via SuiteQL · Prompt: Flux Analysis Performer, NetSuite AI Prompt Library v1

Flux Summary Box

Comparing: August 2026 to July 2026, consolidated across the three operating subsidiaries, elimination entity excluded, with August 2025 as the prior-year reference. Revenue fell -3.6% to $1,106,339. Cost of goods sold was flat, so gross margin dropped -2.0 points to 38.5%. Operating expenses were flat to the dollar. Operating income fell -17.8%. Against August 2025, revenue is up +24.4% and operating income has more than doubled.

By the prompt's materiality thresholds, only four account-level variances are material, and three of them are in accounts under $7,000. The month reads as quiet on the ledger. It is not quiet underneath, and the two findings below are the reason a flux analysis is worth running even when nothing looks material.

Revenue vs July
-3.6%
-$41,774
Gross margin
38.5%
-2.0 pts vs July
Operating income vs July
-17.8%
$183,968
Material variances
4
4 notable, 52 immaterial
LineAug 2026Jul 2026ChangeAug 2025YoY
Revenue$1,106,339$1,148,114-3.6%$889,061+24.4%
Cost of goods sold$680,544$682,751-0.3%$575,930+18.2%
Gross profit$425,796$465,363-8.5%$313,130+36.0%
Gross margin38.5%40.5%-2.0 pts35.2%
Operating expenses$241,828$241,609+0.1%$232,122+4.2%
Operating income$183,968$223,753-17.8%$81,008+127.1%
Finding 1: the revenue you can trace fell 22%, and the ledger hides it. 83% of August revenue ($923,083) was posted by two journal entries labeled "Beg Balance Entries", one per subsidiary. Those entries rose +1.0% from July. Revenue from invoices and cash sales fell from $233,739 to $183,256, a -21.6% decline, which is material on any threshold. The headline -3.6% is the net of a real decline and a journal increase. Which of the two the business should manage to is the first question for management.
Finding 2: 41 expense accounts moved by exactly -3.9%. Of 47 operating expense accounts with activity, 41 changed by the same percentage to one decimal place. That is not 41 decisions. It is one driver, most likely an allocation or a recurring entry scaled by a factor, and it should be identified before anyone reads the individual lines as cost control. The exceptions are salaries (+8.7%), payroll expenses (+5.1%), marketing events (-65.8%), training (-16.2%), and legal fees (a new $2,000).

Top Variances Table

Sorted by absolute dollar change. Classification per the prompt: revenue is material over 10% or $100,000, notable at 5 to 10%; expenses are material over 15% or $50,000, notable at 5 to 15%.

ClassAccountNameTypeJul 2026Aug 2026ChangeChange %
Immaterial4210Revenue - ProductsIncome$1,071,274$1,025,992-$45,282-4.2%
Immaterial5310PurchasesCOGS$559,255$569,743-$10,489-1.9%
Immaterial5370Stock AdjustmentCOGS$0$9,140$9,140
Notable6210Salaries & WagesExpense$91,737$83,760$7,977+8.7%
Notable5340Cost of SalesCOGS$60,835$55,830$5,005+8.2%
Material4450Freight RevenueIncome$3,689$6,350$2,661+72.1%
Immaterial6370Legal FeesExpense$0$2,000-$2,000
Material6757Marketing EventsExpense$2,421$4,015-$1,594-65.8%
Immaterial53603rd Party ContractingCOGS$62,406$63,600-$1,194-1.9%
Immaterial4310Revenue - ServicesIncome$73,150$73,847$697+1.0%
Material6260Training ExpenseExpense$4,062$4,719-$657-16.2%
Notable6311LiabilityExpense$5,980$6,500-$520-8.7%

Detailed Variance Explanations

Revenue, products: -$45,282 (-4.2%), immaterial by threshold, material in substance

The product revenue account carries both the journal series and the billed product sales. Splitting it by source: journals +$8,708, billing documents -$50,483. The billed decline is concentrated in invoices ($226,468 to $175,318); cash sales rose slightly. Risk: high. Unexpected and, on the billed basis, over 20%. Flagged for human review.

Gross margin: -2.0 points

Cost of goods sold was flat ($682,751 to $680,544) while revenue fell, so margin compressed arithmetically. Within COGS, purchases rose $10,489 and a new stock adjustment of $9,140 appeared, offset by lower cost of sales. The stock adjustment is a new account for the year and should be explained: an inventory count correction in a month of falling sales is worth a question.

Salaries and wages: +$7,977 (+8.7%), notable

The largest expense movement and one of the few that did not follow the uniform pattern. Payroll expenses moved with it (+5.1%). Either a hire, a raise, or an extra pay period; the account has no payroll detail to say which. Risk: medium. Question for management.

Small material items

Freight revenue +72% ($2,661), marketing events -66% ($1,594), training -16% ($657), purchase price variance doubled ($255). Each clears a percentage threshold on a small base. Document only.

Categorized Findings

FindingCategoryRecurring or one-timeControllableRisk
Billed revenue down 22% while journal-posted revenue roseRevenueUnknown until the journal series is explainedDependsHigh
Uniform -3.9% across 41 expense accountsExpenseRecurring by patternAccounting mechanicsMedium
Gross margin -2.0 pts on flat COGSProfitabilityFollows revenuePartlyMedium
Salaries +8.7%ExpenseLikely recurringManagementMedium
New stock adjustment $9,140COGSOne-timeOperationsLow

Revenue and Expense Flux Detail

234K183KInvoices and cash sales914K923KJournal entriesJul 2026Aug 2026

Fourteen months of the consolidated P&L. Revenue climbed from about $814,000 in July 2025 to a peak of $1.15M in July 2026 and stepped down in August; cost of goods sold has risen faster than revenue since May, which is the margin story in a longer frame.

03006009001200Jul25Aug25Sep25Oct25Nov25Dec25Jan26Feb26Mar26Apr26May26Jun26Jul26Aug26Revenue, $KCOGS, $KOpex, $K

Questions for Management

  1. What are the "Beg Balance Entries" journals that post $923,083 of revenue a month, why do they grow month over month, and should management reporting exclude them?
  2. Invoiced revenue fell from $226,468 to $175,318. Which customers or products account for the drop, and is it timing?
  3. What single driver moved 41 expense accounts by -3.9%?
  4. What is the $9,140 stock adjustment?
  5. Salaries rose 8.7% in one month. Headcount, rate, or calendar?

Action Items

#ActionOwnerTiming
1Characterize the journal revenue series and decide the management-reporting basisControllerBefore September close
2Rebuild the August revenue flux on billing documents by customer and itemFP&AThis week
3Identify the -3.9% driver and document it as a standing noteAccountingThis week
4Explain the stock adjustment and the salary stepOperations, HRClose cycle

Appendix: Data Lineage

IDTypeNameHandleScopeUsed forComplete
DL-001SuiteQLP&L by account, three periodstransactionaccountingline join account, accountingperiodAug 2026, Jul 2026, Aug 2025 posting periods, subsidiaries 1-3VariancesYes
DL-002SuiteQLIncome by source typesame, grouped by transaction typeSame periodsFinding 1Yes
DL-003SuiteQLJournals posting to incomesame, Journal type, with memoJul and Aug 2026Finding 1Yes
DL-004SuiteQLMonthly P&L trendsame, by periodJul 2025 to Aug 2026TrendYes

Adaptations from the prompt's template: amounts come from transactionaccountingline with the sign flipped so income is positive, rather than transactionline.amount; periods are selected by posting period, not transaction date; account.displayname is fullname here; the elimination subsidiary is excluded through the line-level subsidiary because transaction.subsidiary is not exposed to SuiteQL.

Queries
SELECT a.acctnumber, a.fullname, a.accttype,
  SUM(CASE WHEN ap.periodname = 'Aug 2026' THEN -tal.amount ELSE 0 END) AS cur,
  SUM(CASE WHEN ap.periodname = 'Jul 2026' THEN -tal.amount ELSE 0 END) AS prior,
  SUM(CASE WHEN ap.periodname = 'Aug 2025' THEN -tal.amount ELSE 0 END) AS py
FROM transactionaccountingline tal JOIN transaction t ON t.id = tal.transaction
JOIN transactionline tl ON tl.transaction = tal.transaction AND tl.id = tal.transactionline
JOIN account a ON a.id = tal.account JOIN accountingperiod ap ON ap.id = t.postingperiod
WHERE tal.posting = 'T' AND a.accttype IN ('Income','COGS','Expense','OthIncome','OthExpense') AND tl.subsidiary <> 4
  AND ap.periodname IN ('Aug 2026','Jul 2026','Aug 2025')
GROUP BY a.acctnumber, a.fullname, a.accttype

-- same, grouped by ap.periodname, t.type, restricted to accttype = 'Income'
-- same, restricted to t.type = 'Journal', grouped by journal id and memo

Appendix: Assumptions

AssumptionCategoryRationaleImpact if wrong
Both months fully postedDataNo periods are locked in this account; August activity through the posting cutoffAll variances
Ledger as posted is the basis; billed revenue shown alongsideMethodConvention, with the alternative disclosedHeadline revenue change
Materiality per prompt thresholdsMethodPrompt H1 and the period comparison thresholdsWhich variances are called material
The -3.9% pattern is one driverInference41 accounts to one decimal placeReading of individual expense lines

Confidence: 95% in the figures as posted; 90% that the uniform expense movement is a single mechanical driver; the nature of the journal revenue series is reported, not explained, and is the first human-review item.

Analysis is read-only and derived from live SuiteQL. Customer- and vendor-specific actions require human review before any account change.SuiteStep, LLC