Accounting
NetSuite 2026.1
2026-03-16

2026.1 Accounting: Keyed Journal Sublists, Breaking Balance Field Changes, and Reclassification JE Auto-Approval

NetSuite 2026.1 standardizes journal line sublists to keyed configuration, changes the semantics of Account.balance in SuiteScript and REST (breaking), and auto-approves reclassification journal entries — disabling approval fields that scripts and workflows may reference.

Affects:N/recordSuiteScript 2.1REST Record APISOAP Web ServicesCSV ImportCustom GL Lines Plug-inWorkflowsSuiteAnalytics

NetSuite 2026.1 ships several accounting changes that have direct, code-level impact on integrations, scripts, and workflows. Three of them are effectively breaking and need engineering review before the upgrade: the journal sublist keying change, the Account.balance semantic change, and the removal of approval fields from reclassification journal entries.

Journal Line Sublists Standardized to Keyed

All supported journal types now use keyed sublists with a unique line key per line. REST, SOAP, and CSV integrations can target individual lines by key for partial updates instead of replacing the full sublist. Previously, several journal variants exposed a line identifier but the underlying sublist was non-keyed, so line-level updates were unreliable and could leave journals unloadable.

Breaking risk: If your integration reuses the same line identifier across multiple lines on a journal, updates will now fail validation. The source release note does not name the exact field that becomes the key — verify against the Sublists in SOAP Web Services and Sublist Data Import help topics, and inspect the line sublist on Journal Entry, Intercompany Journal Entry, Advanced Intercompany Journal Entry, and Statistical Journal Entry records before upgrading.

Custom GL Lines Plug-in: Secondary Books Now Supported

The Custom GL Lines Plug-in now executes for every accounting book active on any subsidiary participating in a transaction with GL impact, including inter-company transactions. Previously the plug-in only ran for the primary subsidiary, leaving secondary books inconsistent. If your plug-in implementation assumed it would only ever see the primary subsidiary's book context, review it — it will now be invoked in additional contexts and must produce correct lines for each book.

Posting Period Editable on Pending-Approval Journals

The postingperiod field can now be updated on Journal Entry, Intercompany Journal Entry, Advanced Intercompany Journal Entry, and Statistical Journal Entry records while in Pending Approval status. Previously, writes to that field on pending journals were silently dropped. SuiteApps such as Transaction Line Distribution that create journals tied to a specific bill's period can now set the period correctly before approval. No new permissions are required.

Revenue Arrangement / Plan Update Filters

The Update Revenue Arrangements and Revenue Plans page adds new filters that scope updates to specific source records, plus a new Criteria column on the Status section linking to a Criteria summary page that records which filters were applied per submission ID. The release note does not enumerate the new filter fields — check the Updating Revenue Arrangements help topic. Requires the Advanced Revenue Management (Essentials) feature.

Recognition Treatment Rules: New Criteria Fields

Recognition Treatment Rules (Rule-Based Recognition Treatment) previously supported only Accounting Book, Date, Item Revenue Category, Source Type, Subsidiary, and Transaction Type as criteria. 2026.1 adds:

  • Class, Department, Location
  • Custom segments (transaction line-level only — requires the Custom Segments feature)
  • Custom fields (transaction line-level only)

This lets you drive revenue scheduling, plan creation, allocation type, and allocation group from broader business dimensions than item-level grouping.

Reclassification Journal Entries: Forced Auto-Approval (Breaking)

Reclassification journal entries are now auto-approved unconditionally to prevent duplicate GL impact from multiple approvals. Concrete changes:

  • The Approve Journal checkbox is removed from the Create Reclassification Journal Entries and Schedule Reclassification Journal Entries pages.
  • On all existing and new reclassification journals, these fields are disabled: approvalstatus, nextapprover, and the Approved box.
  • Pre-existing reclassification JEs stuck in Pending Approval or Rejected can be deleted but not transitioned.

Action: Audit any SuiteScript, workflow, saved search, or SuiteFlow that reads or sets approvalstatus/nextapprover on reclassification journal entries. Approval-routing customizations that branch on these fields will no longer fire for this transaction type.

Exception Management in Sandbox

Exception Management (EM) — still a limited-release feature — can now run in Sandbox using models trained against the corresponding Production account. A new feature flag, Exception Management Models, splits training from inference:

  • Enable Exception Management Models in Production to train models on production data.
  • Enable Exception Management in Sandbox to surface the EM dashboard; inference runs against the production-trained models.
  • Sandbox inference scope: last two weeks at start, then hourly on edited or newly created Sandbox transactions.
  • You cannot enable Exception Management Models directly in a Sandbox.
  • Disabling Exception Management Models in Production auto-disables EM in Production and all linked Sandboxes.
  • Backward compatible: accounts already using EM get both flags enabled by default.

CDL Role Restrictions on Account Records Include Unassigned

For Account records only, the Own and Subordinates Only and Own, Subordinates, and Unassigned CDL role-restriction options now behave identically — both include records with unassigned Class/Department/Location. This fixes empty Account datasets in Analytics when unassigned values exist and aligns Account behavior with the Chart of Accounts. Behavior is unchanged for Sales Orders, Journal Entries, and other transaction records.

Account Balance Currency Context (Breaking for SuiteScript and REST)

Account balance fields are being unified across Analytics, Chart of Accounts, SuiteScript, and REST:

  • fxbalance (Foreign Balance) — calculated from the account's default currency, if defined. Use this when you need the non-consolidated, account-currency amount.
  • balance — now returns the consolidated amount based on the user's role and the top-level parent company in the subsidiary hierarchy.

Breaking change: Previously, when a currency was explicitly specified, balance returned a non-consolidated amount in the account currency. Any SuiteScript using N/record or N/search, or any REST integration hitting /services/rest/record/v1/account/{id}, that depended on the old balance semantics will silently start returning different numbers.

Other Localization Items

  • Chile Localization is now available.
  • Australia Bank Feeds SuiteApp enhancements (details not specified in this page).
  • Singapore Localization version 2.0.0.

What to do before upgrading to 2026.1

  1. Audit journal integrations. Inventory every REST, SOAP, and CSV process that writes to Journal Entry, Intercompany JE, Advanced Intercompany JE, or Statistical JE line sublists. Confirm each line carries a unique line identifier; fix any code that reuses the same identifier across lines. Re-test partial line updates against a Sandbox on 2026.1.
  2. Grep for balance on Account records. Search SuiteScript and REST clients for reads of account.balance. Decide per call site whether the consumer wants the new consolidated balance or the per-account-currency fxbalance, and update accordingly. Re-baseline any reports or dashboards that compare balances over time.
  3. Review reclassification JE customizations. Find scripts, workflows, saved searches, and SuiteApprovals routing referencing approvalstatus, nextapprover, or the Approved box on reclassification journals. Remove or rewrite logic that assumes a manual approval step exists. Decide what to do with any pending or rejected reclassification JEs (delete or leave in place — they cannot be transitioned).
  4. Re-test Custom GL Lines Plug-ins against inter-company transactions and subsidiaries with secondary accounting books. Ensure the plug-in produces correct, balanced lines for every book it will now be invoked on.
  5. Review CDL role restrictions on Account records if you rely on Own and Subordinates Only excluding unassigned records — that exclusion no longer applies for Account.
  6. If you use Exception Management, plan the Production-vs-Sandbox flag rollout: enable Exception Management Models in Production first, then Exception Management in the target Sandbox.