Executive summary
1,772 taxable-sales documents (invoices + cash sales) shipped to 15 states in the last 24 months were evaluated. All figures exclude 69 future-dated documents ($98.9K) that exist in the account (see flags).
Key findings
Massachusetts & Kentucky: economic nexus established — compliant
No physical presence in either state. MA gross sales $292.8K (CY2025) / $181.6K (CY2026 YTD) vs. $100K; KY $178.8K (CY2025) vs. $100K. Both registered (nexus 11, 12), tax collected T12: MA $21.1K, KY $9.2K. KY's 2025 crossing carries the obligation through all of 2026 even though 2026 YTD ($91.4K) is under $100K.
California & New York: physical nexus, and economic thresholds within reach
CA (stores, LA DC, 3PL, 22 employees) is at 94% of its $500K calendar-year test and will cross in September at the current $78K/month pace. NY (Manhattan store) is at 82% of $500K over the preceding four sales-tax quarters with 282 sales (>100 test met). Registration status is unaffected — physical presence already requires it.
Colorado, Indiana, Illinois approaching — one order from crossing in CO
CO: a single $94,370 invoice (Mar 2026) sits at 94% of the $100K retail-sales test. IN: $74.3K CY2026 YTD (74%), $95.0K trailing-12 (95%); at the trailing-3-month pace it crosses ~Nov 2026. IL: $90.0K trailing-12 (90%) — but the Chicago DC creates physical nexus regardless. All three are registered and collecting, so crossing changes nothing except that filing frequency may step up.
$33,768 of untaxed invoices with no shipping address
INV762 and INV763 (Macgruber Incorporated, 2026-08-27, $16,884 each) have no ship-to or bill-to address, zero tax, and defaulted to the California nexus. They cannot be attributed to any state — if delivered into MA, KY, or another registered state they are under-collected. Highest-priority fix.
Illinois: half of documents carry zero tax despite registration and a DC in the state
66 of 133 trailing-12 IL documents ($10.8K, mostly cash sales) have taxtotal = 0. IL retailers with in-state presence must collect on Illinois deliveries. Either these are legitimately exempt (resale/exempt customers should have certificates on file) or a tax code is missing on the cash-sale form.
Six registered states with zero sales in 24 months
PA, NJ, NC, MO, MN, AK are configured as nexuses on both operating subsidiaries but have had no invoices or cash sales shipped to them. PA has a resident employee (physical nexus — registration is correct). The other five generate zero-return filing obligations and should be confirmed (trailing nexus, trade-show presence) or scheduled for de-registration.
Threshold exposure hinges on single customers
KY (Jones Manufacturing, 100%), IN (Recreational Outfitters, 100%), CO (Red Rivers Consulting, 100%) and MI (Blockster Inc., 100%) trailing-12 sales come from one account each. Threshold tests are volatile — one purchase order changes the answer. Michigan ($52.8K CY2026) is measured on the previous calendar year only, so no MI obligation exists for 2026 on economic grounds; collection there is voluntary-by-registration.
Unregistered states: three trivial untaxed cash sales
VA $699.97 (Aug 2026), ND $143.99 (Sep 2026), NM $691.99 (dated 2026-09-12, i.e. in the future). No registration, no collection, and each is <1% of the state's $100K test — correct treatment today, but these are the first out-of-footprint consumer shipments in the dataset and worth watching if eCommerce expands.
Nexus status map
Tile-grid map of the 50 states + DC. Hover a tile for the state's test, our figure, and status. Colour = status against the state's own measurement window.
Threshold dashboard — states with activity or registration
"Our figure" is measured over the state's own lookback window (e.g. NY = preceding four sales-tax quarters Sep 2025–Aug 2026; CT = 12 months ending Sep 30; IL/TX = preceding 12 months; most others = previous or current calendar year, whichever is higher). Sales = document total less tax, ex-future-dated. Sparkline = monthly sales Sep 2025 → Sep 2026 (partial).
| State | Status | Registered | Physical | Threshold rule (window · basis) | Our figure | Docs | % of test | Trend (13 mo) | Tax collected T12 | Customers T12 |
|---|
Both-conditions states (NY, CT) show the binding ratio (the lower of sales % and transactions %). Either/or states show the higher. Physical-presence states owe registration regardless of the economic test; their % is informational.
Runway to threshold
For states within reach: headroom remaining in the operative window, the trailing-3-month run-rate (Jun–Aug 2026, full months), and the implied crossing month. Run-rate projections are indicative — several of these states are single-customer.
Colorado 94% · registered
- CY2026 to date
- $94,370 / 1 doc
- CY2025
- $0
- Run-rate (3 mo)
- $0 / mo
- Customer
- Red Rivers Consulting (Sub 2)
- Tax collected
- $8,535.76
Indiana 74% CY · 95% T12
- CY2026 to date
- $74,346 / 9 docs
- CY2025
- $51,217 / 11
- Trailing 12 mo
- $94,998 / 13
- Run-rate (3 mo)
- $9,742 / mo
- Sep 2026 to date
- $22,687
- Customer
- Recreational Outfitters (Sub 2)
Illinois 90% · physical ◆
- Trailing 12 mo
- $89,970 / 133 docs
- 12 mo to Jun 30
- $84,653 / 129
- Run-rate (3 mo)
- $12,828 / mo
- Customers T12
- 13
- Untaxed docs T12
- 66 ($10,792)
California 94% CY · physical ◆
- CY2026 to date
- $468,769 / 313 docs
- Trailing 12 mo
- $560,928 / 452
- Run-rate (3 mo)
- $78,408 / mo
- Customers T12
- 49
- Tax collected T12
- $52,753
New York 82% · physical ◆
- Preceding 4 quarters
- $411,356 / 282 docs
- CY2025
- $320,131 / 275
- Run-rate (3 mo)
- $48,194 / mo
- Customers T12
- 25
- Tax collected T12
- $35,872
Massachusetts & Kentucky crossed
- MA CY2025 / CY2026
- $292,770 / $181,579
- MA docs
- 25 / 23
- KY CY2025 / CY2026
- $178,754 / $91,440
- KY docs
- 12 / 10
- KY customer
- Jones Manufacturing (100%)
Registration footprint vs. sales footprint
What NetSuite says we are registered for (nexus → subsidiarytaxregistration), overlaid with physical presence signals and 24-month sales.
Configured nexuses (18)
| Nexus id | State | Sub 1 | Sub 2 | Sub 3 | Sub 4 | Reg. # | 24-mo sales |
|---|---|---|---|---|---|---|---|
| 1 | CA | ✓ (exempt) | ✓ | ✓ | ✓ | — | $835,910 |
| 5 | NY | ✓ | ✓ | — | $605,533 | ||
| 11 | MA | ✓ | ✓ | — | $513,641 | ||
| 12 | KY | ✓ | ✓ | — | $316,711 | ||
| 15 | IL | ✓ | ✓ | — | $140,425 | ||
| 13 | IN | ✓ | ✓ | — | $134,433 | ||
| 18 | CO | ✓ | ✓ | — | $94,370 | ||
| 3 | TX | ✓ | ✓ | — | $83,520 | ||
| 10 | MI | ✓ | ✓ | — | $52,770 | ||
| 16 | FL | ✓ | ✓ | — | $8,504 | ||
| 4 | OH | ✓ | ✓ | — | $6,070 | ||
| 17 | CT | ✓ | ✓ | — | $2,577 | ||
| 2 | PA | ✓ | ✓ | — | $0 | ||
| 6 | NJ | ✓ | ✓ | — | $0 | ||
| 7 | NC | ✓ | ✓ | — | $0 | ||
| 8 | MO | ✓ | ✓ | — | $0 | ||
| 9 | MN | ✓ | ✓ | — | $0 | ||
| 19 | AK | ✓ | ✓ | — | $0 |
All 38 subsidiarytaxregistration rows carry an empty taxregistrationnumber; all are effective 10/1/2024 with no end date; operating subsidiaries use tax engine id 1204. Nexus id 14 does not exist (gap in sequence — likely deleted).
Physical presence signals
| State | Locations | Resident employees | Implication |
|---|---|---|---|
| CA | 1 SF Store · 5 LA DC · 14 3PL (Santa Ana) · quarantine/RTV sites | 22 | Home state; physical nexus |
| NY | 3 New York Store | 1 | Physical nexus |
| IL | 8 Chicago DC | 1 | Physical nexus |
| FL | 12 Miami (Sub 2) | 1 | Physical nexus |
| PA | — | 1 | Employee presence → nexus (explains dormant registration) |
| TX | — | 1 | Employee presence → nexus |
Location 15 "FBA" has no address. If inventory is held in Amazon fulfilment centres, that inventory creates physical nexus in whichever states Amazon stores it and marketplace-facilitated sales are excluded from most thresholds — neither is visible in NetSuite. See assumptions.
Sales by subsidiary (T12)
| Sub | Sales | States |
|---|---|---|
| 2 Subsidiary 1 | $1,336,565 | CA, NY, MA, KY, IL, MI, TX, FL, OH, CT, VA, ND + unattributed |
| 3 Subsidiary 2 | $414,862 | CA, NY, MA, IN, CO, TX |
| 1 Parent · 4 xElim | $0 | — |
Thresholds apply per legal entity. Splitting by subsidiary lowers every per-entity figure (e.g. MA: Sub 2 $261.6K, Sub 3 $75.4K T12 — Sub 3 alone is under the MA test). This report evaluates the consolidated figure as the conservative view; confirm with counsel whether the subsidiaries are separately registered taxpayers.
Data-quality & compliance flags
| # | Severity | Flag | Evidence | Impact |
|---|---|---|---|---|
| F1 | High | Invoices with no shipping address and zero tax | INV762 (id 42286), INV763 (id 42287) · Macgruber Incorporated · 2026-08-27 · $16,884.00 each · taxtotal = 0 · nexus defaulted to 1 (CA) | $33,768 cannot be attributed to a state; potential under-collection |
| F2 | High | Zero-tax documents in a registered, physical-nexus state (IL) | 66 of 133 IL documents T12, $10,792 sales, $0 tax — predominantly cash sales | Under-collection or missing exemption certificates |
| F3 | Medium | No tax registration numbers stored | 38/38 subsidiarytaxregistration.taxregistrationnumber blank | Cannot evidence registration from the system; SuiteTax/returns may print blank permit numbers |
| F4 | Medium | Dormant registrations | NJ, NC, MO, MN, AK — nexus configured, $0 sales in 24 months (PA also $0 but has an employee) | Zero-return filing burden; audit attention; possible penalties for missed nil returns |
| F5 | Medium | Future-dated sales documents | 69 invoices/cash sales dated after 2026-09-04 (latest 2026-09-22), $98,934 ex-tax — NY 19 / $42.3K, CA 35 / $33.6K, MA 3 / $19.9K, IL 11 / $2.4K, NM 1 / $0.7K | Would overstate every rolling figure if included; excluded here |
| F6 | Low | Zero-tax CA documents | 14 documents T12, $3,182 — likely exempt customers | Verify certificates |
| F7 | Low | Walk-in cash sales without address | CS1070/1071/1073 (2026-09-02), $386 total, taxed $33.89 at CA rates | Immaterial; consider defaulting store address on POS form |
| F8 | Low | Consumer shipments into unregistered states carry nexus = 1 | CS1065 (VA), CS1067 (ND), CS1069 (NM) — nexus 1 (CA), tax $0 | Correct outcome (no CA tax on interstate shipment) but indicates NetSuite falls back to the home nexus when no match exists |
| F9 | Low | Returns not netted | CustCred: CA −$108.48, MA −$154.56, NY −$152.43; CashRfnd NY −$716.39 (2025–26) | Immaterial (<0.1%); gross basis is the conservative convention |
Recommended actions
- Fix INV762 / INV763 today. Add the ship-to address, let the tax engine recompute, and issue a corrected invoice or a tax-only invoice if the goods went to a registered state. AR · this week
- Reconcile the 66 untaxed Illinois documents. Pull the list (query Q6), classify as (a) exempt customer with certificate, (b) resale, or (c) error. For (c), assess IL tax on the $10.8K and correct the cash-sale form's default tax code. Tax · 2 weeks
- Record tax registration numbers on each
subsidiarytaxregistrationrow (Setup → Company → Subsidiaries → Tax Registrations). Add a quarterly control that no active nexus has a blank number. Tax · 2 weeks - Colorado watch. Confirm destination local rates are applied on Red Rivers Consulting orders; expect the $100K test to be met on the next order and confirm the filing frequency the CO DOR assigns. Tax · on next CO order
- Confirm or retire the five dormant registrations (NJ, NC, MO, MN, AK). Document the basis for each (trailing nexus, inventory, trade shows). Where none exists, file final returns and close the accounts — AK in particular (ARSSTC local-only regime) is pure overhead with $0 sales. Keep PA (resident employee). Tax + Controller · this quarter
- Resolve the FBA question. If location 15 "FBA" holds inventory at Amazon, obtain the Inventory Event Detail report and map fulfilment-centre states — inventory creates physical nexus irrespective of sales thresholds. Ops · this quarter
- Decide the entity basis for threshold testing. Thresholds apply per taxpayer; this report tests consolidated. Confirm with counsel whether Subsidiary 1 and Subsidiary 2 are separate registrants and, if so, adopt per-subsidiary monitoring (query Q7 already groups by subsidiary). Controller · this quarter
- Institutionalise the monitor. Run the query in Ongoing monitoring on the first business day of each quarter (IL, MO, MN and TX are explicitly quarterly-review states) and refresh the threshold table against the Sales Tax Institute chart. Tax · quarterly
- Clean future-dated documents (F5) or confirm they are intentional (e.g., pre-billing). They distort every rolling metric in the account, not just this one. AR · this month
Methodology & assumptions
How the numbers were built
- Population:
transaction.type IN ('CustInvc','CashSale'),trandatefrom 2024-09-01, joined totransactionshippingaddressviat.shippingaddress = tsa.nkey. Sales orders, estimates and fulfilments are not sales for nexus purposes and are excluded. - Sales figure:
foreigntotal − taxtotal— the document total excluding tax but including shipping & handling charges. Most states include delivery charges in gross sales; this is the conservative reading. - Document count = one per invoice or cash sale (the "separate transactions" a statute counts), not lines.
- Destination = ship-to state on the document. The 5 documents with no shipping address are reported separately as unattributable and are not assigned to a state.
- Windows (as of 2026-09-04): CY2025 = 2025-01-01→12-31; CY2026 YTD = 2026-01-01→09-04; T12 = 2025-09-05→2026-09-04; NY four quarters = 2025-09-01→2026-08-31; CT year = 2025-10-01→2026-09-04 (Sep-30 year in progress) with the prior CT year 2024-10-01→2025-09-30 also tested; MN = 2025-07-01→2026-06-30. Each state is tested on its own window; "previous or current" states use the higher of CY2025 and CY2026 YTD.
- Future-dated documents (trandate > today) are excluded from every figure and reported in F5.
- Status thresholds: Crossed ≥100%; Approaching ≥70%; otherwise Below. For "$X or N transactions" states the higher ratio governs; for "$X and N" states (NY, CT) the lower ratio governs.
- Registration = the state appears as a
nexusinsubsidiarytaxregistrationfor Subsidiary 1 or Subsidiary 2 (the two operating entities). Physical presence = alocationmain address in the state or an active employee address in the state. - Aggregation was performed by SuiteQL + an in-browser reducer over the 1,841 header rows; no rows were re-keyed by hand.
Assumptions & limitations
- Threshold basis mismatches. Statutes variously measure gross, retail or taxable sales. We measure gross (ex-tax) for every state. For "taxable sales" states (FL, ND, NM, MO, OK, AR, PA) this overstates our figure — conservative. For "retail sales" states (CO, IL, CT, MN, VA, OH) sales-for-resale would be excluded by statute; the data does not identify resale customers, so gross is used.
- Marketplace sales (e.g., Amazon FBA) are excluded from most thresholds when the marketplace collects. Nothing in the dataset identifies channel; all sales are treated as direct.
- Consolidated entity view. Thresholds are tested on the combined sales of Subsidiary 1 + Subsidiary 2. Per-entity testing (query Q7) gives lower figures.
- Exempt sales are included in gross figures (correct for gross states) and identified only by
taxtotal = 0, which conflates exemption with tax-code errors (see F2). - Returns are not netted (F9, immaterial).
- Demo-ledger caveat: this account contains synthetic "Beg Balance" journals; they are irrelevant here because journals are not sales documents and are excluded by type.
- Thresholds were taken from the Sales Tax Institute "Economic Nexus State by State Chart" dated 8/1/2026 and transcribed into the reference table below. They change frequently (e.g., IL repealed its 200-transaction test 1/1/2026; KY 8/1/2026; NC changed its registration timing 7/2/2026). Verify against the state DOR before acting.
- Not legal advice. This is an analytical screen to direct professional attention; registration and de-registration decisions should be confirmed with a state-and-local tax adviser.
Appendix A — Queries used
All SuiteQL, run live against the production account on 2026-09-04. House style applied (tl.subsidiary for subsidiary; single-currency, no currency columns).
Q1 · Sales documents with ship-to state (base extract fed to the reducer — 1,841 rows)
SELECT
t.id,
t.type,
TO_CHAR(t.trandate, 'YYYY-MM-DD') AS trandate,
tsa.state,
tsa.country,
tsa.zip,
t.foreigntotal,
t.taxtotal,
t.nexus,
tl.subsidiary,
t.entity
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'T'
LEFT JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
WHERE t.type IN ('CustInvc', 'CashSale')
AND t.trandate >= TO_DATE('2024-09-01', 'YYYY-MM-DD')
The reducer bucketed each row into CY2025, CY2026 YTD, T12, prior-12, NY four-quarter, MN quarter-lagged and CT Sep-30 windows, excluded trandate > 2026-09-04, and computed sales = foreigntotal − taxtotal, document counts, tax, zero-tax documents, distinct customers, and monthly series per state.
Q2 · Ship-to address coverage by type and year
SELECT
t.type,
TO_CHAR(t.trandate, 'YYYY') AS yr,
COUNT(*) AS txns,
SUM(CASE WHEN tsa.state IS NOT NULL THEN 1 ELSE 0 END) AS with_state,
SUM(CASE WHEN tsa.country IS NOT NULL AND tsa.country <> 'US' THEN 1 ELSE 0 END) AS non_us,
ROUND(SUM(t.foreigntotal), 2) AS total
FROM transaction t
LEFT JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
WHERE t.type IN ('CustInvc', 'CashSale')
GROUP BY t.type, TO_CHAR(t.trandate, 'YYYY')
ORDER BY t.type, TO_CHAR(t.trandate, 'YYYY')
Result: 1,841 documents 2024–2026; 5 without a state; 0 non-US.
Q3 · Configured nexuses and subsidiary tax registrations
SELECT n.id, n.description, n.country, n.state, n.taxagency, BUILTIN.DF(n.state) AS state_name
FROM nexus n
ORDER BY n.id;
SELECT str.subsidiary, str.nexus, n.state, str.istaxexempt, str.taxregistrationnumber,
str.taxengine, str.effectivefrom, str.validuntil
FROM subsidiarytaxregistration str
JOIN nexus n ON n.id = str.nexus
ORDER BY str.subsidiary, n.state
Note: subsidiarynexus exposes only the subsidiary column in this account; subsidiarytaxregistration is the usable join.
Q4 · Physical presence — locations and employee home states
SELECT l.id, l.name, l.subsidiary, la.state, la.city
FROM location l
LEFT JOIN locationmainaddress la ON la.nkey = l.mainaddress
ORDER BY l.id;
SELECT ea.state, COUNT(DISTINCT e.id) AS employees
FROM employee e
JOIN employeeaddressbook eab ON eab.entity = e.id
JOIN employeeaddressbookentityaddress ea ON ea.nkey = eab.addressbookaddress
WHERE e.isinactive = 'F'
GROUP BY ea.state
ORDER BY COUNT(DISTINCT e.id) DESCQ5 · Documents with missing ship-to state or in unregistered states
SELECT t.id, t.tranid, t.type, TO_CHAR(t.trandate, 'YYYY-MM-DD') AS trandate,
t.foreigntotal, t.taxtotal, t.nexus, tsa.state, tsa.city, tsa.zip,
BUILTIN.DF(t.entity) AS customer, ba.state AS bill_state
FROM transaction t
LEFT JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
LEFT JOIN transactionbillingaddress ba ON ba.nkey = t.billingaddress
WHERE t.type IN ('CustInvc', 'CashSale')
AND t.trandate >= TO_DATE('2024-09-01', 'YYYY-MM-DD')
AND (tsa.state IS NULL OR tsa.state IN ('VA', 'ND', 'NM'))
ORDER BY t.trandateQ6 · Zero-tax documents in registered states (work list for F2 / F6)
SELECT tsa.state, t.tranid, t.type, TO_CHAR(t.trandate, 'YYYY-MM-DD') AS trandate,
BUILTIN.DF(t.entity) AS customer, t.foreigntotal, t.taxtotal, tl.location
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'T'
JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
WHERE t.type IN ('CustInvc', 'CashSale')
AND t.trandate BETWEEN TO_DATE('2025-09-05', 'YYYY-MM-DD') AND TRUNC(SYSDATE)
AND t.taxtotal = 0
AND tsa.state IN ('IL', 'CA', 'NY', 'MA', 'KY', 'IN', 'CO', 'MI', 'TX', 'FL', 'OH', 'CT')
ORDER BY tsa.state, t.trandateQ7 · Top customers in near-threshold states, with per-subsidiary split
SELECT tsa.state, tl.subsidiary, BUILTIN.DF(t.entity) AS customer,
COUNT(*) AS txns,
ROUND(SUM(t.foreigntotal - t.taxtotal), 2) AS sales
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'T'
JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
WHERE t.type IN ('CustInvc', 'CashSale')
AND t.trandate BETWEEN TO_DATE('2025-09-05', 'YYYY-MM-DD') AND TRUNC(SYSDATE)
AND tsa.state IN ('CO', 'IL', 'IN', 'NY', 'KY', 'MI', 'MA')
GROUP BY tsa.state, tl.subsidiary, BUILTIN.DF(t.entity)
ORDER BY tsa.state, SUM(t.foreigntotal - t.taxtotal) DESCQ8 · Future-dated documents and returns
SELECT COUNT(*) AS future_txns, ROUND(SUM(t.foreigntotal - t.taxtotal), 2) AS future_sales,
MAX(TO_CHAR(t.trandate, 'YYYY-MM-DD')) AS latest
FROM transaction t
WHERE t.type IN ('CustInvc', 'CashSale') AND t.trandate > TRUNC(SYSDATE);
SELECT t.type, tsa.state, COUNT(*) AS txns, ROUND(SUM(t.foreigntotal), 2) AS total
FROM transaction t
LEFT JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
WHERE t.type IN ('CustCred', 'CashRfnd', 'RtnAuth')
AND t.trandate >= TO_DATE('2025-01-01', 'YYYY-MM-DD')
GROUP BY t.type, tsa.state
ORDER BY t.type, tsa.stateAppendix B — 50-state economic nexus reference
Transcribed from the Sales Tax Institute "Economic Nexus State by State Chart", as of 8/1/2026, with our status appended. "PC" = previous or current calendar year; "P" = previous calendar year; "T12" = preceding 12 months. Puerto Rico ($100K or 200, seller's fiscal year) omitted — no PR activity.
| State | Sales threshold | Txn threshold | Rule | Window | Basis | Notes | Our figure | Status |
|---|
Appendix C — Ongoing monitoring query
Save this in the SuiteQL Query Tool and run it quarterly. It produces the per-state figures for every window used above in one pass, relative to the run date, and includes a per-subsidiary variant via the commented line. Compare the output to the reference table (or paste both into Sonar and ask for the delta).
-- Economic nexus monitor: one row per ship-to state (and optionally subsidiary)
-- Windows are relative to SYSDATE; future-dated documents excluded.
SELECT
tsa.state,
-- tl.subsidiary, -- uncomment for per-entity testing
ROUND(SUM(CASE WHEN t.trandate >= TRUNC(SYSDATE, 'YYYY')
THEN t.foreigntotal - t.taxtotal END), 2) AS cy_current_sales,
SUM(CASE WHEN t.trandate >= TRUNC(SYSDATE, 'YYYY') THEN 1 END) AS cy_current_docs,
ROUND(SUM(CASE WHEN t.trandate >= ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), -12)
AND t.trandate < TRUNC(SYSDATE, 'YYYY')
THEN t.foreigntotal - t.taxtotal END), 2) AS cy_previous_sales,
SUM(CASE WHEN t.trandate >= ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), -12)
AND t.trandate < TRUNC(SYSDATE, 'YYYY') THEN 1 END) AS cy_previous_docs,
ROUND(SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12)
THEN t.foreigntotal - t.taxtotal END), 2) AS t12_sales,
SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) THEN 1 END) AS t12_docs,
ROUND(SUM(CASE WHEN t.trandate >= ADD_MONTHS(TRUNC(SYSDATE, 'Q'), -12)
AND t.trandate < TRUNC(SYSDATE, 'Q')
THEN t.foreigntotal - t.taxtotal END), 2) AS last4q_sales, -- MN / VT style
SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12)
AND t.taxtotal = 0 THEN 1 END) AS t12_zero_tax_docs,
ROUND(SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12)
THEN t.taxtotal END), 2) AS t12_tax_collected,
COUNT(DISTINCT CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12)
THEN t.entity END) AS t12_customers
FROM transaction t
JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'T'
LEFT JOIN transactionshippingaddress tsa ON tsa.nkey = t.shippingaddress
WHERE t.type IN ('CustInvc', 'CashSale')
AND t.trandate >= ADD_MONTHS(TRUNC(SYSDATE, 'YYYY'), -12)
AND t.trandate <= TRUNC(SYSDATE)
AND tl.subsidiary <> 4
GROUP BY tsa.state -- , tl.subsidiary
ORDER BY SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12)
THEN t.foreigntotal - t.taxtotal END) DESC NULLS LAST
subsidiarytaxregistration row; (2) any registered state with t12_zero_tax_docs > 0. Both are one-line joins on this output. This can be codified as a Sonar process definition so the run, the threshold refresh and the exception list are produced together.Appendix D — Source documents
- NetSuite production account TD3016323 — tables
transaction,transactionline,transactionshippingaddress,transactionbillingaddress,nexus,subsidiarytaxregistration,location,locationmainaddress,employee,employeeaddressbook,employeeaddressbookentityaddress; queried 2026-09-04 (Q1–Q8 above). - Sales Tax Institute, Economic Nexus State by State Chart, "As of 8/1/2026" — salestaxinstitute.com/resources/economic-nexus-state-guide (fetched 2026-09-04). Governs Appendix B and every threshold cited.
- Account field notes (Sonar, file 91360) — subsidiary structure, location id/name disambiguation, SuiteQL quirks (
transaction.subsidiarynot exposed;foreign*amount columns).