NetSuite Utility Extension
NetSuite Utils Extension
This started as group of NetSuite features that I developed for myself, some of my colleagues also wanted the features, and now I am sharing these publicly.
Below is all of the features listed, however the options page of the Extension has more details of each feature. All features are disabled by default and must be enabled after installation.
Note that these features can be toggled on or off if you don't want to use one of them.
The extension also comes with a \"Meeting Mode\" option, which will disable all features until you turn meeting mode off (great for screen sharing).
1. Advanced PDF
a. Floating Buttons
b. Side-By-Side Preview
c. Version Selector
2. CSV
a. CSV Response Viewer - view errors in failed imports without the need to download the response CSV file.
3. Developer
a. Drag / Drop Script Upload
b. N Module Loader
c. Record Object - View a record in JSON showing all of the field value, make updates directly in the object.
d. Record to console.
e. Suitelet Actions - Quickly open a suitelet script or deployment record from any suitelet screen.
f. SuiteQL Runner.
4. File Cabinet
a. Drag and Drop directly into the filing cabinet.
5. General
a. Get / Find Field ID
- Allow you to get field / column IDs by shift clicking the field
- You can find field / columns by searching for the ID or Label
a. More Record Action
- Edit and Save button
- Delete a record from view mode
- Quick open or add fields to custom records / transactions
- View a Transaction Tree of dependent records and mass delete.
- View scripts and workflows deployed to the current record.
- View SDF XML of any record.
b. Portlet Refresher
c. Quick find Record - find any transaction, item, script or search, with just the ID
6. Roles List
- Search options within the roles list
- Account Type Colours
- View Account ID
7. Saved Search
a. Autocomplete formula - start typing a field and a list of matching options will display
b. In Search Preview - preview the results of a search without ever leaving the edit screen
c. Quick Search Creation - add search and favourites option to the create saved search list.
8. UI
a. Better Page Titles - tabs will display the transaction number instead of the transaction title
b. Fixed tabs - tabs on records will stick to the top of the screen.
c. fixed list headers - list headers will stick to the top so they are always visable.
d. fixed first columns - great for transaction so you can always see the item on the line.
e. Log out blocker remover
f. Smaller Navigation / Dropdown / List Headers - helps to make the UI less bulky.
9. Field Service
a. Quick Config Upload
10. Workflow
a. Coloured Transitions - will change transition colours from all grey to different colours.
On the features page of the extension you can find a full description of what each feature does with screenshots.
If you have a feature that you would like to see in NetSuite, message me and I will consider adding it.
Read more
Below is all of the features listed, however the options page of the Extension has more details of each feature. All features are disabled by default and must be enabled after installation.
Note that these features can be toggled on or off if you don't want to use one of them.
The extension also comes with a \"Meeting Mode\" option, which will disable all features until you turn meeting mode off (great for screen sharing).
1. Advanced PDF
a. Floating Buttons
b. Side-By-Side Preview
c. Version Selector
2. CSV
a. CSV Response Viewer - view errors in failed imports without the need to download the response CSV file.
3. Developer
a. Drag / Drop Script Upload
b. N Module Loader
c. Record Object - View a record in JSON showing all of the field value, make updates directly in the object.
d. Record to console.
e. Suitelet Actions - Quickly open a suitelet script or deployment record from any suitelet screen.
f. SuiteQL Runner.
4. File Cabinet
a. Drag and Drop directly into the filing cabinet.
5. General
a. Get / Find Field ID
- Allow you to get field / column IDs by shift clicking the field
- You can find field / columns by searching for the ID or Label
a. More Record Action
- Edit and Save button
- Delete a record from view mode
- Quick open or add fields to custom records / transactions
- View a Transaction Tree of dependent records and mass delete.
- View scripts and workflows deployed to the current record.
- View SDF XML of any record.
b. Portlet Refresher
c. Quick find Record - find any transaction, item, script or search, with just the ID
6. Roles List
- Search options within the roles list
- Account Type Colours
- View Account ID
7. Saved Search
a. Autocomplete formula - start typing a field and a list of matching options will display
b. In Search Preview - preview the results of a search without ever leaving the edit screen
c. Quick Search Creation - add search and favourites option to the create saved search list.
8. UI
a. Better Page Titles - tabs will display the transaction number instead of the transaction title
b. Fixed tabs - tabs on records will stick to the top of the screen.
c. fixed list headers - list headers will stick to the top so they are always visable.
d. fixed first columns - great for transaction so you can always see the item on the line.
e. Log out blocker remover
f. Smaller Navigation / Dropdown / List Headers - helps to make the UI less bulky.
9. Field Service
a. Quick Config Upload
10. Workflow
a. Coloured Transitions - will change transition colours from all grey to different colours.
On the features page of the extension you can find a full description of what each feature does with screenshots.
If you have a feature that you would like to see in NetSuite, message me and I will consider adding it.
Source Manifest.json
{"update_url": "https://clients2.google.com/service/update2/crx",\t"name": "NetSuite Utils",\t"description": "NetSuite Utility Extension",\t"version": "3.7.6",\t"manifest_version": 3,\t"permissions": ["storage", "activeTab"],\t"action": {\t\t"default_popup": "popup.html",\t\t"default_icon": {\t\t\t"16": "/images/NetSuite Utils 16.png",\t\t\t"32": "/images/NetSuite Utils 32.png",\t\t\t"48": "/images/NetSuite Utils 48.png",\t\t\t"128": "/images/NetSuite Utils 128.png"\t\t}\t},\t"icons": {\t\t"16": "/images/NetSuite Utils 16.png",\t\t"32": "/images/NetSuite Utils 32.png",\t\t"48": "/images/NetSuite Utils 48.png",\t\t"128": "/images/NetSuite Utils 128.png"\t},\t"options_page": "options.html",\t"web_accessible_resources" : [\t\t{\t\t\t"resources": [\t\t\t\t"/Util%20Modules/Filing%20Cabinet%20Upload/filingCabinetUploadClient.js", \t\t\t\t"/Util%20Modules/Script%20Upload/scriptUploadClient.js", \t\t\t\t"/Util%20Modules/In%20Search%20Preview/setSubmittedFalse.js", \t\t\t\t"/Util%20Modules/More%20Record%20Actions/moreRecordActionsClient.js",\t\t\t\t"/Util%20Modules/More%20Record%20Actions/viewScriptedRecordClient.js",\t\t\t\t"/Util%20Modules/Suitelet%20Actions/suiteletActionsClient.js",\t\t\t\t"/Util%20Modules/Quick%20Load%20Record/quickLoadRecordClient.js",\t\t\t\t"/Util%20Modules/Load%20N%20Module/loadNModuleClient.js",\t\t\t\t"/Util%20Modules/Get%20Find%20Field%20ID/getFindFieldIdClient.js",\t\t\t\t"/Util%20Modules/Record%20To%20Console/recToConsole1Client.js",\t\t\t\t"/Util%20Modules/Record%20To%20Console/recToConsole2Client.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/suiteQlRunnerClient.js",\t\t\t\t"/Util%20Modules/Record%20Object/recordObjectClient.js",\t\t\t\t"/Util%20Modules/Advanced%20PDF%20Autocomplete/advancedPdfAutocompleteClient.js",\t\t\t\t"/Util%20Modules/WF%20Coloured%20Transitions/wfColouredTransitionsClient.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/codemirror.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/codemirror_autorefresh.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/codemirror_showhint.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/codemirror_sqlhint.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/codemirror_sublime.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/sql.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/datatables.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/jquery.js",\t\t\t\t"/Util%20Modules/SuiteQL%20Runner/Libs/papaparse.js"\t\t\t],\t\t\t"matches": [""] \t\t}\t],\t\t"content_scripts": [\t\t{\t\t\t"css": [\t\t\t\t"/Util Modules/Account Selector/show-account-id.css", \t\t\t\t"/Util Modules/Navigation Search/navigation-search.css",\t\t\t\t"/Util Modules/More Record Actions/more-record-actions.css",\t\t\t\t"/Util Modules/SuiteQL Runner/suiteql-runner.css",\t\t\t\t"/Util Modules/Record Object/record-object.css",\t\t\t\t"/Util Modules/NextService Quick Config Update/nx-quick-config-update.css"\t\t\t],\t\t\t"js": [\t\t\t\t"/Util Modules/Account Selector/accountColours.js", \t\t\t\t"/Util Modules/Account Selector/showAccountId.js", \t\t\t\t"/Util Modules/Navigation Search/navigationSearch.js", \t\t\t\t"/Util Modules/More Record Actions/moreRecordActions.js",\t\t\t\t"/Util Modules/Log Out Blocker/logOutBlocker.js",\t\t\t\t"/Util Modules/Fixed Table Headers/fixedTableHeaders.js",\t\t\t\t"/Util Modules/Fixed Tabs/fixedTabs.js",\t\t\t\t"/Util Modules/Get Find Field ID/getFindFieldId.js",\t\t\t\t"/Util Modules/Better Page Titles/betterPageTitles.js",\t\t\t\t"/Util Modules/Quick Load Record/quickLoadRecord.js",\t\t\t\t"/Util Modules/Load N Module/loadNModule.js",\t\t\t\t"/Util Modules/Record To Console/recToConsole.js",\t\t\t\t"/Util Modules/SuiteQL Runner/suiteQlRunner.js",\t\t\t\t"/Util Modules/Smaller Navigation Options/smallerNavigationOptions.js",\t\t\t\t"/Util Modules/Smaller Dropdown Options/smallerDropdownOptions.js",\t\t\t\t"/Util Modules/Record Object/recordObject.js",\t\t\t\t"/Util Modules/Role Finder/roleFinder.js",\t\t\t\t"/Util Modules/NextService Quick Config Update/nxQuickConfigUpdate.js"\t\t\t],\t\t\t"matches": ["https://*.netsuite.com/*"]\t\t},\t\t{\t\t\t"js": [\t\t\t\t"/Util Modules/Fixed Sublist Column/fixedSublistColumn.js",\t\t\t\t"/Util Modules/Fixed Sublist Headers/fixedSublistHeaders.js",\t\t\t\t"/Util Modules/Smaller Sublist Headers/smallerSublistHeaders.js"\t\t\t],\t\t\t"matches": ["https://*.netsuite.com/*"],\t\t\t"all_frames": true\t\t},\t\t{\t\t\t"css": ["/Util Modules/CSV Response Viewer/csv-response-viewer.css"],\t\t\t"js": ["/Util Modules/CSV Response Viewer/csvResponseViewer.js"],\t\t\t"matches": ["https://*.netsuite.com/app/setup/upload/csv/csvstatus.nl*"]\t\t},\t\t{\t\t\t"css": [\t\t\t\t"/Util Modules/Advanced PDF Buttons/advanced-pdf-buttons.css",\t\t\t\t"/Util Modules/Advanced PDF Versions/advanced-pdf-versions.css",\t\t\t\t"/Util Modules/Advanced PDF Preview/advanced-pdf-preview.css"\t\t\t],\t\t\t"js": [\t\t\t\t"/Util Modules/Advanced PDF Buttons/advancedPdfButtons.js", \t\t\t\t"/Util Modules/Advanced PDF Versions/advancedPdfVersions.js",\t\t\t\t"/Util Modules/Advanced PDF Preview/advancedPdfPreview.js",\t\t\t\t"/Util Modules/Advanced PDF Autocomplete/advancedPdfAutocomplete.js"\t\t\t],\t\t\t"matches": ["https://*.netsuite.com/app/common/custom/advancedprint/pdftemplate.nl*"]\t\t},\t\t{\t\t\t"css": ["/Util Modules/Quick Search Creation/quick-search-creation.css"],\t\t\t"js": ["/Util Modules/Quick Search Creation/quickSearchCreation.js"],\t\t\t"matches": ["https://*.netsuite.com/app/common/search/search.nl?cu=T*"]\t\t},\t\t{\t\t\t"css": ["/Util Modules/In Search Preview/in-search-preview.css"],\t\t\t"js": ["/Util Modules/In Search Preview/inSearchPreview.js"],\t\t\t"matches": ["https://*.netsuite.com/app/common/search/search.nl*"]\t\t},\t\t{\t\t\t"css": ["/Util Modules/Suitelet Actions/suitelet-actions.css"],\t\t\t"js": ["/Util Modules/Suitelet Actions/suiteletActions.js"],\t\t\t"matches": ["https://*.netsuite.com/app/site/hosting/scriptlet.nl*"]\t\t},\t\t{\t\t\t"css": ["/Util Modules/Filing Cabinet Upload/filing-cabinet-upload.css"],\t\t\t"js": ["/Util Modules/Filing Cabinet Upload/filingCabinetUpload.js"],\t\t\t"matches": ["https://*.netsuite.com/app/common/media/mediaitemfolders.nl*"]\t\t},\t\t{\t\t\t"css": ["/Util Modules/Script Upload/script-upload.css"],\t\t\t"js": ["/Util Modules/Script Upload/scriptUpload.js"],\t\t\t"matches": ["https://*.netsuite.com/app/common/scripting/script.nl?id=*"]\t\t},\t\t{\t\t\t"js": ["/Util Modules/Portlet Refresher/portletRefresher.js"],\t\t\t"matches": ["https://*.netsuite.com/app/center/card.nl*"]\t\t},\t\t{\t\t\t"css": ["/Util Modules/Search Formula Autocomplete/search-formula-autocomplete.css"],\t\t\t"js": ["/Util Modules/Search Formula Autocomplete/searchFormulaAutocomplete.js"],\t\t\t"matches": [\t\t\t\t"https://*.netsuite.com/app/common/search/search.nl?filter=*_FORMULA*",\t\t\t\t"https://*.netsuite.com/app/common/search/search.nl?formula=*"\t\t\t],\t\t\t"all_frames": true\t\t},\t\t{\t\t\t"js": [\t\t\t\t"/Util Modules/WF Coloured Transitions/wfColouredTransitions.js"\t\t\t],\t\t\t"matches": ["https://*.netsuite.com/app/common/workflow/setup/nextgen/workflowdesktop.nl*"]\t\t}\t],\t"background": {\t\t"service_worker": "service-worker.js",\t\t"type": "module"\t }}
Read more