Corporate finance · NetSuite TD3016323
Revenue, profitability, growth, and efficiency for the group's trading subsidiaries over the trailing twelve months, with the two qualifications that decide how the ranking should be read.
The group has two trading subsidiaries and a parent that holds no operations. Over the trailing twelve months, Subsidiary 1 produced $6,834,525 of revenue (56% of the group) at a 16.8% operating margin, and Subsidiary 2 produced $5,450,633 (44%) at 9.8%. Subsidiary 1 ranks first on revenue, margin, and growth, so the ranking exercise the prompt calls for is settled on every measure. The useful comparison is not the rank but the direction: both subsidiaries expanded operating margin over the prior twelve months, Subsidiary 1 by +6.3 points and Subsidiary 2 by +2.4, and both grew revenue faster than cost.
Two qualifications shape how the numbers should be read. First, 79% of Subsidiary 1's revenue and 90% of Subsidiary 2's was posted by journal entry rather than by invoices or cash sales; on billed revenue alone, Subsidiary 1 grew +92.8% and Subsidiary 2 grew +69.5%, both far faster than the ledger totals show. Second, the group is single-currency, so no translation effect exists in these comparisons, and headcount is recorded as 27 and 1, so revenue per employee is meaningful for one subsidiary and not the other.
Tier based on: the prompt's average of revenue rank, margin rank, and growth rank. With two trading entities the tiers are trivially assigned; the table is shown in the prompt's format for completeness. Tier assignments are flagged for human review, as the prompt requires, because a two-entity ranking says little about either entity's absolute health.
| Subsidiary | Revenue | Rank | Op margin | Rank | Growth | Rank | Tier |
|---|---|---|---|---|---|---|---|
| Subsidiary 1 | $6,834,525 | 1 | 16.8% | 1 | +20.7% | 1 | Top performer |
| Subsidiary 2 | $5,450,633 | 2 | 9.8% | 2 | +14.3% | 2 | Strong |
| Parent Company | $0 | 3 | n/a | n/a | n/a | n/a | Holding entity, no trading |
| Subsidiary | Revenue | COGS | Gross margin | Opex | Operating income | Op margin | Margin change |
|---|---|---|---|---|---|---|---|
| Subsidiary 1 | $6,834,525 | $3,974,664 | 41.8% | $1,712,386 | $1,147,476 | 16.8% | +6.3 pts |
| Subsidiary 2 | $5,450,633 | $3,434,559 | 37.0% | $1,483,823 | $532,251 | 9.8% | +2.4 pts |
Subsidiary 1 carries the higher gross margin (41.8% against 37.0%) and converts more of it to operating income. Its operating expenses grew +13.5% on revenue growth of +20.7%; Subsidiary 2's expenses grew +9.2% on revenue growth of +14.3%. Both show operating leverage, Subsidiary 1 more of it. Against the prompt's thresholds, Subsidiary 1 is top tier on margin (over 15%) and Subsidiary 2 is average (5 to 15%).
| Subsidiary | Prior TTM | Current TTM | Change | Growth | Status |
|---|---|---|---|---|---|
| Subsidiary 1 | $5,663,332 | $6,834,525 | $1,171,193 | +20.7% | High growth |
| Subsidiary 2 | $4,770,420 | $5,450,633 | $680,213 | +14.3% | Growing |
On the ledger, Subsidiary 1 is high growth (over 20%) and Subsidiary 2 is growing. On billed revenue the picture is stronger for both and the gap narrows: Subsidiary 1 nearly doubled its invoiced and cash-sale revenue and its active customer count rose from 67 to 100; Subsidiary 2 grew billed revenue +69.5% on 7 customers, up from 5. Subsidiary 2 is a concentrated business: 50 billing documents to seven customers in a year, against 897 to a hundred.
| Subsidiary | Employees | Revenue per employee | Operating income per employee | Active customers | Billed revenue | Billed share of revenue |
|---|---|---|---|---|---|---|
| Subsidiary 1 | 27 | $253,131 | $42,499 | 100 | $1,463,636 | 21% |
| Subsidiary 2 | 1 | $5,450,633 | $532,251 | 7 | $564,763 | 10% |
Subsidiary 1's revenue per employee of $253,131 is above the prompt's top-tier mark of $200,000. Subsidiary 2's figure is not meaningful with one employee on record; either the headcount is held elsewhere or the entity is run by the parent's staff, and the shared-services question that raises is noted below. On receivables, Subsidiary 1 holds $791,271 of open invoices with 87% past due, and Subsidiary 2 holds $136,189 with 80% past due. The collections problem identified elsewhere in this account is a Subsidiary 1 problem by dollars and a shared one by proportion.
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | P&L by subsidiary | transactionaccountingline join account, grouped by transactionline.subsidiary | Trailing 12 and prior 12 months | Revenue, margins, growth | Yes |
| DL-002 | SuiteQL | Billed revenue and customers by subsidiary | transaction (CustInvc, CashSale) mainline | Same | Billed basis, customer counts | Yes |
| DL-003 | SuiteQL | Employees by subsidiary | employee | Active | Efficiency | Yes |
| DL-004 | SuiteQL | Open receivables by subsidiary | transaction, foreignamountunpaid | On 2026-09-23 | Balance sheet health | Yes |
| DL-005 | SuiteQL | Subsidiary master | subsidiary | 4 records | Structure, currency, elimination flag | Yes |
Adaptations from the prompt's templates: the templates group by transaction.subsidiary, which is not exposed to SuiteQL; the line-level transactionline.subsidiary is used instead, and the elimination entity (xElim) is excluded. The account type column is accttype, not acctype. Amounts come from transactionaccountingline with income made positive. Window functions were replaced by calculation in code. The prompt's balance sheet block was limited to receivables, which is where the group's balance sheet risk is.
SELECT tl.subsidiary, BUILTIN.DF(tl.subsidiary), a.accttype,
SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) THEN -tal.amount ELSE 0 END) AS ttm,
SUM(CASE WHEN t.trandate <= ADD_MONTHS(TRUNC(SYSDATE), -12) AND t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -24) THEN -tal.amount ELSE 0 END) AS prior
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
WHERE tal.posting = 'T' AND a.accttype IN ('Income','COGS','Expense','OthIncome','OthExpense')
GROUP BY tl.subsidiary, BUILTIN.DF(tl.subsidiary), a.accttype
SELECT tl.subsidiary, COUNT(DISTINCT CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) THEN t.entity END), SUM(...)
FROM transaction t JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'T'
WHERE t.type IN ('CustInvc','CashSale') AND t.posting = 'T' AND t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -24) GROUP BY tl.subsidiary
SELECT subsidiary, COUNT(*) FROM employee WHERE isinactive = 'F' GROUP BY subsidiary| Assumption | Category | Rationale | Impact if wrong |
|---|---|---|---|
| Trailing twelve months vs the twelve before | Method | Full-year comparison, seasonality neutral | Growth rates |
| Ledger as posted is the primary basis; billed basis shown | Method | Convention with disclosure | Growth and share |
| Single currency, no translation | Data | All four subsidiaries are USD | None |
| Headcount as recorded on employee records | Data | Only source available | Efficiency metrics for Subsidiary 2 |
Confidence: 95% in the ledger figures; 90% in the billed-basis figures; low in any per-employee measure for Subsidiary 2. Tier assignments, the shared-services observation, and the collections resource conclusion are flagged for human review.