Earnings-manipulation screening and bankruptcy-risk assessment computed directly from the general ledger, trailing twelve months ended August 31, 2026, with prior-TTM comparatives.
Key finding. The two models tell deliberately different stories, and both are correct. Solvency is not in question — the balance sheet is liquid, unlevered, and profitable (Z′ = 4.91). But the quality of the current year's earnings is statistically anomalous: receivables grew 6.4× faster than revenue (+108% vs. +16.9%) and inventory grew 7.4× faster (+126%), producing an accruals ratio (TATA 0.255) roughly 14× the mean of Beneish's non-manipulator population (0.018). In a real company this pattern warrants immediate revenue-recognition and inventory-valuation review. Section 4 assesses how much of it is explainable here.
Monthly posted revenue (account type Income, GL sign-corrected). The prior TTM window is charted in gray, the measurement TTM in navy; the strongest month of the current year is highlighted in red. Growth is steady rather than spiky — there is no quarter-end hockey stick, which is one qualitative point against deliberate revenue stuffing.
The Beneish model (Beneish, 1999; refreshed coefficients per Beneish, Lee & Nichols, 2013) combines eight financial-statement indices into a probit-style score. Scores above −1.78 indicate financial-statement characteristics statistically associated with earnings manipulators. The eight-variable form used here:
| Index | Measures | Value | Non-manip. mean | Manip. mean | Reading |
|---|---|---|---|---|---|
| DSRI | Days-sales-in-receivables vs. prior year | 1.7792 | 1.031 | 1.465 | Exceeds manip. mean |
| GMI | Gross-margin deterioration (prior ÷ current) | 0.9324 | 1.014 | 1.193 | Margin improved |
| AQI | Growth in non-current "soft" assets | 1.0000* | 1.039 | 1.254 | Neutral by construction |
| SGI | Sales growth (pressure proxy) | 1.1689 | 1.134 | 1.607 | Modest growth |
| DEPI | Slowing depreciation rate | 1.0000* | 1.001 | 1.077 | Neutral by construction |
| SGAI | SG&A growth vs. sales | 0.9536 | 1.054 | 1.041 | Efficiency gained |
| LVGI | Leverage increase | 0.9719 | 1.037 | 1.111 | Leverage fell |
| TATA | Total accruals ÷ total assets | 0.2547 | 0.018 | 0.031 | 8× the manip. mean |
| M-Score | Composite (threshold −1.78) | −0.4393 | −2.22 (typ.) | −1.78 (cutoff) | Flag |
* AQI and DEPI are set to the neutral value 1.0 because their inputs are degenerate in this ledger (no soft assets in either year; no depreciable PP&E base in the prior year). This is the standard treatment and is conservative in neither direction — see Assumptions A4/A5. Benchmark means: Beneish (1999), Table 2.
| Component (balance-sheet method, per Beneish 1999) | Amount |
|---|---|
| Δ Current assets (TTM) | +3,065,209.34 |
| less Δ Cash & equivalents (incl. undeposited funds) | (637,146.77) |
| less Δ Current liabilities | (628,469.79) |
| less Depreciation & amortization | (10,116.45) |
| Total accruals | 1,789,476.33 |
| ÷ Total assets (2026-08-31) | 7,026,025.38 |
| TATA | 0.2547 |
The accruals are almost entirely receivables (+$1.12M) and inventory (+$1.18M). Cash conversion is lagging paper earnings: of the $1.64M TTM net income, roughly $1.79M is tied up in non-cash working-capital growth.
Because this is a private company, the correct variant is Altman's Z′ (private-firm) model, which substitutes book equity for market capitalization. Given the mixed retail/distribution profile, the Z″ (non-manufacturer) variant is also shown — it drops the asset-turnover term that penalizes asset-light service businesses. Both are reported; both agree.
| Component | Definition | Ratio | Z′ contrib. | Z″ contrib. |
|---|---|---|---|---|
| X₁ | Working capital ÷ Total assets | 0.7862 | 0.564 | 5.158 |
| X₂ | Retained earnings ÷ Total assets | 0.3739 | 0.317 | 1.219 |
| X₃ | EBIT ÷ Total assets | 0.2368 | 0.736 | 1.591 |
| X₄ | Book equity ÷ Total liabilities | 3.7132 | 1.560 | 3.899 |
| X₅ | Revenue ÷ Total assets | 1.7427 | 1.739 | — |
| Composite score | 4.91 | 11.87 | ||
Why the score is so strong: the company carries no long-term debt and no bank credit; total liabilities of $1.49M are entirely trade payables, accrued expenses, and sales-tax collections against $7.03M of assets. Working capital of $5.52M is 79% of the balance sheet. Even the pessimistic ironies of the M-score cut the other way here — the AR/inventory buildup that inflates TATA also inflates X₁.
The M-score flag is real arithmetic, not an artifact of the model — receivables and inventory genuinely doubled while revenue grew 17%. The forensic question is why, and the ledger offers context that the composite score cannot see:
| Observation | Aggravating or mitigating? |
|---|---|
| DSO 36 → 64 days | Aggravating on its face — but the prior-year base (36 days) is unusually low for invoice-term trade. If standard terms are Net 30–45, the current 64 days is elevated-but-plausible; the ratio is what the model punishes. Verify: aging of the $2.16M trade AR, and whether any large invoices posted near 2026-08-31. |
| Inventory +126% (DIO 52 → 105) | Ambiguous. Deliberate stock build ahead of growth is a legitimate explanation (revenue is accelerating — Fig. 1); obsolete stock or over-purchasing is not. Verify: inventory turns by class, purchase-order cadence in H2 FY26. |
| Gross margin improved (36.8% → 39.5%) | Mitigating. Classic manipulation shows margin pressure (GMI > 1) motivating the manipulation; here margin strengthened. GMI 0.93 votes "no manipulation." |
| SG&A leverage improved; leverage fell | Mitigating. SGAI 0.95 and LVGI 0.97 both sit on the benign side of their population means. |
| No revenue spikes at period ends | Mitigating. Monthly revenue (Fig. 1) shows smooth growth — no quarter-end stuffing signature. |
| Books begin Sep 2024 | Structural caveat. The prior TTM is the company's first year of activity in this ledger. First-year bases are small and choppy, which mechanically inflates year-over-year indices — a known M-score weakness for young ledgers. |
| 2025-08-31 (t−1) | 2026-08-31 (t) | Δ | |
|---|---|---|---|
| Cash & equivalents (incl. undeposited funds) | 1,965,861 | 2,603,008 | +637,147 |
| Accounts receivable, net | 1,040,217 | 2,163,312 | +1,123,095 |
| Inventory | 943,479 | 2,128,362 | +1,184,883 |
| Prepaid expenses & other | — | 120,085 | +120,085 |
| Total current assets | 3,949,558 | 7,014,767 | +3,065,209 |
| PP&E, net | — | 11,258 | +11,258 |
| Total assets | 3,949,558 | 7,026,025 | +3,076,468 |
| Accounts payable — trade | 780,157 | 1,229,000 | +448,844 |
| Accrued liabilities | — | 33,584 | +33,584 |
| Sales taxes payable | 82,074 | 228,116 | +146,042 |
| Total liabilities (all current; no funded debt) | 862,231 | 1,490,701 | +628,470 |
| Capital stock | 2,098,383 | 2,908,304 | +809,921 |
| Retained earnings (cumulative NI — see A6) | 988,944 | 2,627,021 | +1,638,077 |
| Total equity · A = L + E ties to $0.00 both years | 3,087,326 | 5,535,324 | +2,447,998 |
| Sep 24 – Aug 25 (t−1) | Sep 25 – Aug 26 (t) | YoY | |
|---|---|---|---|
| Revenue | 10,475,108 | 12,244,025 | +16.9% |
| Cost of goods sold | (6,618,568) | (7,409,437) | +11.9% |
| Gross margin | 3,856,540 · 36.8% | 4,834,588 · 39.5% | +25.4% |
| Operating expenses (incl. D&A of 9,236 / 10,116) | (2,843,953) | (3,169,950) | +11.5% |
| Operating income (= EBIT, see A7) | 1,012,588 | 1,664,638 | +64.4% |
| Interest expense | (23,644) | (25,663) | |
| Other income / (expense), net | — | (898) | |
| Net income · ties to cumulative GL to $0.00 | 988,944 · 9.4% | 1,638,077 · 13.4% | +65.6% |
| Ref | Assumption | Impact |
|---|---|---|
| A1 | Measurement windows are TTM, not fiscal years. Ledger activity begins Sep 2024, so a full FY2025-vs-FY2024 comparison is impossible. Windows used: t = Sep 2025–Aug 2026, t−1 = Sep 2024–Aug 2025; balance dates 2026-08-31 / 2025-08-31. | Both windows are complete 12-month spans; indices are internally consistent. The t−1 window is the ledger's first year (see §4 caveat). |
| A2 | Consolidated across Subsidiaries 1–3. Elimination subsidiary 4 (xElim) has zero posted GL activity — verified by query, so no intercompany double-count adjustment was needed. Single currency (USD). | None — consolidation is clean by construction. |
| A3 | Balances derived from cumulative posted GL (t.posting = 'T'), natural sign convention, dated basis (trandate). Balance check: Assets = Liabilities + Equity ties to $0.00 at both dates; TTM net income ties to the change in cumulative retained earnings to $0.00. | Statements are arithmetically airtight against the ledger. |
| A4 | AQI set to neutral 1.0. Both years, current assets + net PP&E = total assets exactly (raw soft-asset ratio 0/0 in t−1). No capitalized intangibles or "other assets" exist to test. | Contributes the coefficient-weighted +0.404 either way; no distortion. |
| A5 | DEPI set to neutral 1.0. The company had no depreciable PP&E base in t−1 (first assets capitalized FY2026); the prior-year depreciation rate is 0/0. | Immaterial (+0.115 fixed contribution). |
| A6 | Retained earnings = cumulative net income. NetSuite computes RE virtually at consolidation; no closing entries or dividends exist in the ledger. Used for Altman X₂. | Exact given no distributions. |
| A7 | No income-tax provision exists in the chart of accounts, so EBT = EBIT − interest and NI = EBT. Beneish uses income before extraordinary items; here that equals net income. | X₃ (EBIT/TA) is unaffected; NI-based checks unaffected. |
| A8 | TATA computed by the balance-sheet method (ΔCA − ΔCash − ΔCL − D&A) per the original Beneish (1999) specification, since a classified cash-flow statement is not natively available from raw GL. ΔCL contains no current-maturities-of-LTD or tax-payable-on-income adjustments because neither exists here. | Faithful to the original model; the cash-flow method would yield a similar figure given the clean ledger. |
| A9 | Altman variants: Z′ (private manufacturer) and Z″ (non-manufacturer / emerging market). The original 1968 Z requires market capitalization, which does not exist for a private company. Coefficients per Altman (1983, 2000). | Both reported; verdicts identical. |
| A10 | Sales returns (acct 4320) and freight revenue (4450) included in net revenue; stock adjustment and PPV included in COGS; bad debt ($150) left in SG&A (immaterial). | <0.2% of revenue in aggregate. |
Composite scores are screens, not verdicts. The Beneish model was estimated on 1980s–90s US public-company COMPUSTAT data; applying it to a small private ledger — particularly one whose comparative year is its first year of operation — stretches the estimation population, and the 33% "implied probability" should be read as rank ordering, not a literal likelihood. The Altman model likewise predicts formal bankruptcy filings, a rare event for unlevered private companies regardless of health. Neither model detects fraud types that leave ratios undisturbed (e.g., proportional revenue/receivable/cash fabrication). Data reflects posted GL only; unposted or memorized transactions are excluded.
All extraction was performed via SuiteQL against the posted general ledger. Queries follow account conventions (posting flag on transaction, natural GL signs on transactionaccountingline.amount). Reproducible verbatim.
SELECT
a.accttype AS acct_type,
a.id AS account_id,
a.acctnumber AS acct_number,
a.fullname AS account_name,
ROUND(SUM(CASE WHEN t.trandate <= TO_DATE('2025-08-31','YYYY-MM-DD')
THEN tal.amount ELSE 0 END), 2) AS bal_t1,
ROUND(SUM(CASE WHEN t.trandate <= TO_DATE('2026-08-31','YYYY-MM-DD')
THEN tal.amount ELSE 0 END), 2) AS bal_t
FROM transactionaccountingline tal
JOIN transaction t ON tal.transaction = t.id
JOIN account a ON tal.account = a.id
WHERE t.posting = 'T'
AND a.accttype IN ('Bank','AcctRec','OthCurrAsset','FixedAsset','OthAsset','DeferExpense',
'AcctPay','CredCard','OthCurrLiab','LongTermLiab','DeferRevenue','Equity')
GROUP BY a.accttype, a.id, a.acctnumber, a.fullname
HAVING SUM(CASE WHEN t.trandate <= TO_DATE('2026-08-31','YYYY-MM-DD') THEN tal.amount ELSE 0 END) <> 0
OR SUM(CASE WHEN t.trandate <= TO_DATE('2025-08-31','YYYY-MM-DD') THEN tal.amount ELSE 0 END) <> 0
ORDER BY a.accttype, a.acctnumber
SELECT
a.accttype AS acct_type,
a.id AS account_id,
a.acctnumber AS acct_number,
a.fullname AS account_name,
ROUND(SUM(CASE WHEN t.trandate >= TO_DATE('2024-09-01','YYYY-MM-DD')
AND t.trandate <= TO_DATE('2025-08-31','YYYY-MM-DD')
THEN tal.amount ELSE 0 END), 2) AS flow_t1,
ROUND(SUM(CASE WHEN t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
AND t.trandate <= TO_DATE('2026-08-31','YYYY-MM-DD')
THEN tal.amount ELSE 0 END), 2) AS flow_t
FROM transactionaccountingline tal
JOIN transaction t ON tal.transaction = t.id
JOIN account a ON tal.account = a.id
WHERE t.posting = 'T'
AND a.accttype IN ('Income','OthIncome','COGS','Expense','OthExpense')
GROUP BY a.accttype, a.id, a.acctnumber, a.fullname
HAVING SUM(CASE WHEN t.trandate >= TO_DATE('2024-09-01','YYYY-MM-DD')
AND t.trandate <= TO_DATE('2025-08-31','YYYY-MM-DD') THEN tal.amount ELSE 0 END) <> 0
OR SUM(CASE WHEN t.trandate >= TO_DATE('2025-09-01','YYYY-MM-DD')
AND t.trandate <= TO_DATE('2026-08-31','YYYY-MM-DD') THEN tal.amount ELSE 0 END) <> 0
ORDER BY a.accttype, a.acctnumber
SELECT
TO_CHAR(t.trandate, 'YYYY-MM') AS yr_month,
ROUND(SUM(-tal.amount), 2) AS revenue
FROM transactionaccountingline tal
JOIN transaction t ON tal.transaction = t.id
JOIN account a ON tal.account = a.id
WHERE t.posting = 'T'
AND a.accttype = 'Income'
AND t.trandate >= TO_DATE('2024-09-01','YYYY-MM-DD')
AND t.trandate <= TO_DATE('2026-08-31','YYYY-MM-DD')
GROUP BY TO_CHAR(t.trandate, 'YYYY-MM')
ORDER BY TO_CHAR(t.trandate, 'YYYY-MM')
• Cumulative net income at both dates (ties retained earnings to $0.00). • Monthly GL flow 2024–2026 to establish the data-completeness window. • GL activity by subsidiary confirming subsidiary 4 (xElim) posts nothing. • Chart-of-accounts type census. All computation performed in an auditable sandboxed calculation with every intermediate value retained; sign conventions verified by the A = L + E and ΔRE = NI tie-outs.