Data Integrity
Keep your NetSuite data clean and accurate.
Why Data Integrity Matters
BAD DATA CAUSES PROBLEMS
===============================================================================
Duplicate Customers → Confused orders, split history
Wrong Addresses → Failed deliveries
Missing Classifications → Inaccurate reports
Orphan Records → Wasted storage, confusion
Core Practices
| Practice | How Often | Impact |
|---|---|---|
| Prevent duplicates at entry | Always | High |
| Validate required fields | Always | High |
| Review/merge duplicates | Monthly | Medium |
| Clean obsolete data | Quarterly | Medium |
| Audit data quality | Quarterly | Medium |
Preventing Duplicates
At Entry Time
DUPLICATE PREVENTION SETTINGS
===============================================================================
For Customers/Vendors:
Setup > Company > General Preferences
Settings:
├── Warn on Duplicate Name: ✓
├── Warn on Duplicate Email: ✓
└── Warn on Duplicate Phone: ✓
Result: Users see warning when creating similar records
Using Custom Validation
DUPLICATE CHECK SCRIPT (Concept)
===============================================================================
When saving Customer:
1. Search for existing customers with same:
├── Email address
├── Phone number
└── Tax ID
2. If found:
├── Show warning message
└── Allow or block save
Finding Duplicates
Manual Search
FINDING DUPLICATE CUSTOMERS
===============================================================================
Step 1: Create a Saved Search
Reports > Saved Searches > New
Step 2: Configure
├── Type: Customer
├── Results: Show duplicates
├── Formula: Group by Company Name or Email
Step 3: Review results
├── Compare records
├── Decide which to keep
└── Merge or inactivate others
Duplicate Detection Search Example
DUPLICATE DETECTION SEARCH
===============================================================================
Criteria: None (find all)
Results Columns:
├── Name
├── Email
├── Phone
├── Created Date
Summary:
├── Group by: Email
├── Count: Number of records
├── Filter: Count > 1 (shows duplicates)
Merging Duplicates
HOW TO MERGE DUPLICATE RECORDS
===============================================================================
Step 1: Identify the master record
Pick the one with:
├── Most transactions
├── Most complete data
└── Proper naming
Step 2: Merge
Navigation varies by record type:
├── Customers: Lists > Relationships > Customers > Merge
├── Vendors: Lists > Relationships > Vendors > Merge
└── Items: Lists > Accounting > Items > Merge
Step 3: Verify
├── Check transactions moved correctly
├── Verify history preserved
└── Confirm duplicate inactivated/deleted
Required Field Validation
On Forms
MAKING FIELDS REQUIRED
===============================================================================
Option 1: Form Level
├── Customize the form
├── Set field as "Mandatory"
└── Only applies to that form
Option 2: Field Level
├── Edit the custom field
├── Check "Mandatory"
└── Applies everywhere
Option 3: Scripted Validation
├── User Event script
├── Validate before save
└── Custom error messages
Standard Required Fields
Always require these:
| Record Type | Recommended Required Fields |
|---|---|
| Customer | Name, Email or Phone |
| Vendor | Name, Terms |
| Sales Order | Customer, Ship Date |
| Item | Name, Type, Price |
Data Cleanup
Inactivating Obsolete Records
CLEANUP STALE DATA
===============================================================================
Find Inactive Records:
├── Customers with no orders in 2+ years
├── Items never sold
├── Vendors never used
└── Employees terminated
Process:
Step 1: Create saved search to find them
Step 2: Review list (don't auto-delete!)
Step 3: Export for backup
Step 4: Inactivate (don't delete)
Step 5: Document what was inactivated
Data Quality Reports
Create a Data Quality Dashboard
DATA QUALITY DASHBOARD PORTLETS
===============================================================================
Portlet 1: Missing Data
├── Customers without email: [count]
├── Items without cost: [count]
└── Vendors without terms: [count]
Portlet 2: Potential Duplicates
├── Same email addresses: [count]
├── Same phone numbers: [count]
└── Similar names: [count]
Portlet 3: Stale Data
├── Customers inactive 1+ year: [count]
├── Items not sold in 1 year: [count]
└── Open orders 90+ days old: [count]
Audit Trail
System Notes
Every record tracks changes:
WHERE TO SEE CHANGES
===============================================================================
On any record:
├── Go to System Notes subtab
├── See: Date, User, Field, Old Value, New Value
└── Search system notes via saved search
Setup for Custom Fields:
├── Field Definition > Store Value History: ✓
└── Changes will be logged
Login and Role Audits
| Audit | Location | See |
|---|---|---|
| Login Audit | Setup > Users/Roles > View Login Audit | Who logged in when |
| Role Audit | Setup > Users/Roles > Role Audit Trail | Role permission changes |
Quick Reference
| I want to... | Go to |
|---|---|
| Enable duplicate warnings | Setup > Company > General Preferences |
| Merge customers | Lists > Relationships > Customers > Merge |
| See record changes | Record > System Notes subtab |
| Find duplicates | Create saved search with grouping |
| Mass inactivate | Lists > Mass Update > Employee/Customer/etc. |
Data Quality Checklist
Monthly:
□ Review duplicate warning reports
□ Merge confirmed duplicates
□ Check for missing required data
□ Review failed imports
Quarterly:
□ Inactivate stale customers/vendors
□ Review unused items
□ Run data quality dashboard
□ Clean up test records
□ Archive or export old data
Key Takeaways
- Prevent duplicates - enable warnings at entry
- Require important fields - validation saves cleanup later
- Find and merge duplicates - regularly review
- Inactivate, don't delete - preserve history
- Monitor with dashboards - track data quality metrics
Related Topics
- Data Migration - Importing clean data
- Auditing - Change tracking
- Security Considerations - Data protection