Revenue Management
NetSuite Unknown
2026-07-23

SaaS Metric Commitment Date Fields Added to Contract Renewals Transaction Forms

Enabling the SaaS Metrics feature now injects two date fields (Commitment Start/End Date) into the header and line items of Contract Renewals custom transaction forms, with auto-fill defaults and cross-field validations that may conflict with existing SuiteScript customizations on affected transaction types.

Affects:Contract Renewals SuiteAppSaaS Metrics FeatureReturn AuthorizationCredit MemoCash RefundSales OrderInvoiceCash SaleCustom Transaction Forms

What changed

When the SaaS Metrics feature is enabled, two new date fields are automatically added to Contract Renewals custom transaction forms:

  • SaaS Metric Commitment Start Date — the date the customer commits to ordering items or using services.
  • SaaS Metric Commitment End Date — the date the customer stops ordering items or using services.

Where the fields appear

Both fields appear in two scopes depending on transaction type:

  • Header only: Return Authorization, Credit Memo, Cash Refund
  • Header and line items: Return Authorization, Credit Memo, Cash Refund, Sales Order, Invoice, Cash Sale

Built-in validations

NetSuite enforces the following rules on save, which will fire before any beforeSubmit user-event scripts:

  • Commitment Start Date must be before Commitment End Date (both header and line level).
  • Commitment Start Date must be on or before the transaction-level or contract-item-level Start Date.
  • Commitment End Date must be on or before the transaction-level or contract-item-level End Date.

Auto-fill defaults when blank

  • Commitment Start Date left blank: system fills it with the earliest of form creation date, transaction date, or Start Date.
  • Commitment End Date left blank: system fills it with the transaction or contract-item End Date. If no End Date exists, the field stays blank.

What to do

  1. Audit custom transaction forms. If you have customized form layouts on Return Authorization, Credit Memo, Cash Refund, Sales Order, Invoice, or Cash Sale tied to Contract Renewals, verify the new fields render correctly and are positioned where your users expect them. Hide them on the form if they are not relevant to your workflow.
  2. Review SuiteScript on affected transactions. Any beforeSubmit or validateLine user-event or client scripts that set or validate Start Date / End Date fields on these transactions should be tested against the new cross-field validations. The system-level validation may reject records before your script logic runs if Commitment dates violate the rules above.
  3. Check CSV imports and integrations. If you bulk-import Sales Orders, Invoices, or Credit Memos via CSV or REST/SOAP, and the SaaS Metrics feature is enabled, be aware that omitting the new fields will trigger auto-fill behavior. Confirm the defaulted dates are acceptable for your SaaS metrics reporting, or explicitly supply values.
  4. Test auto-fill behavior in sandbox. The auto-fill logic for blank Commitment Start Date picks the earliest of three possible dates. This may produce unexpected results if your transaction date predates the form creation date or Start Date. Validate in a sandbox with representative data before relying on the defaults in production.
  5. Saved searches and SuiteAnalytics. The new fields become available as filters and columns on affected transaction types. Update any reporting that should include or exclude commitment-date data.

Note: Oracle's documentation does not specify the internal field IDs for these new fields. Before scripting against them, inspect the record in the Records Browser or use record.getFields() on a transaction with the SaaS Metrics feature enabled to identify the exact IDs (likely prefixed with custbody/custcol if SuiteApp-sourced, or native IDs if platform-level). The release version for this change is also not stated in the source — verify against your account's release notes under Setup > Company > Release Preview.