Marty Zigman Marty Zigman
Prolecto Labs Accelerator Templates

Tip: Learn How to Load NetSuite Custom and Standard Forms via URL

Infrastructure NetSuite



This article is relevant if you need to get access to NetSuite’s standard form definitions.

Background

NetSuite offers a powerful form definition framework using point-and-click. While you can modify forms on the fly with SuiteScript programming, most times, it is much easier to enhance the layout of forms using the point-and-click capacity.

When using a NetSuite form, NetSuite generally provides a dropdown to select a different (custom) form definition. One possibility is to hide the custom form dropdown field which will prevent users from easily changing forms. You may find, especially as an administrator, that you need to get to the built-in standard form or another one when accessing a form that offers no easy way to change to a different form view.

Note, I wrote a similar article in 2013 that is still relevant today. See Solving NetSuite Form Customization “Unexpected Error” Issues which can challenge a NetSuite Administrator while producing form customization.

How to Load NetSuite’s Standard Custom Forms via URL

To bypass NetSuite’s form loading, you can do so by specifying the ‘cf’ parameter on the URL with the correct integer. First, find the form definition you want to load via URL. For transaction forms, go to “Customization, Forms, Transaction Forms” and then review the list. Find the internal ID of the target form.

Then, modify the URL that is loading the form. For example, here is how NetSuite is accessing the vendor bills page natively (in read mode).

https://899889.app.netsuite.com/app/accounting/transactions/vendbill.nl?id=145261&whence=

Simply add the “&cf=xx” parameter where “xx” is the internal ID of the desired form such as in the following URL:

https://899889.app.netsuite.com/app/accounting/transactions/vendbill.nl?id=145261&whence=&cf=50

Fortunately, all of NetSuite’s native forms use internal IDs that are static and available under this method. Note, NetSuite should still respect any permissions that may restrict a user from accessing the form under this method.

Subscribe to Articles

If you found this article relevant, feel free to sign up for notifications to new articles as I post them.

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - YouTube

About Marty Zigman

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

6 thoughts on “Tip: Learn How to Load NetSuite Custom and Standard Forms via URL

  1. Prashant says:

    Hi Marty,

    Thanks a lot for your insightful blogs. It has been a great help. I wanted to know if there is a way to get the internal id of a custom form through suiteql or suitescript modules. Or, if we can get the list of all the custom forms present in a Netsuite instance. Please help us.

  2. Marty Zigman says:

    Hello Prashant,

    We don’t believe there is an easy way to get all the custom form IDs. But Boban, a senior on our team, offered the following pseudo code which effectively get the data out of the custom form dropdown:
    for (let x in record.Type) {
    let REC = record.create({type: record.Type[x], isDynamic: true});
    let F = REC.getField(“customform”);
    let formList = F.getSelectOptions();
    formList.forEach(function (f) {
    // f.value is the internal id
    // f.text is the name of the form
    });
    }

  3. Prashant Kala says:

    Hi Marty,
    Thanks for your help. Need one more help. We have a requirement to get the fields for VendorBill record as per the custom form selected using suitescript. So, to do so, we are creating a vendor bill record using recordModule.create() in dynamic mode and passing the custom form id. When we look at the fields in the newly created record, all of them have “isDisplay” property set to true. Even if we go and update the display checkbox in customize transaction forms page to unchecked, still the isDisplay property for all the fields is set to true. Please help.

  4. Marty Zigman says:

    Hello Prashant,

    The nature of your request is off topic from the blog post. Can you send me a note here so we can talk about it privately?

    https://www.prolecto.com/contact-us/

    Marty

  5. Elton says:

    Hello Marty,

    Do you know of a way of getting the scriptid of the form without having to load the custform record? It doesn’t seem to be possible, but maybe I’m missing something.

  6. Marty Zigman says:

    Hello Elton,

    Have you tried the search.lookupFields and select ‘scriptid’ as the field? Notice the field is available when you employ &xml=t on the URL?

    Marty

Leave a Reply

Your email address will not be published. Required fields are marked *