Sample output from the Composite Forensic Scores prompt in the Sonar AI Prompt Library, run against a NetSuite test account. Every name and number here is test data. Back to the post · The library
TD3016323 · Consolidated Forensic Financial Analysis · Confidential

Composite Forensic Scores
Beneish M-Score & Altman Z-Score

Earnings-manipulation screening and bankruptcy-risk assessment computed directly from the general ledger, trailing twelve months ended August 31, 2026, with prior-TTM comparatives.

Prepared 2026-08-24 · Source: NetSuite GL (transactionaccountingline) · All figures USD · Consolidated, Subsidiaries 1–3

Beneish M-Score · Earnings Manipulation
−0.44
STATISTICAL FLAG
Threshold: scores above −1.78 flag as potential manipulators. Implied probability from Φ(M): ~33% vs. ~3.8% at the cutoff. Driven by receivables (DSRI 1.78) and total accruals (TATA 0.25) — see interpretation in §4.
Altman Z′-Score · Bankruptcy Risk (2-Year)
4.91
SAFE ZONE
Private-firm model: Safe > 2.90, Grey 1.23–2.90, Distress < 1.23. The non-manufacturer Z″ variant scores 11.87 (Safe > 2.60). No meaningful solvency risk on book fundamentals.
$12.24M
TTM Revenue
+16.9% YoY
$1.64M
TTM Net Income
13.4% margin (was 9.4%)
64.5 days
DSO
was 36.3 — up 78%
104.9 days
DIO
was 52.0 — up 102%
4.71×
Current Ratio
was 4.58×

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.

1Revenue Trajectory — 24 Months


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.

$800K$900K $1.0M$1.1M$1.2M Sep 24Nov 24Jan 25 Mar 25May 25Jul 25 Sep 25Nov 25Jan 26 Mar 26May 26Jul 26 Jun 26 · $1.148M TTM boundary
Prior TTM (Sep 2024 – Aug 2025) Measurement TTM (Sep 2025 – Aug 2026) Peak month
Fig. 1 — Monthly posted revenue from GL. Query Q3, Appendix B.

2Beneish M-Score — Earnings Manipulation Screen


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:

M = −4.84 + 0.920·DSRI + 0.528·GMI + 0.404·AQI + 0.892·SGI + 0.115·DEPI − 0.172·SGAI + 4.679·TATA − 0.327·LVGI
IndexMeasuresValue Non-manip. meanManip. meanReading
DSRIDays-sales-in-receivables vs. prior year1.77921.0311.465Exceeds manip. mean
GMIGross-margin deterioration (prior ÷ current)0.93241.0141.193Margin improved
AQIGrowth in non-current "soft" assets1.0000*1.0391.254Neutral by construction
SGISales growth (pressure proxy)1.16891.1341.607Modest growth
DEPISlowing depreciation rate1.0000*1.0011.077Neutral by construction
SGAISG&A growth vs. sales0.95361.0541.041Efficiency gained
LVGILeverage increase0.97191.0371.111Leverage fell
TATATotal accruals ÷ total assets0.25470.0180.0318× the manip. mean
M-ScoreComposite (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.

DSRIGMIAQI SGIDEPISGAI LVGITATA 1.779 0.932 1.000* 1.169 1.000* 0.954 0.972 0.255 TATA row drawn on its own scale (0–0.30); all others 0–2.0.
Company — flagged index Company — benign index Company — neutral by construction Non-manipulator mean Manipulator mean
Fig. 2 — Each index vs. Beneish's control and manipulator populations. Only DSRI and TATA exceed the manipulator means — and TATA does so by 8×.

What is actually moving the score

Intercept DSRI × 0.920 TATA × 4.679 SGI × 0.892 GMI × 0.528 AQI × 0.404 DEPI × 0.115 SGAI × −0.172 LVGI × −0.327 −4.840 +1.637 +1.192 +1.043 +0.492 +0.404 +0.115 −0.164 −0.318
Fig. 3 — Signed term contributions. Sum = −0.439. DSRI and TATA alone contribute +2.83; without their excess over normal levels the score would sit comfortably below the −1.78 threshold (≈ −2.6 at population-normal DSRI/TATA).

TATA decomposition — where the accruals came from

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 accruals1,789,476.33
÷ Total assets (2026-08-31)7,026,025.38
TATA0.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.

3Altman Z-Score — Bankruptcy Risk


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.

Z′ = 0.717·X₁ + 0.847·X₂ + 3.107·X₃ + 0.420·X₄ + 0.998·X₅      Z″ = 6.56·X₁ + 3.26·X₂ + 6.72·X₃ + 1.05·X₄
ComponentDefinitionRatioZ′ contrib.Z″ contrib.
X₁Working capital ÷ Total assets0.78620.5645.158
X₂Retained earnings ÷ Total assets0.37390.3171.219
X₃EBIT ÷ Total assets0.23680.7361.591
X₄Book equity ÷ Total liabilities3.71321.5603.899
X₅Revenue ÷ Total assets1.74271.739
Composite score4.9111.87
Z′ (private firm) 4.91 1.23 2.90 Z″ (non-manufacturer) 11.87 1.10 2.60 DistressGrey zoneSafe zone
Fig. 4 — Both Z variants sit far inside the Safe Zone. The score is buoyed by a 4.7× current ratio, zero funded debt, and 23.7% EBIT return on assets.

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₁.

4Analyst Interpretation — Reconciling the Two Verdicts


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:

ObservationAggravating or mitigating?
DSO 36 → 64 daysAggravating 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 fellMitigating. SGAI 0.95 and LVGI 0.97 both sit on the benign side of their population means.
No revenue spikes at period endsMitigating. Monthly revenue (Fig. 1) shows smooth growth — no quarter-end stuffing signature.
Books begin Sep 2024Structural 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.
Recommended follow-ups 1) AR aging and top-10 open invoices as of 2026-08-31 — confirm none are disputed or round-tripped.   2) Inventory valuation review: turns by item class, write-down candidates in the $2.13M on-hand balance.   3) Cut-off testing on September 2026 credit memos / returns against August 2026 invoices.   4) Re-run this analysis at FY-end with full-year comparatives; the TATA denominator effects will normalize as the ledger matures.

5Underlying Financial Statements (As Computed from GL)


Condensed balance sheet

2025-08-31 (t−1)2026-08-31 (t)Δ
Cash & equivalents (incl. undeposited funds)1,965,8612,603,008+637,147
Accounts receivable, net1,040,2172,163,312+1,123,095
Inventory943,4792,128,362+1,184,883
Prepaid expenses & other120,085+120,085
Total current assets3,949,5587,014,767+3,065,209
PP&E, net11,258+11,258
Total assets3,949,5587,026,025+3,076,468
Accounts payable — trade780,1571,229,000+448,844
Accrued liabilities33,584+33,584
Sales taxes payable82,074228,116+146,042
Total liabilities (all current; no funded debt)862,2311,490,701+628,470
Capital stock2,098,3832,908,304+809,921
Retained earnings (cumulative NI — see A6)988,9442,627,021+1,638,077
Total equity  ·  A = L + E ties to $0.00 both years3,087,3265,535,324+2,447,998

Condensed income statement (TTM)

Sep 24 – Aug 25 (t−1)Sep 25 – Aug 26 (t)YoY
Revenue10,475,10812,244,025+16.9%
Cost of goods sold(6,618,568)(7,409,437)+11.9%
Gross margin3,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,5881,664,638+64.4%
Interest expense(23,644)(25,663)
Other income / (expense), net(898)
Net income  ·  ties to cumulative GL to $0.00988,944 · 9.4%1,638,077 · 13.4%+65.6%

6Methodology, Assumptions & Limitations


Assumptions register

RefAssumptionImpact
A1Measurement 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).
A2Consolidated 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.
A3Balances 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.
A4AQI 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.
A5DEPI 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).
A6Retained 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.
A7No 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.
A8TATA 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.
A9Altman 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.
A10Sales 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.

Limitations

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.

BAppendix — Source Queries


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.

Q1 — Balance-sheet balances at both measurement dates

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

Q2 — P&L flows for both TTM windows

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

Q3 — Monthly revenue trend (Fig. 1)

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')

Verification queries (run, not shown in full)

• 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.

This document is an analytical screen generated from posted general-ledger data as of 2026-08-24 and does not constitute an audit, a fraud examination, or an opinion on the financial statements. The Beneish M-Score and Altman Z-Score are statistical models with known false-positive and false-negative rates; conclusions herein should be corroborated by the follow-up procedures listed in Section 4 before any action is taken. Model references: Beneish (1999), Financial Statement Analysis; Beneish, Lee & Nichols (2013); Altman (1968, 1983, 2000).