Skip to main content

Custom Records

What are Custom Records?#

Custom records are entirely new record types you create to store data that doesn't fit into NetSuite's standard records. They function like database tables with their own fields, forms, and access controls.

When to Use Custom Records#

Create custom records when you need to:

  • Track data unique to your industry or business
  • Manage relationships between data not covered by standard records
  • Create reference lists with multiple associated fields
  • Build specialized applications within NetSuite

Common Examples#

  • Equipment Registry: Track company assets and maintenance
  • Training Certifications: Manage employee qualifications
  • Project Milestones: Track project deliverables and dates
  • Contract Management: Store contract details and renewals
  • Quality Incidents: Log and track quality issues

Creating Custom Records#

Step 1: Initial Setup#

  1. Navigate to Customization > Lists, Records, & Fields > Record Types > New
  2. Configure basic properties:

Name: User-facing name (e.g., "Equipment Asset") ID: System identifier (e.g., customrecord_equipment) Access Type:

  • No Permission Required
  • Require Custom Record Entries Permission
  • Use Permission List

Step 2: Define Record Behavior#

Show ID: Display record's internal ID on forms Allow Attachments: Enable file uploads Allow Inline Editing: Enable quick edit in lists Allow Numbering: Auto-generate record numbers Include In Global Search: Make records searchable Enable Mail Merge: Allow mail merge with records

Step 3: Configure Relationships#

Parent Record: Link to another record type Subtabs: Allow child records to appear as subtabs

Example Configuration#

Name: Equipment AssetID: customrecord_equipmentAccess Type: Use Permission ListShow ID: YesAllow Attachments: YesInclude In Global Search: Yes

Adding Custom Fields to Custom Records#

Once created, add fields specific to your custom record:

Equipment Asset Example#

  1. Equipment Name (Text Field)

    • ID: custrecord_equip_name
    • Mandatory: Yes
  2. Serial Number (Text Field)

    • ID: custrecord_equip_serial
    • Mandatory: Yes
  3. Purchase Date (Date Field)

    • ID: custrecord_equip_purchase_date
  4. Equipment Type (List Field)

    • ID: custrecord_equip_type
    • Values: Computer, Phone, Vehicle, Machinery
  5. Assigned To (List/Record Field - Employee)

    • ID: custrecord_equip_assigned_to
  6. Status (List Field)

    • ID: custrecord_equip_status
    • Values: In Use, In Maintenance, Retired, Available
  7. Purchase Cost (Currency Field)

    • ID: custrecord_equip_cost

Custom Record Forms#

Design the layout users see when creating or editing records.

Creating a Custom Form#

  1. Navigate to Customization > Forms > Entry Forms > New
  2. Select your custom record type
  3. Design the layout:
    • Add/remove fields
    • Create field groups
    • Organize tabs and subtabs
    • Set field properties (display, mandatory)

Form Design Best Practices#

Group Related Fields

Main Tab:  - Basic Information (Name, Serial Number, Type)  - Assignment (Assigned To, Location, Status)  Financial Tab:  - Purchase Cost  - Purchase Date  - Vendor
Maintenance Tab:  - Last Service Date  - Next Service Date  - Service Notes

Field Layout Tips

  • Put most important fields at the top
  • Use clear section headers
  • Keep forms clean and uncluttered
  • Make only truly required fields mandatory

Custom Record Lists#

Configure how records appear in list views.

List View Columns#

Choose which fields appear in search results:

  • Primary identifier (Name)
  • Key classification fields
  • Status indicators
  • Last modified date

Example: Equipment Asset List#

  • Equipment Name
  • Serial Number
  • Type
  • Assigned To
  • Status
  • Purchase Date

Permissions and Access#

Setting Up Permissions#

  1. Create a Custom Record Permission

    • Customization > Lists, Records, & Fields > Custom Record Types
    • Click Edit next to your record
    • Go to Permissions subtab
  2. Configure Permission Levels:

    • View: Can see records
    • Create: Can create new records
    • Edit: Can modify existing records
    • Delete: Can remove records

Role-Based Access Example#

Administrator: Full access (View, Create, Edit, Delete) Manager: View, Create, Edit Employee: View only External User: No access

Custom Record Relationships#

Parent-Child Relationships#

Link custom records to standard or other custom records.

Example: Equipment Maintenance History

  • Create child custom record: Maintenance Log
  • Set Parent: Equipment Asset
  • Maintenance logs appear as subtab on Equipment Asset

Many-to-Many Relationships#

Use a junction record to create many-to-many relationships.

Example: Employee Skills

  • Custom Record: Skills (Web Development, Project Management)
  • Junction Record: Employee Skills
    • Field: Employee (link to Employee record)
    • Field: Skill (link to Skills custom record)
    • Field: Proficiency Level (Beginner, Intermediate, Expert)

Workflows with Custom Records#

Automate processes involving custom records:

Example: Equipment Approval Workflow#

Trigger: On Create of Equipment Asset Conditions: Purchase Cost > $5,000 Actions:

  1. Set Status to "Pending Approval"
  2. Send email to Manager
  3. Create Approval task

Reporting on Custom Records#

Saved Searches#

Create saved searches to analyze custom record data:

  • Equipment by Status
  • Assets assigned to each employee
  • Equipment due for maintenance

Joining with Other Records#

Link custom records to transactions or standard records in searches for comprehensive reporting.

Best Practices#

Design Considerations#

  • Plan your data model before creating
  • Keep it simple - start with essential fields
  • Use clear, business-friendly naming
  • Document the purpose and usage

Performance#

  • Limit the number of custom records
  • Index key fields for searching
  • Avoid too many fields on one record
  • Consider archiving old records

Governance#

  • Establish naming conventions
  • Define data ownership
  • Create usage documentation
  • Train users on proper data entry
  • Regular data quality reviews

Maintenance#

  • Review custom records quarterly
  • Remove unused records
  • Update forms based on user feedback
  • Monitor for performance issues

Common Pitfalls to Avoid#

  1. Over-complicating: Start simple, add complexity as needed
  2. Poor naming: Use clear, self-explanatory names
  3. Inadequate testing: Test all scenarios before going live
  4. No documentation: Document purpose and field definitions
  5. Ignoring permissions: Properly configure who can access what
  6. Not planning relationships: Map out how records connect before building

Migration and Integration#

Data Import#

Use CSV import or SuiteScript to populate custom records with data from external systems.

Integration Points#

Custom records can be accessed via:

  • SuiteTalk (Web Services)
  • RESTlets
  • Scheduled Scripts
  • User Event Scripts