SuiteCommerce · Case study
Many NetSuite companies sell online with SuiteCommerce but still bring new customers in by email: a PDF to fill in, a reply from Sales, details typed into NetSuite by hand. This is how we moved that whole process onto the website and into NetSuite for a diagnostics manufacturer that sells through distributors, and what any NetSuite team can take from it.
What problem did the client have?
New customers, distributors and partners had no simple way to apply online, and the team had no clear view of who was waiting, who was approved and where requests came from. Registration, approval, account setup and credit applications lived in emails and PDFs, and the old support request forms on the site were hard to change and did not look like the rest of the store.
The team wanted four things:
- One place on the website for every kind of applicant: end users, distributors, manufacturers and channel partners.
- Approval inside NetSuite, with the applicant told automatically.
- Account setup and credit applications online, signed, and saved on the customer record.
- Numbers for Sales: how many requests, of which type, from which campaigns, and how long approval takes.
What did we build?
A set of web forms on the SuiteCommerce Advanced store that write straight into NetSuite. Today there are more than a dozen: registration for each type of applicant, account setup, additional details for distributors, a credit line application, support requests for products and instruments, project requests, and short enquiry forms inside existing pages of the site.
What matters for the team is how they are managed. Each form is a record in NetSuite. Adding a field, changing a label, making a question required or showing it only when another answer applies is done in NetSuite, without waiting for a developer or a new release of the website.
Every form creates the right thing in NetSuite: a lead for a registration, a support case for a support request, or an update to the customer's own record for account setup and credit. Files people attach, such as instrument exports, are saved with the case.
How does approval work now?
With one field. Everyone who registers arrives in NetSuite as a lead without access to the store. When someone on the team sets the approval field on that lead, NetSuite does the rest:
- The applicant gets access to the store and an email telling them they are approved.
- The approval date is recorded, so Sales can see how long approval takes.
- The next steps are marked as pending: every account completes Account Setup, and distributors also complete a second distributor form.
- When the customer logs in, the store reminds them what is still missing until it is done.
The credit line application, which used to be a paper form, is now one of those online steps. The customer fills in billing details, trade references and bank, signs on screen, and the signed copy is saved as a PDF on their record while Sales gets a summary by email.
A form on a public website is open to anyone, so three rules shaped the design:
- A form can only create what it is meant to. Each form writes to one kind of record from a short, fixed list. Nobody can turn a contact form into something that edits orders or prices.
- Customer details change only after login. Account setup and credit forms work only for a customer who is signed in, and only on their own account. Knowing someone's email address is not enough to change their details.
- A typed name is not proof of who someone is. If a visitor types the name of a company that already exists in NetSuite, the request is saved, but it is not attached to that customer on the strength of what was typed.
The forms also filter out bots before anything reaches NetSuite, and they limit repeated attempts, so the team does not wake up to a list of fake leads.
Every submission is recorded in NetSuite, whether it worked or not, together with where the visitor came from: the site that sent them, the page they landed on and the campaign in the link. On top of that, Sales has a page inside NetSuite with a date range and a form filter that shows, at a glance, how many requests came in, of which type, how many are waiting for approval, how long approval takes, which approved accounts have not finished setup, and which campaigns bring the most registrations. The usual saved searches are there too, for anyone who prefers lists.
Before this, the only trace of a failed submission was a technical log nobody read. Now a form that stops working shows up as a number Sales can see.
Who built it, and how?
Our AI agents built it, and a senior engineer from our team approved every design and reviewed every change before it reached the store. That is how we work on every client: the agents do the building, testing and paperwork; a person who has worked with NetSuite since 2011 decides what ships.
The account had no sandbox, so everything was checked before it went live. A few numbers from the project:
- Ten written designs, one for each part, each approved before any work started.
- More than 800 automated checks that run before every release, from required fields to who can approve an account.
- 157 of the 184 changes written by an AI agent and reviewed by a person.
Testing against the live account also caught things no plan would have. One example: anonymous visitors on a SuiteCommerce store run with very limited permissions, so the forms could not create leads or support cases on their own. We moved that step into NetSuite, where it runs with exactly the access it needs and nothing more.
What can other NetSuite teams take from this?
- List every form or PDF a new customer has to fill in today, and who types it into NetSuite afterwards.
- Decide what approval should trigger: access, an email, the next form. If one field could do it, it probably should.
- Ask which questions Sales asks every week. If NetSuite cannot answer them today, the data is probably not being captured when the customer applies.
If your customer onboarding still runs on email and PDFs, talk to us. It is the kind of work our SuiteCommerce subscription covers.