Sample output from the Sales Growth Opportunity Audit 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
SONAR AI · BUSINESS DIAGNOSTIC · v2

Sales Growth Opportunities — August 2026

A full-spectrum audit of sales trends, pipeline, customers, inventory, and pricing — built from live NetSuite data on Aug 15, 2026. Every finding cites the exact SuiteQL query that produced it; every named record links directly into NetSuite.

The headline

The business is growing fast — revenue is up 80–120% year-over-year in recent months — but August is stalling. Month-to-date (Aug 1–15) revenue is -1.3% vs. last August, even though August 2025 was a strong month. The good news: roughly $460K+ of near-term, addressable revenue opportunity is sitting inside the account right now.

$62,878
Aug 1–15 revenue (vs $63,702 LY → -1.3%)
$129.6K
Open sales-order backlog (ship = book now)
$281K
Prior-yr revenue of 4 now-dormant accounts
$716K
First-purchase value of 37 one-time buyers
$40.9K
Cash tied up in slow-moving stock
Monthly revenue — Sep 2024 to Aug 2026 (hover bars for detail; yellow = August months)
* Aug 2026 bucket ($132.6K) includes invoices forward-dated into late August — actual revenue recognized Aug 1–15 is $62.9K. The step-change in mid-2025 and the 2026 acceleration are real; the flat August pace is the anomaly.
Query used
SELECT TO_CHAR(t.trandate,'YYYY-MM') AS mth, ROUND(SUM(ABS(tl.netamount)),0) AS revenue,
       COUNT(DISTINCT t.id) AS orders
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
GROUP BY TO_CHAR(t.trandate,'YYYY-MM') ORDER BY TO_CHAR(t.trandate,'YYYY-MM')
-- MTD pacing (apples-to-apples, day 1-15)
SELECT TO_CHAR(t.trandate,'YYYY') AS yr, ROUND(SUM(ABS(tl.netamount)),2) AS mtd_rev, COUNT(DISTINCT t.id) AS orders
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
  AND TO_CHAR(t.trandate,'MM') = '08' AND TO_NUMBER(TO_CHAR(t.trandate,'DD')) <= 15
GROUP BY TO_CHAR(t.trandate,'YYYY') ORDER BY TO_CHAR(t.trandate,'YYYY')
Category momentum — last 13 months (revenue by product class; hover for values)
"Unclassified" is dominated by one item — SVC_Delivery Service ($688K TTM, no class, no location) — which spikes with the big wholesale invoices. Beauty is flat while its items top the co-purchase chart (see Opportunity 04). Miscellaneous only began selling in May 2026.
Query used
SELECT TO_CHAR(t.trandate,'YYYY-MM') AS mth, NVL(tl.class, 0) AS class_id, ROUND(SUM(ABS(tl.netamount)),0) AS revenue
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
  AND t.trandate >= TO_DATE('2025-08-01','YYYY-MM-DD')
GROUP BY TO_CHAR(t.trandate,'YYYY-MM'), NVL(tl.class, 0)
ORDER BY TO_CHAR(t.trandate,'YYYY-MM'), NVL(tl.class, 0)

01Ship the backlog — $129.6K is already sold ACT THIS WEEK

The fastest money in this report. These orders are already won — they just haven't been approved, fulfilled, or billed. Every dollar shipped and invoiced before Aug 31 lands in this month's number.

Sales-order statusOrdersValueOldestWhat's blocking it
Pending Fulfillment (B)40$73,709May 15, 2026Warehouse throughput — some orders 3 months old
Pending Approval (A)13$55,892Aug 1, 2026An internal signature. Approve today.
Pending Billing (F)3$2,937Aug 1, 2026Shipped, not invoiced — one click from revenue
Partially Fulfilled (E)1$596Aug 11, 2026Complete the shipment
The work list — all 13 pending-approval orders (click to open in NetSuite)
OrderCustomerTotalDateNote
SO4322Magna Tech Limited$15,002.98Aug 11Largest — also a one-time buyer's 2nd order 🎉
SO4321Global Information$8,949.41Aug 10Dormant whale returning! Approve fast (see 02)
SO4175Jones Manufacturing$5,420.84Aug 22*Shrinking #1 account — forward-dated
SO4318Design Excellence Ltd.$5,146.21Aug 14⚠ identical to SO4314 (Aug 1)
SO4314Design Excellence Ltd.$5,146.21Aug 1⚠ identical to SO4318 (Aug 14)
SO4319Design Excellence Ltd.$3,273.99Aug 14⚠ identical to SO4315 (Aug 1)
SO4315Design Excellence Ltd.$3,273.99Aug 1⚠ identical to SO4319 (Aug 14)
SO4320Design Excellence Ltd.$2,697.68Aug 14⚠ identical to SO4316 (Aug 1)
SO4316Design Excellence Ltd.$2,697.68Aug 1⚠ identical to SO4320 (Aug 14)
SO4317Blockster Inc.$2,124.23Aug 1
SO4313Godric Motors$1,627.03Aug 31*Forward-dated
SO4310Blockster Inc.$474.87Aug 7
SO4311Marshall Industries$56.60Aug 7
⚠ Duplicate-order alert (new finding): Design Excellence Ltd. has three pairs of identical-amount orders ($5,146.21 ×2, $3,273.99 ×2, $2,697.68 ×2), entered Aug 1 and re-entered Aug 14. Verify before approving — blind approval could double-ship ~$11.1K; alternatively, they're genuine repeat orders and worth confirming quickly. Either way, do not bulk-approve this batch.
Action: Approve the clean orders today (~$28K after setting the Design Excellence pairs aside), resolve the duplicates, invoice the 3 pending-billing orders ($2.9K), and run a fulfillment blitz on the 40-order backlog, oldest first. Realistic 2-week capture: $80–110K.
Queries used
SELECT t.status, COUNT(*) AS orders, ROUND(SUM(ABS(t.foreigntotal)),2) AS backlog_value, MIN(t.trandate) AS oldest
FROM transaction t
WHERE t.type = 'SalesOrd' AND t.status IN ('A','B','E','F')
GROUP BY t.status ORDER BY SUM(ABS(t.foreigntotal)) DESC
-- NS status letters: SalesOrd A=Pending Approval, B=Pending Fulfillment, E=Partially Fulfilled, F=Pending Billing
SELECT t.id, t.tranid, c.entityid AS customer, ROUND(ABS(t.foreigntotal),2) AS order_total, t.trandate
FROM transaction t JOIN customer c ON t.entity = c.id
WHERE t.type = 'SalesOrd' AND t.status = 'A'
ORDER BY ABS(t.foreigntotal) DESC

02Win back four dormant whales — $281K of lapsed annual revenue WIN-BACK

These customers spent heavily and then went silent. None has purchased in 6+ months. A personal call from a sales lead — not a mail blast — is warranted at these dollar values.

CustomerLifetime revenueLast purchaseSilent forHook
Global Information (263)$101,799Nov 4, 20259+ monthsHas SO4321 ($8.9K) pending approval NOW — they're back; don't make them wait
Mercury Co. (292)$73,976Apr 20, 202516 monthsCold — needs an offer
Gotter inc. (265)$64,112Nov 10, 20259 monthsWent silent same month as Global Info — shared cause?
Haskell Associates (268)$41,356Aug 31, 202511.5 monthsAnniversary of last order = natural re-contact reason
Top-10 customer trajectory — trailing 12 months vs prior 12
CustomerTTMPrior 12ΔRead
Design Excellence Ltd.$140,468$98,274+43%New #1 — growing (and mid-duplicate-order mystery, see 01)
Jones Manufacturing$132,414$184,297-28%Former #1, shrinking — has a pending SO as a call hook
Pineapple Republic$128,251$78,854+63%Expanding
Panaderia Co.$122,728$102,798+19%Steady
Davis Supplies$106,839$88,039+21%Steady
Marshall Industries$102,042$23,168+340%Breakout — understand why & replicate
Global Information$101,799$0NEW→DORMANTOne giant burst, then silence — see win-back list
Recreational Outfitters$94,998$39,435+141%Expanding
Red Rivers Consulting$94,370$0NEWOne-time buyer — needs a 2nd order (see 03)
Magna Tech Limited$89,343$0NEW2nd order already pending approval (SO4322)
Pattern: growth is acquisition-driven (3 of the top 10 are brand-new) while the former #1 shrinks and one new whale already went dormant. Retention is the quiet leak.
Action: Assign each dormant account + Jones Manufacturing to a named owner this week. Global Information requires zero courtship — approving their pending order is the win-back. Recovering 25% of dormant run-rate ≈ $70K/yr; arresting the Jones decline ≈ $52K/yr.
Queries used
SELECT c.id, c.entityid, c.companyname, ROUND(SUM(ABS(tl.netamount)),2) AS prior_revenue, MAX(t.trandate) AS last_purchase
FROM transaction t
JOIN customer c ON t.entity = c.id
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
GROUP BY c.id, c.entityid, c.companyname
HAVING MAX(t.trandate) < TO_DATE('2026-02-15','YYYY-MM-DD')
ORDER BY SUM(ABS(tl.netamount)) DESC FETCH FIRST 15 ROWS ONLY
SELECT c.id, c.entityid,
  ROUND(SUM(CASE WHEN t.trandate >= TO_DATE('2025-08-16','YYYY-MM-DD') THEN ABS(tl.netamount) ELSE 0 END),0) AS ttm_rev,
  ROUND(SUM(CASE WHEN t.trandate < TO_DATE('2025-08-16','YYYY-MM-DD') THEN ABS(tl.netamount) ELSE 0 END),0) AS prior12_rev
FROM transaction t
JOIN customer c ON t.entity = c.id
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
  AND t.trandate >= TO_DATE('2024-08-16','YYYY-MM-DD')
GROUP BY c.id, c.entityid
ORDER BY SUM(CASE WHEN t.trandate >= TO_DATE('2025-08-16','YYYY-MM-DD') THEN ABS(tl.netamount) ELSE 0 END) DESC
FETCH FIRST 10 ROWS ONLY

0337 one-time buyers worth $716K never came back REPEAT-PURCHASE

Thirty-seven customers made exactly one purchase — collectively $716,368 of first-order revenue — and were never sold to again. These are proven buyers with a validated need; a second-purchase campaign is the cheapest revenue you can generate.

Top 10 by first-order value (these ten = $624K, 87% of the total)
CustomerFirst orderWhenRead
Global Information$101,799Nov 2025Returning NOW — SO4321 pending (see 01)
Red Rivers Consulting$94,370Feb 20266 months silent — call now, not later
Magna Tech Limited$89,343Jun 20262nd order pending approval — convert & nurture
Falcon Systems$78,456Apr 20264 months — warm, high priority
Mercury Co.$73,976Apr 202516 months — cold
Gotter inc.$64,112Nov 20259 months
Haskell Associates$41,356Aug 2025~1 year
John G. Roche Opticians$29,939Mar 20265 months
Informics International$26,672Feb 20266 months
Greenwood Consulting$23,886May 20263 months — freshest, easiest call
Note the overlap with Opportunity 02 — the dormant whales are the biggest one-time buyers. The single most important fix is structural: no second-order motion exists. New large accounts get invoiced once and nobody follows up.
Action: Direct outreach on the top 10 (freshest first: Greenwood, Magna Tech, Falcon); "we miss you" offer for the 27-account tail. Even 15% reactivation at half the original order size ≈ $50K+. Then make a 30-day post-first-invoice follow-up a standing sales task.
Queries used
SELECT COUNT(*) AS one_time_buyers, ROUND(SUM(rev),2) AS their_revenue
FROM (SELECT t.entity, COUNT(DISTINCT t.id) AS txns, SUM(ABS(tl.netamount)) AS rev
      FROM transaction t
      JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
      WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
      GROUP BY t.entity HAVING COUNT(DISTINCT t.id) = 1)
SELECT c.id, c.entityid, ROUND(SUM(ABS(tl.netamount)),2) AS first_order_value, MAX(t.trandate) AS purchase_date
FROM transaction t
JOIN customer c ON t.entity = c.id
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
  AND t.entity IN (SELECT entity FROM (SELECT t2.entity, COUNT(DISTINCT t2.id) AS txns
    FROM transaction t2 WHERE t2.type IN ('CustInvc','CashSale')
    GROUP BY t2.entity HAVING COUNT(DISTINCT t2.id) = 1))
GROUP BY c.id, c.entityid
ORDER BY SUM(ABS(tl.netamount)) DESC FETCH FIRST 10 ROWS ONLY

04Beauty bundles: your customers already built them for you MERCHANDISING

Co-purchase analysis of the last 12 months shows an unmistakable pattern: Beauty items are bought together constantly — yet the Beauty category's revenue is stagnant ($13.7K → $11.3K Aug-over-Aug). The demand pattern exists; it just isn't being packaged or promoted.

Item pair (bought on the same transaction)Times together (12 mo)
Scalp Therapy Shampoo + Volumizing Shampoo15
Rose Petal Shampoo + Scalp Therapy Shampoo15
Rose Petal Shampoo + The Gentleman15
Basil Lemon Hand Wash + The Gentleman15
Scalp Therapy Shampoo + The Gentleman15
Volumizing Shampoo + The Gentleman14
Rose Petal Conditioner + Scalp Therapy Shampoo13
These same items are also your fastest sellers by units (85 units/3mo each) with healthy stock (140–240 available) — you can promote them hard without stockout risk. The account already uses Kit items (22 exist), so the mechanics are proven.
Action: Create 2–3 Kit items this week (e.g., "Hair Care Duo", "Gentleman's Set") priced at a modest bundle discount, feature them at the SF/NY/Miami registers and on eCommerce. Bundles typically lift attach rate and AOV 10–25% on the category. Say the word and I'll draft the Kit records for your approval.
Query used
SELECT ia.itemid AS item_a, ib.itemid AS item_b, COUNT(DISTINCT a.transaction) AS times_together
FROM transactionline a
JOIN transactionline b ON a.transaction = b.transaction AND a.item < b.item
JOIN transaction t ON t.id = a.transaction
JOIN item ia ON ia.id = a.item JOIN item ib ON ib.id = b.item
WHERE t.type IN ('CustInvc','CashSale') AND t.trandate >= TO_DATE('2025-08-15','YYYY-MM-DD')
  AND a.mainline = 'F' AND a.taxline = 'F' AND b.mainline = 'F' AND b.taxline = 'F'
  AND a.item IS NOT NULL AND b.item IS NOT NULL
  AND ia.itemtype IN ('InvtPart','Assembly','Kit') AND ib.itemtype IN ('InvtPart','Assembly','Kit')
GROUP BY ia.itemid, ib.itemid
ORDER BY COUNT(DISTINCT a.transaction) DESC FETCH FIRST 10 ROWS ONLY

05Turn $40.9K of dead stock into cash and traffic CLEARANCE

48 active inventory items have stock on hand but zero sales in the last 6 months — $40,855 of working capital sitting still. Mid-August is prime clearance-event season (back-to-school traffic; assumption noted in Sources).

ItemQty on handValue tied upDisposition
ASUS PG348Q RoG 34" Curved Monitor11$9,081Retail clearance — endcap hero
2-Layer Copper461$7,816Surplus lot / RTV
Valve Cap154$6,622Surplus lot / RTV
Solder Mask – Blue773$3,865Surplus lot / RTV
Valve Cover154$3,850Surplus lot / RTV
MB Rim22$2,200Surplus lot / RTV
…plus 42 more items$7,421Split by type
Note the profile: much of this is components/electronics (copper, solder mask, PCB, valve parts) — likely manufacturing inputs for discontinued builds, not retail SKUs. Those may be better sold as a lot to a surplus buyer than through a store clearance; the ASUS monitor and retail-facing SKUs belong in a clearance endcap.
Action: Split the 48-item list: retail SKUs → August clearance event (drives traffic that also sees the new Beauty bundles); manufacturing components → surplus/lot sale or return-to-vendor. Target: convert $15–25K to cash this month.
Query used
SELECT COUNT(*) AS slow_items, ROUND(SUM(onhand_value),2) AS tied_up_value
FROM (SELECT i.id, SUM(iil.onhandvaluemli) AS onhand_value
      FROM item i JOIN inventoryitemlocations iil ON iil.item = i.id
      WHERE i.itemtype = 'InvtPart' AND NVL(i.isinactive,'F') = 'F'
      GROUP BY i.id HAVING SUM(iil.quantityonhand) > 0) iv
WHERE NOT EXISTS (SELECT 1 FROM transactionline tl JOIN transaction t ON t.id = tl.transaction
  WHERE tl.item = iv.id AND tl.mainline = 'F' AND t.type IN ('CustInvc','CashSale')
    AND t.trandate >= TO_DATE('2026-02-15','YYYY-MM-DD'))
-- Top-items variant: same predicate, GROUP BY item, ORDER BY value DESC

06Channel fixes: copy the SF playbook to NY, arrest DC order-size erosion STRUCTURAL

Store channel — NY is the laggard
LocationTTM revPrior 12Δ
SF Store (1)$89.2K$63.5K+40%
Miami (12)$411.1K$299.5K+37%
NY Store (3)$53.4K$50.9K+4.9%
Chicago DC (8)$0$0dead
Store AOV is rising overall ($495 → $861, +74% since Q1-25) — whatever SF and Miami are doing (assortment? attach-selling?), NY isn't. Chicago DC has zero revenue lines ever — confirm whether it's supply-only by design or an untapped fulfillment channel.
DC channel — order size halved
QuarterDC AOV
Q3 2025$8,843
Q4 2025$5,037
Q3 2026$4,329
Wholesale/DC revenue is still growing (+19% LA, +37% Miami) but on more, smaller orders — average DC order value has halved in a year. That's rising fulfillment cost per revenue dollar and a pricing-leverage opportunity.
Action: Introduce volume-tier pricing or minimum-order incentives (free freight over $X) on wholesale accounts. Restoring even 20% of the lost order size on DC volume is a five-figure monthly lift.
Queries used (location + AOV)
-- Location TTM vs prior-12
SELECT tl.location,
  ROUND(SUM(CASE WHEN t.trandate >= TO_DATE('2025-08-16','YYYY-MM-DD') THEN ABS(tl.netamount) ELSE 0 END),2) AS ttm_rev,
  ROUND(SUM(CASE WHEN t.trandate < TO_DATE('2025-08-16','YYYY-MM-DD') THEN ABS(tl.netamount) ELSE 0 END),2) AS prior12_rev
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
  AND t.trandate BETWEEN TO_DATE('2024-08-16','YYYY-MM-DD') AND TO_DATE('2026-08-15','YYYY-MM-DD')
GROUP BY tl.location
ORDER BY SUM(CASE WHEN t.trandate >= TO_DATE('2025-08-16','YYYY-MM-DD') THEN ABS(tl.netamount) ELSE 0 END) DESC

-- AOV by channel by quarter
SELECT TO_CHAR(t.trandate,'YYYY') || '-Q' || TO_CHAR(t.trandate,'Q') AS qtr,
  CASE WHEN tl.location IN (1,3,12) THEN 'Store' WHEN tl.location IN (5,8) THEN 'DC' ELSE 'Other' END AS channel,
  COUNT(DISTINCT t.id) AS orders, ROUND(SUM(ABS(tl.netamount)),2) AS revenue,
  ROUND(SUM(ABS(tl.netamount)) / COUNT(DISTINCT t.id),2) AS aov
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F'
WHERE t.type IN ('CustInvc','CashSale') AND tl.subsidiary <> 4
  AND t.trandate >= TO_DATE('2024-07-01','YYYY-MM-DD')
GROUP BY 1, 2 ORDER BY 1, 2

07Smaller signals worth knowing

The 2-week playbook (ranked by speed-to-cash)

#MovePotential (Aug)EffortConfidenceOwner
1Approve clean pending SOs, resolve Design Excellence duplicates, bill shipped orders$58.8K Hours Booked ordersSales ops
2Fulfillment blitz on 40-order backlog (oldest first)$40–70K Days Booked ordersWarehouse
3Personal win-back calls: 4 dormant whales + Jones Mfg$10–30K Days Strong hooks existSales leads
4Launch 2–3 Beauty kit bundles at registers + eCom$5–15K Days Demand provenMerchandising
5Clearance event (retail) + surplus lot sale (components)$15–25K 1 week Discount-dependentMerch + purchasing
6Second-purchase campaign to 37 one-time buyers$10–50K 1 week Proven buyersMarketing
7Wholesale volume-tier pricing (DC AOV fix)Structural 2 weeks BehavioralSales mgmt
Moves 1–2 alone can close most of the August gap: the month needs roughly $67K more than last year's pace to stay on the 2026 growth trend, and $129.6K of booked orders is waiting.

Data sources, methodology & assumptions

Sources Definitions & assumptions