GSI · NetSuite Custom Development

NetSuite custom development, done right.

SuiteScript and SuiteApp work for NetSuite operators who have hit the limits of configuration. Senior US-based developers, source control discipline, and managed services in place from day one to support what we build.

Configure-first scoping SuiteCare handoff on day one

Three patterns where we recommend code over configuration.

Most custom development requests come from buyers who have not exhausted configuration first. When SuiteFlow, a SuiteApp, or a pre-built integration would solve it instead, we say so before any contract.

01

Business logic that does not exist, with no SuiteApp coverage

Industry-specific calculations like regulated commodity pricing or complex contract terms. Proprietary revenue recognition rules. Specialized inventory valuation methods that do not match any out-of-the-box flow.

02

Integrations to systems with no connector and no good iPaaS fit

Internal systems, regional partners, legacy mainframes, or proprietary devices on the manufacturing floor. Off-the-shelf connectors and iPaaS platforms (Celigo, Boomi) cover most external systems. Custom integrations make sense when no connector exists, or when there is a defensible reason to avoid another subscription.
03

Performance requirements that workflows cannot meet

High-volume real-time processing where SuiteFlow adds unacceptable latency. Batch processing where governance limits force a different architectural approach. Cases where the workflow engine is not the right tool for the job.

Discovery to deployment in four stages.

Custom development at GSI runs through four stages, with customer sign-off between each. No pricing is provided until the software development specification (SDS) is written and reviewed by the development team and validated by the project manager and line of business manager.

1

Discovery

A working session to understand the current issue, the as-is and to-be states, and the operational use cases. Output: a Software Development Specification (SDS) document with workflow diagrams and use cases. You review and approve before we move on.

2

Technical Design

Our development team writes the technical design, which our consulting team validates against the SDS and against NetSuite governance limits. The constraint check happens before code, not after.

3

Development

Agile sprints against the technical design, deployed through SDF for source control and rollback. Same developer who scoped the work also builds it, minimizing knowledge-transfer overhead.

4

Test & Deploy

Sandbox testing, your sign-off, then production cutover. SuiteCare picks up the code on day one as part of the managed services handoff, ready for upgrade testing through every NetSuite release.

Why no quote until the SDS is reviewed: estimates given before requirements are clear are usually wrong, and a wrong estimate creates more pain on both sides than a delayed quote. The scoping discipline up front is a real cost, and it is what makes fixed-fee pricing work after.

Seven categories, with the consultant-vs-developer line drawn.

Pricing developer work that a senior consultant should be doing overcharges customers. We are explicit about which category each service falls into so the right people are pricing the right work.

SuiteScript 2.1

Developer Work

Server-side, client-side, user event, scheduled, map/reduce, RESTlet, and Suitelet scripts. Common patterns: custom approval routing beyond SuiteFlow capabilities, complex revenue recognition automation, integration endpoints for systems without published connectors, scheduled data sync with external warehouses or PIM systems, custom dashboard tiles with domain-specific KPIs. All code follows NetSuite governance limits, written with upgrade survivability in mind, deployed through SuiteCloud Developer Framework (SDF) for source control and rollback.

SuiteFlow Workflows

Consultant Work
NetSuite's drag-and-drop workflow engine. SuiteFlow is consultant work, not developer work. A senior consultant builds approval routing with multi-level chains, record state transitions, automated notifications, field locking, and conditional routing. Right answer for most predictable, linear processes: expense report routing, purchase order approvals, sales order holds. We escalate to SuiteScript only when SuiteFlow cannot do what is needed.

SuiteApp Development (Private)

Developer Work
Pre-built modules deployed through SDF. GSI builds private SuiteApps for individual customers. We do not publish to the public NetSuite SuiteApp marketplace. Private SuiteApps install, upgrade, and uninstall cleanly through SDF and stay under your control. Best for: vertical-specific functionality, reusable patterns we deploy across your subsidiaries, and packaged extensions you want to deploy across multiple NetSuite environments without exposing them publicly.

Custom Records, Fields, Forms

Consultant Work
SuiteBuilder configuration for new business objects, custom fields on standard records, role-specific form layouts. Any senior NetSuite consultant on the team can do it, and pricing this as developer work overcharges the customer. Best for: industry-specific data structures NetSuite does not ship with, custom transaction types, role-based UX simplification.

Advanced PDF/HTML Forms

Hourly Billing
Custom invoices, statements, packing slips, sales orders, customer-facing forms. Branded templates with conditional content, multi-language support, dynamic field display. PDF templates are typically consultant work; HTML forms run roughly 50/50 between consultant and developer. Billed hourly rather than fixed-fee because the work is iterative by nature. Even moving a few fields on an invoice typically runs three to four hours once sandbox access, testing, revisions, customer approval, and deployment are accounted for.

Custom Portlets & Dashboards

Workbook First
Role-specific visual layers on top of NetSuite data. Real-time KPI tiles, custom analytics widgets, executive dashboards across modules. Our default recommendation here is SuiteAnalytics Workbook plus Connect rather than custom portlets. The workbook tooling is the right answer for most analytics requests, stays under your team's control between releases, and does not require us back for every change. Custom portlets only when code is required (external service calls, scripted render logic) or when native tools cannot produce the layout.

Saved Searches & SuiteAnalytics

Customer-Owned
Complex multi-record search expressions, custom KPI definitions, scheduled email distributions of reports, cross-subsidiary consolidated views. Same posture as portlets and dashboards: these are no-code tools that admins and senior end users can run themselves. We teach customer teams to do this work in-house rather than billing for it. Where we do get involved: search expressions that hit governance limits at scale, or saved searches that need to feed downstream automation.

AI-native developer tooling, on a measured rollout.

NetSuite 2026.1 introduced AI-native developer tooling. We are rolling adoption into our practice through 2026; some of the team are already using AI-assisted coding on individual modifications.

SuiteCloud Developer Assistant

AI coding companion in VS Code (Cline plugin) that generates SuiteScript 2.1 code, unit tests, and SuiteCloud Developer Framework (SDF) objects from natural language prompts. Increases developer productivity on routine work.

AI Connector Service

Secure NetSuite integration with Claude, ChatGPT, and other MCP-compatible AI systems, conforming to NetSuite role-based security. Customer use cases include natural language data retrieval, AI-assisted analysis of NetSuite records, and custom AI agents that act on NetSuite data.

SuiteAgent Framework

Custom AI agents on SuiteCloud that run on schedule or in response to triggers. Layered AI capability inside existing NetSuite workflows. The 2026.1 framework gives us a way to build custom agents on NetSuite for individual customers.

N/llm SuiteScript Module

The N/llm SuiteScript module gives developers programmatic access to Oracle OCI generative AI services from inside NetSuite code. Embeds AI capability directly into custom logic where the workflow demands it.

How we price against AI productivity: we expect AI-assisted coding to reduce development cost on routine work as adoption rolls out. We do not assume that productivity gain in current pricing. Pricing is set against the work as it is delivered today, not against what may be possible later.

The bench, the discipline, and what makes us different.

The development practice on the left, the three differentiators on the right.

Development practice

  • Senior US-based developers with significant NetSuite tenure on the bench
  • Certified NetSuite Developer credentials across the team (SuiteScript, SuiteFlow, SuiteBuilder, SuiteCloud Developer Framework (SDF))
  • Each project gets dedicated developer resources, not split across multiple people. The developer who scopes the work also builds and supports it
  • All work delivered through SDF, with source control, peer review, and deployment automation
  • Modular code architecture, documented for upgrade survivability
  • Estimation discipline that reduces mid-project change orders
  • Agile delivery with defined sprints and approval gates
  • Customer owns the code we write; GSI retains IP rights to underlying patterns and methodology under standard contract terms
  • Same team builds and supports. Code we write can be picked up by SuiteCare on day one

Three differentiators

Accounting-first developers

Most GSI NetSuite developers come from finance or accounting backgrounds before moving into code. They read your chart of accounts the way your auditor does. When you insert an item on a sales order, you are allocating inventory and triggering downstream GL events. A developer who does not understand soft versus hard allocation flags, GL impact at order placement versus shipment versus invoice, AR and AP timing, and consignment vendor implications can produce code that ships and breaks the close. We hire developers who understand the accounting before they touch a script.

Both ERPs under one roof

Same firm handles NetSuite SuiteScript and JD Edwards custom development. Matters for organizations running both platforms, including post-acquisition consolidations, parent-subsidiary structures, IT teams supporting both stacks. One contract, one accountable team.

Clean handoff to managed services

Custom code we build can be picked up by SuiteCare on day one. Same team, same standards, no separate transition project. Most NetSuite custom dev shops do not offer ongoing managed services. When their developers move on, your code is orphaned. Ours does not have to be.

Fixed-fee where we can scope it cleanly.

Our default is fixed-fee pricing for everything we can scope cleanly, and the scoping process is exactly how we get there.

We do not provide pricing until the Software Development Specification has been written, reviewed by the development team, and validated by the project manager and line of business manager. The reason is practical: estimates given before requirements are clear are usually wrong, and a wrong estimate creates more pain on both sides than a delayed quote.

Engagement size varies widely. We have delivered fixed-fee custom development that runs from a few thousand dollars to multiple six figures, depending on scope, integrations involved, and validation effort required. Smaller, simpler-looking work is the most often underestimated by buyers. Even moving a few fields on a PDF invoice typically runs three to four hours once sandbox access, testing, revisions, customer approval, deployment, and time recording are accounted for. Nothing in custom development is genuinely "just a quick change."

Where the work cannot be cleanly scoped in advance (ongoing or evolving needs), we propose hourly engagements with scoping milestones built in to convert to fixed-fee as soon as requirements are clear. Dedicated-resource arrangements for customers with continuous custom-dev needs run through SuiteCare managed services rather than as separate engagements.

Frequently Asked

Common questions, honest answers.

Configuration and SuiteFlow first, every time we can. We tell you which tier solves your problem before we write a line of code. The scoping call is where that determination gets made.

It depends on the scope, and we do not quote until requirements are documented and reviewed. The range across our engagements is wide, from a few thousand to multiple six figures. The scoping call surfaces the right answer.

You own the code we write for you. GSI retains IP rights to the underlying patterns and methodology under standard contract terms. The deliverable, the actual code running in your NetSuite, is yours.

We write to NetSuite governance limits and SuiteScript best practice with upgrade survivability designed in. We validate against each release ahead of NetSuite production rollout, and SuiteCare picks up upgrade testing as part of the managed service.

Yes, as long as the code is not locked. We do this regularly, often when the original developer has moved on or the original partner is no longer available. We start with a code audit, document what is there, and recommend what stays, what gets refactored, and what should be replaced.

We are rolling AI-assisted development into our practice through 2026. We do not currently price against productivity gains we have not yet captured. As adoption matures, we expect AI-assisted coding to reduce cost on routine custom-dev work. Quality discipline (peer review, test coverage, governance compliance) is unchanged regardless of how the code gets written.

Start with a scoping call.

Walk through what you are trying to build. Most calls end one of three ways: configuration solves it, we write an SDS for the custom dev scope, or we point you to a partner who fits better.