Skip to content

Equipment Repair Management System

Multi-mode Suitelet replacing paper-based repair tracking with end-to-end digital workflow

3 Modes
Single Suitelet
11
Custom Record Fields
25
Unit Tests Passing
100%
Test Coverage
Suitelet Industrial Equipment

The Challenge

An industrial equipment company tracked all repair operations on paper forms and whiteboards. Staff had no visibility into repair status, billing was delayed, and boards were occasionally lost in the process.

Paper-Based Tracking

Equipment boards arrived for repair and were logged on paper forms. Status updates depended on physical location of the forms. When a technician was working on a board, the office had no visibility until the tech physically returned the paperwork.

Disconnected Billing

Completed repairs required manual data entry to create Sales Orders in the ERP. Each board required looking up customer, board type, pricing, and repair details -- a process taking 10-15 minutes per board.

No Audit Trail

There was no history of status changes, no record of who worked on what, and no way to measure repair throughput or turnaround time.

The Solution

I built a unified multi-mode Suitelet that handles the entire repair lifecycle -- from intake to billing -- in a single custom application within NetSuite.

Mode 1: Equipment Intake (Entry)

Staff log incoming boards with customer, EA number, board type, serial number, and well/location. The system automatically assigns a "Received" status and timestamps the entry.

Mode 2: Repair Management

Technicians and managers update status (Received, In Evaluation, Repair in Progress, Complete), add problem descriptions, repair notes, and set the outcome (Repaired - Billable vs. Not Repairable - No Charge).

Mode 3: Billing & Sales Order Creation

Office staff filter completed boards by customer, select billable items via checkboxes, and create Sales Orders with a single click. Line items automatically include the correct item, pricing, department, location, and detailed descriptions with EA numbers, serial numbers, and repair notes.

Technical Architecture

Key Technical Decisions

Decision Rationale
Single Suitelet with mode parameter Reduced deployment complexity; shared configuration; single URL with different views
Custom Record instead of Item Repair tracking needs differ from inventory management; custom fields and statuses specific to repair workflow
SDF deployment for custom objects Version-controlled object definitions; repeatable sandbox-to-production promotion
Field order matters in SO line items Item must be set first (triggers pricing engine); description must be last (can be overwritten by item change)

Sales Order Field Order (Critical)

// NetSuite requires specific field ordering for line items
salesOrder.selectNewLine({ sublistId: 'item' });

// 1. ITEM FIRST - triggers pricing engine
salesOrder.setCurrentSublistValue({ sublistId: 'item',
    fieldId: 'item', value: boardTypeId });

// 2-7. Classification fields in order
salesOrder.setCurrentSublistValue({ ..., fieldId: 'quantity', value: 1 });
salesOrder.setCurrentSublistValue({ ..., fieldId: 'price', value: PRICE_LEVEL });
salesOrder.setCurrentSublistValue({ ..., fieldId: 'department', value: DEPT });

// 8. DESCRIPTION LAST - can be overwritten by item change
salesOrder.setCurrentSublistValue({ ...,
    fieldId: 'description', value: buildDescription(board) });

salesOrder.commitLine({ sublistId: 'item' });

Value Delivered

100%
Digital Tracking
80%
Faster Billing
0
Lost Boards
25
Tests Passing

Operational Transformation

  • Complete visibility into repair status from any workstation
  • Automated SO creation reduced billing time from 10-15 minutes to under 1 minute per board
  • No more lost or misplaced repair paperwork
  • Technicians can update status independently via restricted view
  • Management sees real-time dashboard of boards by status

Technologies Used

SuiteScript 2.1 Custom Suitelet Client Script Custom Records Custom Lists (SDF) N/record (Dynamic Mode) N/search N/ui/serverWidget OneWorld Subsidiary Lookup Jest (25 Unit Tests) SDF Deployment

Explore the Source Code

The Multi-mode workflow tracker serving entry, management, and billing interfaces from this project is available as an anonymized, reusable reference implementation with tests.

View on GitHub
Ben Saralegui

Delivered by Ben Saralegui

NetSuite SuiteCloud Developer II • FlowSync Consulting

Facing a Similar Challenge?

Let's discuss how I can deliver measurable results for your business.

Let's Talk