Month-end close · NetSuite TD3016323
Month-over-month variance analysis of the consolidated P&L with materiality classification, driver explanations, and the questions the numbers raise for management.
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.
| Line | Aug 2026 | Jul 2026 | Change | Aug 2025 | YoY |
|---|---|---|---|---|---|
| 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 margin | 38.5% | 40.5% | -2.0 pts | 35.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% |
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%.
| Class | Account | Name | Type | Jul 2026 | Aug 2026 | Change | Change % |
|---|---|---|---|---|---|---|---|
| Immaterial | 4210 | Revenue - Products | Income | $1,071,274 | $1,025,992 | -$45,282 | -4.2% |
| Immaterial | 5310 | Purchases | COGS | $559,255 | $569,743 | -$10,489 | -1.9% |
| Immaterial | 5370 | Stock Adjustment | COGS | $0 | $9,140 | $9,140 | |
| Notable | 6210 | Salaries & Wages | Expense | $91,737 | $83,760 | $7,977 | +8.7% |
| Notable | 5340 | Cost of Sales | COGS | $60,835 | $55,830 | $5,005 | +8.2% |
| Material | 4450 | Freight Revenue | Income | $3,689 | $6,350 | $2,661 | +72.1% |
| Immaterial | 6370 | Legal Fees | Expense | $0 | $2,000 | -$2,000 | |
| Material | 6757 | Marketing Events | Expense | $2,421 | $4,015 | -$1,594 | -65.8% |
| Immaterial | 5360 | 3rd Party Contracting | COGS | $62,406 | $63,600 | -$1,194 | -1.9% |
| Immaterial | 4310 | Revenue - Services | Income | $73,150 | $73,847 | $697 | +1.0% |
| Material | 6260 | Training Expense | Expense | $4,062 | $4,719 | -$657 | -16.2% |
| Notable | 6311 | Liability | Expense | $5,980 | $6,500 | -$520 | -8.7% |
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.
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.
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.
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.
| Finding | Category | Recurring or one-time | Controllable | Risk |
|---|---|---|---|---|
| Billed revenue down 22% while journal-posted revenue rose | Revenue | Unknown until the journal series is explained | Depends | High |
| Uniform -3.9% across 41 expense accounts | Expense | Recurring by pattern | Accounting mechanics | Medium |
| Gross margin -2.0 pts on flat COGS | Profitability | Follows revenue | Partly | Medium |
| Salaries +8.7% | Expense | Likely recurring | Management | Medium |
| New stock adjustment $9,140 | COGS | One-time | Operations | Low |
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.
| # | Action | Owner | Timing |
|---|---|---|---|
| 1 | Characterize the journal revenue series and decide the management-reporting basis | Controller | Before September close |
| 2 | Rebuild the August revenue flux on billing documents by customer and item | FP&A | This week |
| 3 | Identify the -3.9% driver and document it as a standing note | Accounting | This week |
| 4 | Explain the stock adjustment and the salary step | Operations, HR | Close cycle |
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | P&L by account, three periods | transactionaccountingline join account, accountingperiod | Aug 2026, Jul 2026, Aug 2025 posting periods, subsidiaries 1-3 | Variances | Yes |
| DL-002 | SuiteQL | Income by source type | same, grouped by transaction type | Same periods | Finding 1 | Yes |
| DL-003 | SuiteQL | Journals posting to income | same, Journal type, with memo | Jul and Aug 2026 | Finding 1 | Yes |
| DL-004 | SuiteQL | Monthly P&L trend | same, by period | Jul 2025 to Aug 2026 | Trend | Yes |
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.
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| Assumption | Category | Rationale | Impact if wrong |
|---|---|---|---|
| Both months fully posted | Data | No periods are locked in this account; August activity through the posting cutoff | All variances |
| Ledger as posted is the basis; billed revenue shown alongside | Method | Convention, with the alternative disclosed | Headline revenue change |
| Materiality per prompt thresholds | Method | Prompt H1 and the period comparison thresholds | Which variances are called material |
| The -3.9% pattern is one driver | Inference | 41 accounts to one decimal place | Reading 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.