Skip to content
NetSuite Reference

account

master

The chart of accounts: one row per account, hierarchical through parent, with its type, currency, special-account marker and the balance NetSuite maintains on it.

Module: FinancialsNo partition column
Grain note

this record exposes no lastmodifieddate — there is no watermark column here, so incremental extraction must full-refresh the chart of accounts. And the practical GL path into it is transactionaccountingline.account: real in every implementation, but attested on neither page's Joins table, so this catalog draws no edge for it and you write that join yourself.

Notes

Two identifiers, and they are not interchangeable: `id` is the internal id every pointer column holds, and acctnumber is the account number finance reads and reports by. balance is point-in-time STATE that NetSuite maintains — it is not the sum of the accounting lines under the account, and rebuilding it from transaction amounts will not reproduce it across books and currencies; read the balance for balances and the spine for movements. hasSubsidiary is false by design: `subsidiary` here is a MULTISELECT ("Subsidiaries") — one account can serve several — so `subsidiary = <id>` would silently drop every shared account, the location/department/classification verdict again. hasLocation is false for a different reason: location, class and department on this record are "Restrict to" SETTINGS that limit where the account may be posted to, not the grain of anything; the posting dimensions live on the transaction line. The account's own page attests three joins to cataloged records — the parent hierarchy, the deferral account and the account type — and its other pointers target key records this catalog does not carry.

What the badges mean
master
Data class: what the record holds — master data, transaction documents, control/configuration, or a documented convenience record. NetSuite has no product-family or schema axis, so this is the whole classification.

Structural facts — how the record is partitioned, not a trap by itself

Subsidiary-scoped
The record carries a subsidiary column that partitions its rows, so the generated SQL anchors it. On a few records the column is a multiselect rather than a scalar foreign key — the table notes say which (see the quirks guide).
Location-scoped
The record carries a location column — an org segment in NetSuite before it is a warehouse — and the generated SQL anchors it the same way.

Join & extract hazards — verify before you rely on this

View
A documented convenience record rather than a stored one. Land the records it stands in for instead of assuming it extracts as-is — the table notes say where the rows actually live.
In field listings, the Key chip marks a primary-key field, and the T/F chip marks a check-box column Connect returns as a 'T'/'F' string.

Fields

19 fields · 1 key

19 fields.

Table fields: position, field name, description, data type, and flags. 19 fields.
#FieldDescriptionTypeFlags
1idInternal IDNUMBER
Primary-key field
2acctnumberAccount number as finance reads it — not the internal idVARCHAR
3fullnameFull hierarchical nameVARCHAR
4accountsearchdisplaynameDisplay nameVARCHAR
5descriptionDescriptionVARCHAR
6accttypeAccount type — read as the text mnemonic accounttype.id holds; see that record's notes for the inferenceVARCHAR
7sspecacctSpecial-account marker for accounts NetSuite itself posts to (internal id)NUMBER
8parentParent account (internal id) — the chart's hierarchyNUMBER
9currencyAccount currency (internal id)NUMBER
10subsidiarySubsidiaries the account serves — a MULTISELECT, so no anchor is emittedNUMBER
11locationRestrict-to-Location setting (internal id) — a posting restriction, not a grain columnNUMBER
12eliminateIntercompany transactions eliminate on this accountVARCHAR
13isinactiveInactiveVARCHAR
14issummarySummary account — a rollup parent that is not posted toVARCHAR
15includechildrenChild accounts are included in the account's rollupsVARCHAR
16inventoryAccount holds inventory valueVARCHAR
17balanceBalance NetSuite maintains on the account — point-in-time state, not a sum of accounting linesNUMBER
18deferralacctAccount deferred revenue or expense is held in (internal id)NUMBER
19externalidExternal IDVARCHAR

Field provenance: hand-curated. 1 key field.

Boilerplate SQL

Starting point for reading the Connect-landed copy of account on Databricks — dates are real DATE/TIMESTAMP columns and need no conversion, and the partition anchors are already in place. This record carries no modification stamp, and the snippet says so where the watermark would otherwise go. Set your Unity Catalog location, schema, and filter values below; they’re substituted into the SQL and the copy button.

Query parameters

3 parameters not filled: <catalog>, <schema>, <id>

-- ============================================================
-- Table  : account — The chart of accounts: one row per account, hierarchical through parent, with its type, currency, special-account marker and the balance NetSuite maintains on it.
-- Purpose: Column-selected read of account — auto-generated from field metadata
-- Grain  : One row per id
-- Caution: this record exposes no lastmodifieddate — there is no watermark column here, so incremental extraction must full-refresh the chart of accounts. And the practical GL path into it is transactionaccountingline.account: real in every implementation, but attested on neither page's Joins table, so this catalog draws no edge for it and you write that join yourself.
-- Notes  : Auto-generated skeleton for NetSuite data landed in your lakehouse from a SuiteAnalytics Connect (or SuiteQL) extract — it never addresses live NetSuite. Identifiers are lowercase as NetSuite2.com renders them. Select-type columns hold numeric internal ids: BUILTIN.DF() display resolution exists only at extraction time, so decode ids by joining the landed list records; see quirks #display-values. Check-box columns arrive as 'T'/'F' strings; see quirks #tf-booleans.
-- ============================================================
SELECT
  t.id AS "Internal ID",
  t.acctnumber AS "Account number as finance reads it — not the internal id",
  t.fullname AS "Full hierarchical name",
  t.accountsearchdisplayname AS "Display name",
  t.description AS "Description",
  t.accttype AS "Account type — read as the text mnemonic accounttype.id holds; see that record's notes for the inference",
  t.sspecacct AS "Special-account marker for accounts NetSuite itself posts to (internal id)",
  t.parent AS "Parent account (internal id) — the chart's hierarchy",
  t.currency AS "Account currency (internal id)",
  t.subsidiary AS "Subsidiaries the account serves — a MULTISELECT, so no anchor is emitted",
  t.location AS "Restrict-to-Location setting (internal id) — a posting restriction, not a grain column",
  t.eliminate AS "Intercompany transactions eliminate on this account",  -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
  t.isinactive AS "Inactive",  -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
  t.issummary AS "Summary account — a rollup parent that is not posted to",  -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
  t.includechildren AS "Child accounts are included in the account's rollups",  -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
  t.inventory AS "Account holds inventory value",  -- 'T'/'F' string — compare = 'T', or CAST via CASE; see quirks #tf-booleans
  t.balance AS "Balance NetSuite maintains on the account — point-in-time state, not a sum of accounting lines",
  t.deferralacct AS "Account deferred revenue or expense is held in (internal id)",
  t.externalid AS "External ID"
FROM <catalog>.<schema>.account t
WHERE
  1 = 1  -- no partition column on this record; the filters below are optional
  -- AND t.id = <id>
  -- no lastmodifieddate on this record — there is no watermark column, so incremental extraction must full-refresh it (see quirks #deletes)
ORDER BY t.id;

Verified August 2026 · Analytics Browser 2021.1 · corroborated 2025.2

Select columns hold internal ids, not display text — see decoding display values.

Relationships

Diagram of 1-hop neighbors — join details below. Document-link edges are highlighted; they chain one document to the next and are the joins newcomers most often get wrong.

Join details

  • accountaccountforeign key · N:1
    ON account1.parent = account2.id
  • accountaccountforeign key · N:1
    ON account1.deferralacct = account2.id
  • accountaccounttypeforeign key · N:1
    ON account.accttype = accounttype.id
  • budgetsaccountforeign key · N:1
    ON budgets.account = account.id

Browse more Financials tables

More Financials tables

Maintained by Summit Analytics, a supply chain analytics practice. The tools and references are free — the consulting is selective.

Part of the Summit Analytics reference library.

Work with the practice

Not affiliated with or endorsed by Oracle or NetSuite. NetSuite is a registered trademark of Oracle and/or its affiliates.