Banking
NetSuite 2026.1
2026-03-16

2026.1 Banking: AI-Enriched Matching, Custom Import Schedules, Standardized Error Codes

NetSuite 2026.1 overhauls bank reconciliation with GenAI-enriched transaction matching, ML-based payment date prediction, custom import scheduling, on-demand AISP refresh, and standardized error codes that will replace free-text failure reasons in 2026.2.

Affects:Financial Institution Connectivity Plug-inFinancial Institution Parser Plug-inBank Feeds SuiteApp 26.1.0AMEX Corporate Card Integration SuiteAppFormat Profile recordsInvoice recordCustom transaction forms

The 2026.1 banking release is mostly a plug-in and format-profile story. If you maintain custom Financial Institution Connectivity or Parser plug-ins, or any workflow that consumes bank import notifications/failure reasons, you have concrete migration work before 2026.2 (August 2026) when free-text failure reasons are removed.

Enriched Bank Data for Transaction Matching (GenAI)

Enabled by default. After system and custom rules run, unmatched transactions become eligible for an enrichment pass: GenAI extracts entity info from memo, payee, and payor fields and matches against GL transactions with the same amount and a date within 7 days. The matching algorithm itself is not AI — only the entity extraction is. Matched rows display a multicolored vertical bar on Match Bank Data / Reconcile Account Statement, and the popup flags enrichment-based matches.

Caveat: Oracle explicitly warns matches may be erroneous. Review before finalizing. Toggle at Setup > Company > Enable Features > Accounting.

Payment Date Prediction for Invoices (ML)

Disabled by default; no support activation required anymore. Requires ≥12 weeks of historical payment data and ≥50 paid invoices before that window. Initial predictions can take up to 24 hours. Not supported on Release Preview accounts.

Four new read-only fields appear on the invoice record:

  • Predicted Payment Date — AI-generated
  • Predicted Overdue Days
  • Predicted Payment Date Availability (Billing subtab)
  • Predicted Payment Date Last Updated (Billing subtab)

Two always-editable manual fields are also added (visible regardless of feature state):

  • User-Estimated Payment Date
  • User-Estimated Payment Date Source (required when the date is set; cleared if date is removed)

Custom invoice forms must be updated manually at Customization > Forms > Transaction Forms to expose these fields. SuiteScript reading these via N/record should treat them as nullable until the ML backfill completes.

Custom Scheduling for Automatic Imports

Previously hard-coded to 4–7 AM PT once daily. Format profiles with Profile Type = Bank Reconciliation and a non-Manual Connectivity Method now expose an Import Schedule subtab with frequency, interval, start date, start time, and time zone. New profiles get a randomized default time in the legacy 4–7 AM PT window.

Constraints to know:

  • All schedule fields must be either fully populated or fully blank — partial entries are rejected.
  • At least one linked account is required for the schedule fields to become editable.
  • Inactive profiles keep their schedule but won't run until reactivated.
  • Editing requires Financial Institution Records permission with Edit access.

A new Manage Import Schedules button appears on the Match Bank Data page header.

Control Start Date for Transaction Imports

New Earliest Transaction Date for Import column on the Account Linking subtab (Bank Reconciliation profiles with a connectivity plug-in). Defaults to 60 days back; adjustable within that 60-day window. A bulk Earliest Transaction Date for Import (All Accounts) field plus an Apply button mass-sets new linkings.

Important: Once saved and the initial import completes, the value is immutable unless the linked NetSuite account is changed. Future dates are allowed but will defer the initial import and may dump a large backlog when the date arrives.

Not supported (date stays fixed at 60 days) in: Australia Bank Feeds, Auto Bank Statement Import, and Brazil Banking Integration SuiteApps.

On-Demand AISP Refresh

New Update Imported Bank Data button on the Format Profile page (view mode) triggers an on-demand pull from the AISP (Yodlee, MX, Salt Edge, AMEX, etc.) for all connected accounts in the profile. Profiles scheduled at 6- or 12-hour cadence will also auto-refresh on that schedule.

Supported in Bank Feeds SuiteApp 26.1.0. The AMEX Corporate Card Integration SuiteApp supports the button but cannot request a new file from American Express — it only consumes whatever file AMEX has already produced.

Plug-in Developer Action

The Financial Institution Connectivity Plug-in adds two new methods:

  • refreshData(context) — implement to enable on-demand updates.
  • getRefreshRequestStatus(context) — required additionally for Corporate Card Expenses profiles to support status polling.

Standardized Error Codes for Imports (BREAKING in 2026.2)

This is the most impactful change for integrators. Free-text failureReason values are being replaced by standardized error codes across the Banking Import History page, the Format Profile Account Linking subtab, and the Match Bank Data growl messages.

  • Yodlee: standardized codes available in Bank Feeds SuiteApp 26.1.0 as of March 11, 2026.
  • MX and Salt Edge: planned for April 2026.
  • Free-text failure reasons are removed in 2026.2 (August 2026).

Default BAI2 and CSV parsers now report parser-level errors with line number and position automatically — no plug-in changes required for the bundled parsers.

Migration for custom/third-party plug-ins

  1. Connectivity plug-ins: Replace failureReason with the new errorCode field on account errors.
  2. Parser plug-ins: Switch error reporting to the new addError API.
  3. Both: Use the new exception-throwing method for import-level errors so they map to standardized codes.
  4. Reference: Bank Import Error Codes (Reference), Error Handling for Financial Institution Parser/Connectivity Plug-ins.

If you have downstream automation (saved searches, workflows, SuiteScripts, or external systems) that parses the free-text reason strings from bank import history, rewrite that logic against the new error codes before August 2026.

Email Notification Controls

Format profiles (Bank Reconciliation, non-Manual connectivity only) now expose a Notification Email field and a Send Success Messages Too (Failure Messages Are Always Sent) checkbox for automatic imports. File uploads ignore the designated email and always notify the uploader plus (optionally) the company return email.

Four new company-wide preferences at Setup > Company > General Preferences:

  • Email Return Address When A Manual Bank Import Is Done
  • Email Return Address When An Automatic Bank Import Is Done
  • Email Return Address If A Manual Bank Import Has Issues
  • Email Return Address If An Automatic Bank Import Has Issues

Required permissions: Import Online Banking File (Create/Full) for upload notifications; Financial Institution Records (Create/Full) for automatic-import notifications. Audit any custom notification workflows — recipients and triggering conditions have shifted.

Auto-Create Rules: Enhanced Review UI

The Review subtab and side-by-side modal on Match Bank Data / Reconcile Account Statement now show a GL Account column (clickable, only visible when an auto-create rule is active), plus Memo, and conditionally Department, Class, and Location when populated. The View Details column shows the prospective transaction type (e.g., "Deposit to Be Created").

Parser Plug-in: Transaction Category (Forward-Compat)

The Financial Institution Parser Plug-in's createNewTransaction() now accepts an optional category value via the additionalFields parameter. The value is stored on the imported transaction record but is not exposed in the UI and not yet usable. Oracle is collecting this data now for future matching enhancements. No end-user impact; existing integrations work unchanged.

Recommendation for plug-in authors: Start populating category in createNewTransaction calls now if your source data carries it, so historical records exist when matching consumes the field.

Other Items Mentioned

The release note also lists HSBC Application Removal, end of support for Payment Automation, Cash 360 changes (Order Billing Lead Time script error fixes, Sales Orders with Billing Schedules included in cash forecasts), and Intelligent Payment Automation enhancements. The source page does not provide technical detail for these items beyond the headings — verify against the linked sub-pages if you depend on Payment Automation or HSBC connectivity, since deprecation timelines are not stated here.

What to do

  1. Inventory custom plug-ins. Identify any Financial Institution Connectivity or Parser plug-ins your account uses and confirm whether they are SuiteApp-provided (auto-updated) or custom/third-party.
  2. Migrate to standardized error codes before 2026.2. Replace failureReason with errorCode, switch parsers to addError, and update exception throwing per the new contract.
  3. Audit downstream consumers of bank import failure strings (saved searches, workflows, scripts, ETL into external systems) and rewrite them against the new error code reference.
  4. Implement refreshData(context) (and getRefreshRequestStatus(context) for Corporate Card Expenses) on custom connectivity plug-ins to support on-demand AISP refresh.
  5. Update custom invoice forms to expose the four new payment-prediction fields if Finance wants visibility.
  6. Review email notification routing. Set Notification Email on Bank Reconciliation format profiles and configure the four new company-wide preferences. Validate that no notifications are silently lost for users who previously relied on fallback-to-creator behavior.
  7. Configure custom import schedules on each Bank Reconciliation format profile if the legacy 4–7 AM PT window is operationally inconvenient. Remember the all-or-nothing field rule.
  8. Set Earliest Transaction Date for Import deliberately on new account linkings — it is effectively immutable after the first import completes.
  9. Decide on GenAI matching. It is on by default. If your reconciliation policy requires deterministic matches only, disable Enriched Bank Data and document the decision. Otherwise, brief reconcilers on the multicolored bar indicator and the "always review" warning.
  10. Begin populating the parser category field in createNewTransaction() to seed data for future matching features.