SuiteBanking
NetSuite 2026.1
2026-04-08

Financial Institution Parser: createNewTransaction() Now Supports Category Field

As of 2026.1.12, the createNewTransaction() method in the Financial Institution Parser plug-in interface now supports a category field inside additionalFields, letting plug-in authors pass institution-supplied transaction categories into NetSuite.

Affects:Financial Institution Parser Plug-inBank ReconciliationEmployee Expense ImportFormat Profiles

The createNewTransaction(options) method on the accountData object — part of the Financial Institution Parser Plug-in Interface — received a minor but useful enhancement in the 2026.1.12 minor release: the additionalFields map now officially supports a category key.

What changed

The additionalFields parameter (type Map<String, String>, available since 2021.2) accepts arbitrary key-value pairs that are forwarded to the backend during bank-data or expense-card import. Starting with 2026.1.12, NetSuite recognizes a category key within that map. If the financial institution provides a transaction category (e.g., Automotive Expenses, Office Supplies), plug-in authors can now pass it through:

additionalFields: { category: 'Automotive Expenses' }

This is an opt-in field — not all institutions supply it, and it is not required.

Full parameter reference

For context, below is a summary of all parameters on createNewTransaction(). Most have been stable since 2020.2:

  • date (String, required) — ISO 8601 extended local date format.
  • amount (Number, required) — Transaction amount.
  • transactionTypeCode (String, required for bank reconciliation) — Raw code mapped via the Code Type Mapping subtab on the Format Profile or via getStandardTransactionCodes(context).
  • uniqueId (String, optional) — Deduplication key; prevents duplicate imports automatically.
  • id, payee, currency, memo, transactionStatus, customerReferenceId, customerName — Optional metadata fields.
  • invoiceReferenceIds (Array<String>, optional) — Invoice references tied to the transaction.
  • billedTaxAmount, localChargeAmount, localTaxAmount, currencyExchangeRate, expenseCode — Required for employee expense imports. expenseCode maps via the Expense Code Mapping subtab or getExpenseCodes(context).
  • additionalFields (Map<String, String>, optional, since 2021.2) — Arbitrary key-value pairs. Now supports category as of 2026.1.12.

What to do

  1. If you maintain a custom Financial Institution Parser plug-in and your data source provides transaction categories, add the category key to the additionalFields map in your createNewTransaction() calls. This is optional — omitting it changes nothing.
  2. Verify your environment is on 2026.1.12 or later. The category field will be silently ignored on earlier minor releases since additionalFields already accepted arbitrary keys, but NetSuite will not act on the value.
  3. No migration is required. Existing plug-ins continue to work unchanged. This is a purely additive enhancement.
  4. Check downstream automation. If you have saved searches, workflows, or scripts that consume imported bank transaction data, verify whether the newly available category data surfaces on any records and whether you want to incorporate it into your logic.

Note: Oracle's documentation does not specify exactly where the category value lands on the resulting NetSuite record (e.g., which field on the bank-imported transaction). If you plan to use it, test in sandbox to confirm which record field is populated and whether it is searchable or scriptable.