Cross-Validation Rules Tips and Troubleshooting
Overview
This article covers practical tips and troubleshooting guidance for Cross-Validation Rules. It is intended as a companion to the Cross-Validation Rules Overview article and addresses topics that frequently cause confusion during setup and day-to-day use.
Tips
Fields and Filters
The NetSuite Field dropdown includes all transaction body and line fields in your NetSuite environment.
The Field dropdown on Filters and Requirements includes all transaction body and line fields available in your specific NetSuite environment.
Custom Fields
Note that custom fields must be sourced in order to show in the Field list.
Because the Field list can be extensive, not all fields are visible by scrolling. Use the search functionality within the dropdown to locate the field you need by typing its name directly.
The Entity field in NetSuite represents both Vendors and Customers.
When configuring a Filter or Requirement that references a Vendor or Customer, the correct field to select is Entity. NetSuite uses Entity as a single field to represent both Vendors and Customers depending on the transaction type.
When a rule has multiple Filters, a transaction must meet all of them to be evaluated.
Filters work as AND logic — not OR. If a Cross-Validation Rule has multiple filters, a transaction must satisfy all of them before the system evaluates it against the rule's Requirements. A transaction that matches only some of the filters will not be evaluated and will not trigger the rule.
Apply to Filtered Lines Only scopes Requirements to lines that match line-level Filters.
When the Apply to Filtered Lines Only checkbox is enabled on a Requirement, the system evaluates that Requirement only against transaction lines that matched the line-level Filters. When it is disabled, the Requirement applies to all lines on the transaction.
For example: if a Filter is set to Account Type (Line) Equals Income, and a Requirement is set to Class Cannot Be Empty, enabling Apply to Filtered Lines Only means only the Income line(s) must have Class populated. Disabling it means every line on the transaction must have Class populated.
Additionally, debit requirements apply only to filtered lines with a debit amount, and credit requirements apply only to filtered lines with a credit amount.
Tax lines automatically generated by NetSuite cannot be evaluated by Cross-Validation Rules.
When NetSuite automatically creates tax lines on a transaction, those lines are not accessible to the Cross-Validation Rules script. Rules that evaluate all lines on a transaction will not be applied to system-generated tax lines. Configure rules with this limitation in mind to avoid unexpected results.
Reports
The Reported Exceptions and Outstanding Exceptions reports serve different purposes and should be used together.
The Reported Exceptions report logs exceptions at the time each transaction is saved. It captures a historical record of every violation — whether the transaction was blocked (Prevent) or allowed through (Detect) — and tracks the resolution status of each exception. Use this report as your primary working view for reviewing, investigating, ignoring, and resolving flagged transactions.
The Outstanding Exceptions report runs a live query against current transaction data to identify violations that exist right now, regardless of when the transactions were saved. Unlike the Reported Exceptions report, it reflects the current state of your data rather than a historical snapshot. Use this report for periodic compliance checks and to identify violations that may have been introduced through data changes outside the normal save process.
See Cross-Validation Rules Reports for full documentation on both reports.
Transactions created by User Event Scripts will not appear on the Reported Exceptions report.
Due to a NetSuite platform limitation, Cross-Validation Rules cannot be triggered by User Event Scripts. Transactions created by User Event Scripts that violate a Prevent-type rule will not be blocked at save time and will not be logged on the Reported Exceptions report. These transactions will, however, appear on the Outstanding Exceptions report, which queries transaction data directly. If your environment uses User Event Scripts to create transactions, the Outstanding Exceptions report is essential for identifying violations introduced through that process.
Troubleshooting
Cross-Validation Rules are not triggering on CSV-imported transactions.
Cross-Validation Rules require SuiteScript to execute in order to run. When importing transactions via CSV, navigate to Setup > Import/Export > Import CSV Records and ensure that Run Server SuiteScript and Trigger Workflows is checked on the Import Options step. If this option is not enabled, the Cross-Validation Rules script will not execute during the import and no rules will be evaluated.
A Transaction Type is not appearing as an option when configuring a rule.
There are two things to check:
- Does at least one transaction of that type exist in your NetSuite environment? Cross-Validation Rules populates the Transaction Type field based on transactions that already exist in the account. If a transaction type has never been used, it will not appear as an option. To resolve this, create at least one transaction of the required type, then return to the rule to select it.
- Is the transaction type supported by Cross-Validation Rules? The following transaction types are not currently supported:
- Customer Deposit (coming soon)
- Commission
- Bin Worksheet
- Intercompany Transfer Order
- Inventory Adjustment
- Inventory Cost Revaluation
- Inventory Transfer
- Inventory Worksheet
- Item Receipt
- Item Fulfillment
- Estimate
- Transfer Order
- Assembly Build
- Assembly Unbuild
- Work Order
- Work Order Close
- Work Order Completion
- Work Order Issue
- FX Reval
- Tax Liability Payment Legacy
- Deposit Application
- Transfer
- Vendor Prepayment Application
- Netting Settlement
- Custom Transaction NTA Alloc Journal
- Cash Refund
- Vendor Return Authorization
- Return Authorization
SuiteApp Update
If the above tips did not resolve your issue, you may need a SuiteApp update. Several updates have been pushed to Cross-Validation Rules in recent weeks and your SuiteApp may not be up-to-date. To request a SuiteApp update, please reach out to Netgain Support by emailing support@netgain.tech.
