NetSuite: SuiteConsole Preview and SuiteQL Schema Tool Update

Published on December 8, 2022.

Earlier this week, I posted a preview video to LinkedIn of a project that I've been working on. The project is called SuiteConsole, and it's a tool that NetSuite developers can use to quickly and easily run SuiteScript. I've received a lot of inquiries about SuiteConsole, so I thought I'd provide some more information about it here on my blog.

SuiteConsole

SuiteConsole is essentially an enhanced, standalone JavaScript console. It runs on macOS, Windows, and Linux.

When the app opens, you're prompted to log into NetSuite.

Click the image to view a larger version.

You then navigate to any SuiteScript supported record, such as a sales order, a contact, etc. Once you're there, you click a button to continue.

Click the image to view a larger version.

SuiteConsole's code window will open. As a precaution, if you've logged into a production account, a warning message is displayed.

Click the image to view a larger version.

At that point you can write and run SuiteScript.

SuiteConsole automatically loads these SuiteScript modules: N/action, N/currency, N/currentRecord, N/email, N/format, N/format/i18n, N/http, N/https, N/log, N/query, N/record, N/recordContext, N/runtime, N/search, N/sso, N/suiteAppInfo, N/transaction, N/translation, N/ui/dialog, N/ui/message, N/url, N/util, N/xml

As you run code, SuiteConsole displays the number of usage units that are remaining. You start off with 1,000 units - the same number of units that you have available for Client Scripts.

Here's a screen shot showing the results of a script that loads and displays the current record. Notice that after running the script there are 995 units remaning.

Click the image to view a larger version.

Here's another screen shot, this time showing the results of a script that uses SuiteQL to select Opportunity transactions.

Click the image to view a larger version.

Notice that the usage units remaining is now 985. That's because a call was made to the query.runSuiteQL method, which consumes 10 usage units. In a single SuiteConsole session, you could call the query.runSuiteQL method 100 times, pulling up to 5,000 records in each call. So in theory, you could pull 500,000 records in a single session. (During testing, I was able to pull around 250,000 records in just under 26 seconds.)

SuiteConsole's Origin: The SuiteQL Schema Tool

SuiteConsole is the byproduct of another project that I'm working on - the SuiteQL Schema Tool, a project that I first announced back in January. After a lot of false starts, I decided to approach the SuiteQL Schema Tool in a different way - as a desktop app that runs on macOS, Windows, and Linux.

The SuiteQL Schema Tool uses a framework that is similar to that used by SuiteConsole. It makes calls to the Records Catalog API to get information about the NetSuite account's schema. It then loads that information into a SQLite "in-memory database," and uses the SQLite FTS5 Extension to build a virtual table that you can execute full-text queries against. It's incredibly fast and flexible.

Here's a preview of the SuiteQL Schema Tool, where I'm running a few full-text queries against the schema database.

Click the image to view a larger version.

In this example, I'm using a schema file generated against a NetSuite account that is configured for SuiteCommerce Advanced. The schema consists of 1,127 tables, and a total of 14,175 columns (fields).

Wrapping Up

I'm developing SuiteConsole and the SuiteQL Schema Tool using Xojo, a low-code, cross-platform application development tool. I've written about Xojo extensively over the past few months. If you'd like to learn more about Xojo, check out these posts:

NetSuite and Low-Code App Development
NetSuite: Xojo Low-Code Webinar Follow-Up
NetSuite Integration with SuiteAPI and Xojo

SuiteConsole is nearly ready for beta testing, but the Schema Tool still needs a bit more work. My goal is to release both apps in January. If you're interested, I'll be posting updates here on my blog and over on LinkedIn.

About Me

Hello, I'm Tim Dietrich. I develop custom software for businesses that are running on NetSuite, including mobile apps, Web portals, Web APIs, and more.

I'm the developer of several popular NetSuite open source solutions, including the SuiteQL Query Tool, SuiteAPI, and more.

I founded SuiteStep, a NetSuite development studio, to provide custom software and AI solutions - and continue pushing the boundaries of what's possible on the NetSuite platform.

Copyright © 2025 Tim Dietrich.