Stable & Efficient Solutions from Senior SuiteScript Developers

How We Help

When scripts are fragile, workflows are hard to change, reporting is unreliable, or internal requests keep piling up, most teams need experienced help that can step in, understand the environment quickly, and move the work forward.

Topaz Harbor works with NetSuite admins, business systems leads, and operators who need dependable execution on real day-to-day work inside a live account.

Work Stories

We think sharing examples of the kinds of problems we help admin teams, operators, and IT leaders solve in live NetSuite environments is the best way for you to get a sense of how we help our clients. You can read more on our services page.

Purchase order notification without a client script

Situation
A purchase order needed to show a notification based on the status of the most recent Vendor Risk Assessment (custom record) set on the vendor, and the standard workflow notification options were not fitting the business process.
What we did
We created a reusable workflow action script that displays a notification on the purchase order and configured the workflow to show it when the vendor's most recent Vendor Risk Assessment required attention.
Outcome
The procurement team got the vendor risk visibility it needed on the purchase order while keeping the solution simpler than originally planned.

Built a better contact-linking model

Situation
The client was managing delivery contacts outside NetSuite because the native contact structure did not handle one contact across multiple customers well.
What we did
We 1) finished configuring a custom record that mapped any contact to any customer and stored the contact role, such as delivery and AP use cases and 2) added custom fields to the Sales Order record that automically sourced contact information when only one contact of that type (i.e. delivery contact) was configured for the selected customer.
Outcome
Internal requests for contact information were eliminated because the right data was available inside the system.

Replaced an unusable commissions setup

Situation
The client was paying $500/month for the NetSuite commissions module but still could not support a complex commissions model.
What we did
We configured custom records for commission plans and earned commissions, then used a script much like our Data Patcher utility to calculate commissions as often as required (as frequently as every 15 minutes if needed).
Outcome
The sales team got current commission data, and month-end commission calculation and approval dropped from 2 to 3 days to less than one day.

Mitigated a 2026.1 table change

Situation
Before 2026.1, one table, `inventoryitemlocations`, could be used to view inventory levels by item and location across item types. After the upgrade, assembly items required `assemblyitemlocations` instead.
What we did
We downloaded the SuiteScripts folder, searched for references to `inventoryitemlocations`, and updated queries so assembly items were handled wherever they were in scope.
Outcome
The scripts was updated for the release change and downstream issues were resolved.

Working Paths

Monthly retainers

Ongoing support for production issues, service requests, bounded changes, and the steady stream of work that keeps a live NetSuite environment moving.

  • Built around workload shape instead of generic hourly buckets
  • Designed for teams that need reliable execution capacity
  • Project scoping included for retainer clients
Explore services

Scoped delivery

When the work is larger, net-new, or needs tighter boundaries, we scope it clearly and deliver it as a defined effort.

  • Results-focused scoping for larger initiatives
  • Clear acceptance criteria before build work starts
  • Direct communication from scoping through execution
See how projects fit into services

Resources