Anchor Group's Caleb Schmitz sits down with independent NetSuite developer Tim Dietrich to demo Sonar, a free AI tool that runs directly inside NetSuite. The session tackles a familiar problem: getting real answers out of your NetSuite data without exporting it, waiting on custom reports, or wiring up an external AI connector.
Sonar is built as a Suitelet, so it runs inside your own NetSuite account and uses API keys you supply from a provider like Anthropic or OpenAI. Because it lives inside NetSuite, it's fast, and it respects your account's native roles and permissions — Sonar can only see and do what the logged-in user is allowed to. It ships with a large prompt library of 265 prompts (about 20 free, the rest a one-time purchase with no subscription), grouped into categories like audit, budgeting, and more.
In the demo, Tim ran prompts such as a cash flow forecast and a customer profitability analysis. Behind the scenes, Sonar writes and runs SuiteQL queries — pulling up to half a million rows when needed — and can reach roughly 200 reports plus all of their filters. It also works with the file cabinet, drafts emails, and reads or creates PDFs, including OCR on scanned documents like a handwritten expense report. Every query it runs is visible, so you can inspect, copy, or rerun it.
Security is built into the design. Sonar isn't a separate database; it passes data between NetSuite and your chosen AI provider and stores nothing outside NetSuite. Any action that writes, updates, or deletes a record requires explicit confirmation, and admins can lock things down further by creating a read-only role for Sonar — so teams can explore data without risking unintended changes. Tim's advice: test write actions in a sandbox first.
Cost is transparent and low. The tool shows the exact API cost of each prompt in real time — the detailed customer profitability report cost about 94 cents to generate, and a simpler report ran roughly 19 cents. You buy tokens directly from the AI provider and top them up like a bucket, which keeps pricing predictable.
Sonar is a strong starting point for exploring your data, drafting and troubleshooting scripts, and prototyping ideas quickly. As Tim put it, the speed encourages you to keep digging: if it can do this, can it do that? It's not meant to replace dedicated tools like bill-capture software, and it can't control your browser or run on a schedule on its own — but it's excellent for investigation and one-off tasks, and you can even use it to build the scheduled scripts that automate the rest.
For NetSuite teams, Sonar lowers the cost and effort of getting answers from your data — turning reporting that might take an analyst hours into a task that costs cents and respects your existing permissions. It won't replace every specialized system, but as a fast, secure, in-platform assistant, it's a practical way to put AI to work inside NetSuite today.
Want to try it? Request the free Sonar bundle on the Anchor Group Sonar landing page, enter your NetSuite account ID, and Caleb's team will provision it and walk you through setup on a short call.
Caleb (00:00)
Brief introduction, if you haven't met me: I'm Caleb. I oversee our sales and marketing teams over at Anchor Group, and I try to create a ton of content across our channels, so hopefully you've come across some of it and found it useful. We work really hard to get all of our internal knowledge base published out there for everybody to take advantage of over time. This is just one other thing — in collaboration with Tim, bringing Sonar to the NetSuite community — that we're hoping everybody enjoys. If you haven't met Tim, he's a NetSuite independent developer who has been working in this space about the same number of years as me; I think I've known you over the last decade. He's brought a lot of great solutions to the community as well, outside of Sonar, like SuiteQL and other tools like that.
A little summary, if you haven't looked to see what Sonar is in the first place: it's an AI tool built inside of NetSuite. It's actually built as a Suitelet and leverages your API keys, so it's a free tool for the community, and it leverages your API keys for your cloud account. The install for the bundle is really simple to get going right away. It's kind of like the MCP connector, but there's a very large prompt library that's really built out, and there's some extra functionality that you can't do with the MCP connector that you can do via a Suitelet: better access to the data, larger batches of data, fewer limits. That's kind of why the approach is pretty useful. So we'll go through the tool overall.
It's a nice tool if you're just starting to get into leveraging AI for your NetSuite environment. We'll also cover some security mitigation, which we always need to be aware of when implementing any type of AI solution, particularly one that can write, not just read, to your NetSuite environment. We'll cover some good examples and some creative ideas that maybe you haven't come across on how we manage that. So to start with, Tim's going to provide an overview of the navigation, prompt libraries, and some sample prompt outputs that we've prepared. Tim, I'll pass it over to you to start. Give an overview of the navigation for everybody.
Tim (02:10)
All right, well, thanks Caleb. So I'm in a NetSuite test drive account, and I'm just going to dive right into Sonar. As Caleb described, it's a Suitelet, so I can just click to launch it — I've got a link to it in my shortcuts in this particular instance. It's going to open in a new tab; you don't have to do that, by the way. This is what Sonar looks like when you first launch it.
If this was the first time I had launched it and I'd never used it before, it would come up and give you a screen with all the terms and conditions, and then also a screen to help you get your API key installed in the app. We'll talk a little bit more about that later. But basically this is what you'll see most of the time, sort of a welcome screen. It's got some ideas there, so if you wanted to see how this thing works, you can just click on one of these. What it's going to do is put a prompt down in the text field. If I click on "what can you do," it basically says, list your tools and what each one is best for. So I'm going to go ahead and submit that.
As it's doing that: again, this is running inside of your NetSuite account. It uses the account, the role, and the permission that you are logged in as. That's what Sonar has available to it. What this particular prompt is doing is going through a list of all the things that I've built into Sonar — all of its tools, its skills, if you want to think of them that way. If I scroll up, you can see they're grouped into things like file management, the ability to run queries, and run reports. It's a pretty exhaustive list of things it can do.
I should point out it can do all these things, but it really does depend on who you're logged in as. I happen to be logged in as an administrator in this account, and I did that so I can show you a wide range of the things that Sonar can do. But if I was logged in as, say, an accounts payable person, I'd only be able to do the things that that role has permission to do. In other words, Sonar uses NetSuite's native security and permissions model. There's no getting around that. So we'll probably end up having a lot of questions around what that really means, but in general, that's how I describe it. So that was just an ad hoc prompt that I chose from that starting page.
Before I continue, I want to give you a brief tour of the app itself. Up in the top at the toolbar, it'll tell you what AI model you're currently using. I'm using Anthropic's Sonnet 4.6. If you click on it, it'll open up the settings and let you change the model, or you can change the provider.
I do prefer Anthropic, and the reason I use Sonnet 4.6, as I described earlier, is that I think it's the "good enough" model for the kind of AI analysis we're doing in Sonar. That being said, I prefer Opus 4.8.
I'm going to just run with Sonnet 4.6 today. So it tells you what model you're using, and you can change the model at any time. There's support for dark mode for those of you who like that. You can export the chat transcript using that button there. The settings is just what you saw when I clicked on Sonnet — the same dialogue. There are other options here for what you want to see and when. I'm not going to talk too much about the project in this particular webinar; that may be a good one for the future. Then, if at any time I want to start a new session with Sonar, I can just click on "new." What it will do is ask me if I want to discard the current conversation. I'll just say okay, and then I'm right back to where I started when I launched Sonar.
There are some buttons at the bottom I want to talk about real quick. There are some examples, kind of like what you saw on the splash screen — just quick things like "find me this sales order," for example. There were other examples in there as well. So it's going to look up the sales order, and as it's going, you can see it'll show you exactly what it's trying to do. It realized that it needed to run a query to get all that going. You can see that the first one it tried failed, because it had a column it was referencing that isn't in this instance. It's not unusual for it to do that, and I'll talk more about that in the future. But then it got it right on the second try. Then it's showing other queries that it's run, and down below, here's all the information about that particular sales order I asked about, including the financial information, the line items, all that good stuff.
So that was examples. The prompt library that Caleb mentioned at the start — I think it's 265 prompts in the library. 20 of them are free; the rest will be paid. It's going to be a one-time charge, so there's no subscription or anything. Buying the library unlocks all the other prompts. They're grouped into different categories, so if I click on audit and assurance, or budgeting, you can see the prompt list changing down below. You can search by keyword and stuff like that. I'm going to pick one here. Let's see — I'll search for the cash flow forecast generator. When I click on one of the prompts in that modal, it'll load the prompt and start running it.
So this is what it's doing. It's running some queries here to resolve the prompt. If you want to see the prompt, you can just click on "show prompt." There's the full prompt right there. You can see it's running a whole bunch of different queries. It's got all the data it needs now, so it's putting the report together.
While that's running, I'll point out some of the other options and buttons down here at the bottom. We have a button that'll take you to the Anchor Group website and show you a tutorial and some documentation about Sonar. There's also a button you can click to provide feedback about the app, so if you've got ideas or you're running into problems, you can click there and fill out the form. The artifacts button doesn't have anything yet because it's still working on the report. But as you continue on in this session and it starts to generate output for you, all the output it generates throughout the session will be available through that button. So when it gets this first report done, we'll see it pop up.
The other button worth pointing out is this one that says "queries." All the SuiteQL queries it's running to resolve that prompt are always available to you right there. You can see what it ran and whether it worked or not. You can copy the query, rerun it, download it, or download the whole batch. If you're a developer, this can be really nice, because if you think it's doing something wrong — or it's doing something right and you want to replicate it in some app — it's a good place to go and grab the queries. You can see that one of them actually was wrong: it was the one where it tried to reference a column that wasn't there. So that's kind of interesting too.
It's still building the report, and you can see how long it has taken and all the steps along the way. While that's still running, I want to point out a couple of other things. Down here at the bottom, where that dollar amount is, that's how much it has cost us to send that prompt up to — in this case — Anthropic's API. It's cost us 19.4 cents. If I click on it, you can actually see how it's figuring all that out, what went into it. It's sent nine different requests up to Anthropic at this point. That's the amount, and you'll see it jump when we get the report back.
Caleb, while this is running, do we have any questions coming in yet?
Caleb (11:32)
Yeah, I've been answering a number throughout the chat, and I'll just state a handful that I've answered so far. Are you able to create your own prompts and add them to the library? That's a good next step here, and I know we normally cover that. But can we explain what that process is while we're waiting?
Tim (11:52)
Yeah, so what you can do — and maybe if we get a chance, I'll demonstrate it — you can create your own prompts in here, or even take one like in this case that I pulled out of the prompt library that's online, and you can create your own or modify it, whatever. You can actually tell Sonar to save that in a folder in your file cabinet, and that folder can be private to you, or maybe you're sharing it with other developers or admins in the account. Then you can use Sonar in the future to say, "go grab my prompt out of our local library," or update it, whatever you want to do. So in a way, you can use Sonar to make your own prompt library and store the prompts directly within NetSuite itself, so that they can be shared and you can collaborate on them.
Similarly, you can take the output of a prompt and save it in the file cabinet as well. You can just tell Sonar to save this in that folder, and it'll automatically date and timestamp it. That's really nice. That's good timing, because it did finish building that report, the cash flow forecast. What I can do is just click right here to see it in a new tab.
So here it is. If you read real fast, you might be able to see exactly what it did. But there it is — that's the output. Of course, I could go back to Sonar and start asking questions about the report: ask it to go deeper on certain things, or explain how it came up with certain values. It does give you access to the report; you can download it here as well. If I click on it, it'll automatically save it, and then it gives you a summary of what it created. As I said before, now that we have one artifact in this thread, that artifact is also available here. So if I continued to ask it different things and it created other reports or other versions, those artifacts would show up here as well, and you can easily view them, download them, and so on.
But if I wanted to save this report in my file cabinet, I can go into Sonar — I have a folder set up for that, then "saved reports." I can tell it to go to my Sonar AI saved reports folder and store that report in it. It's easier for me to just give it the ID. So I'm just going to say, please save the report in the folder. What it's going to do now is look at its skills and the tools it has available, realize that it can hit the file cabinet, and take the file and write it to the file cabinet — hopefully. You never know with AI, and also when you're on a live webinar. So while we're waiting for that — Caleb, are there other questions?
Caleb (15:18)
Yeah, I want to address a few things within the chat; I'm just answering some questions. The tokens are purchased directly from Anthropic and Claude. I go through an install guide and show how to set up your API keys. If you're using Claude specifically, I'll show you how to set up the API keys and connect it. I loaded it with an initial $10 of tokens, but you can configure it — it's just a bucket of tokens at a time. It's different if you've got a pro account; your API key tokens are kind of a separate fee, but they're really just like refilling a bucket at a time. The little tracker there shows you how that is being used across the board. I was curious if you could help explain, for those who aren't really familiar, how efficiency works with API keys and what we're doing to make it as efficient as possible when leveraging those tokens.
Tim (16:12)
Yeah, so when you click on the dollar amount, it breaks out where the token usage and the costs have gone. You can see that eleven calls have been made to the Anthropic API, how many input tokens were involved, and so on. If you need a primer on AI, there are a million of them out there that'll explain some of these concepts. But to answer your specific question: one of the things I'm trying to do is cache and be as efficient as I can when it comes to what we send up to the API — when we're moving data around within NetSuite itself, between NetSuite and Sonar, or even Sonar and the Anthropic (or whatever) API you're using. I try to use encoding in ways that are a little tighter than normal. For those of you who understand JSON and stuff like that, I'm trying not to use that whenever I can, and trying to use something called Tune. I'm really just trying to stay on top of the trends and the latest developments for maximizing every call made to the API, so we're not being lazy about it. I don't know if that really answers the question, but we're trying.
Caleb (17:32)
Yeah. And then, what other solutions other than Claude — what other LLMs are available?
Tim (17:38)
Yeah, so if I click up here, these are the providers we support. Every time I click, the background is moving, so — there we go. Anthropic, OpenAI, all the big guys, we've got in there. As I was saying, I prefer Anthropic's models, but I know other people don't. The ones we support at this point are all listed here. As I said before, I think Sonnet 4.6 is probably the one you're going to get the most bang for your buck with; it's good enough and fairly inexpensive. That being said, most of the time I'm using Opus. And then there's Fable Five — I didn't have a long enough time to play with it to really see the benefit of what that one does, but I'm excited to get it back if we ever get it back.
So there you go. That did finish, by the way. It saved that file to the file cabinet, and if I go into the saved reports, there it is — that cash flow forecast. If I click on it, there it is. So it's really nice that you can save the output right into NetSuite, and then share it with other users. You can also do things like email the report to Caleb. If I do that, it'll draft an email and address it to Caleb. It'll even figure out who I'm talking about — it'll do its best, anyway. It'll put a subject line, attach the file, and then, before it sends it, it'll ask you if you really want to send it. If I say yes, it'll email it through, basically using SuiteScript to do it. So it's pretty wild.
Caleb (19:31)
Can you give me a little example of the NetSuite MCP connector and the main difference with Sonar? I gave a couple of previews in the beginning, but just highlight a handful of examples.
Tim (19:44)
How it's different, maybe between Sonar and that. Because Sonar is actually embedded inside of NetSuite itself, there's no pipe, if you will, between the AI client you want to use and NetSuite itself. The speed is significant as a result, and the efficiency is significant. It also has the ability to retrieve large amounts of data from SuiteQL, up to a half a million rows if and when it needs to, which is pretty wild. It has access to all the reports — the full set of reports in the NetSuite account, again depending on the role you're logged into — and all of the filters available for those reports. As a matter of fact, if I ask it to give me a list of reports that are available, it'll hopefully do it. It should be around 200, I think. So it has access, and again, I'm logged in as an admin, so I have access to all these reports. I can run any of those reports, and I also have full access to all the filters on them. So I could say, for the balance sheet report, give me a list of all the filters that are available, and then tell it, okay, let's run that report — here are the filters I want.
Caleb (21:14)
So in short, a good chunk of these things are going to run SQL queries. You just need to make sure that when it's figuring out what the SQL queries need to be, you can always view them and expand them to verify they contain all the information needed. I know Nicholas just had a quick question about the artifact you created: how are you determining the data it generates is accurate, even between API partners? But effectively, it's just taking that SQL query, running it, and using those results itself.
Tim (21:51)
That's a bigger question. Part of it might be being able to look at what it did — how did it get the data it used for the report? But if you want to get better, or confirm that it's accurate, there are a lot of different techniques you can use. That's probably a webinar in and of itself. But to give you some ideas of the ways I do it: you can actually ask Sonar, how did you come up with all that? Some of the reports it generates, it'll show you line by line where it came up with this and what assumptions it made. Another technique is to use either a different model or a different provider and model — in other words, get a second opinion of what the first one gave you. There's no guaranteed way to say that the data or the reporting it came back with is accurate, but there are things you can do to mitigate it from doing things like hallucinating. The other thing is that you're really pulling the real NetSuite reports, so wherever possible, you can tie that back. You should have it confirm that the values it came up with tie back to what NetSuite itself is reporting. I could go on and on, but there are a lot of ways you can dial up whether or not what it's telling you is accurate. That being said, it's AI, so there's no guarantee it's going to be a hundred percent correct a hundred percent of the time.
Caleb (23:42)
One thing I would do is use it to start building the initial SQL queries. Then I would understand the output as a starting point for where I'd go from there, and I would save that query to repurpose. You can even use that outside of Sonar, just to run it as needed, when you have full confidence in exactly what the SQL query looks like and what's included and excluded. So sometimes just using the tool to get you to a starting point, to take it across the finish line, is a good way to verify and understand what is going on in the report too.
I want to cover a few things around security. To start off with, Sonar is not a separate database. It is not taking the data outside of NetSuite and storing it anywhere. It's just a Suitelet. It's just passing the data with the API keys and reading that data with NetSuite. So it's not going anywhere else. People worry a lot about security, and I agree; I'm also constantly aware of that and making sure you have the rules and permissions. Tim, while we're doing this, I'm going to explain the creation of a role. When an admin first sets up Sonar, they may want to create a role that's just read-only, with access to the Suitelet specifically. If you're not familiar with roles and permissions, you can also set roles and permissions for the Suitelets themselves. So even with your admin role, you could turn off the ability to access Sonar AI. Then you could make a copy of an admin role, make it a read-only admin role, and give that role access to leverage Sonar. That's a good way to force people to toggle to the right role before they even use Sonar in the first place, if you want to totally remove the ability to create any writing functionality to NetSuite directly. So for those NetSuite admins who want to keep the rest of their team in line: even though their main role may allow them to create and edit, you just don't want to allow them to do it via any AI tool. I would create a view-only copy and have that role be the only one that can access Sonar, and remove it from their actual role that they write and edit with. Thanks for running that, Tim. Do you want to walk through it real quick?
Tim (26:22)
Yeah. Trying to get the window off to the side. So while you were talking, I had it create a new NetSuite role that only allows the user to read customers and contacts, and it has the tools it needs to do that. It's all primed and ready to go. Right here, before it really does it, you can approve it or tell it no, don't do that. With any action you take through Sonar, if it's something that's going to write back to NetSuite, or update or delete something, this is the kind of dialogue you'll see — the confirmation. So I can tell it, yes, always allow this role or tool to be used; or I can approve it one time; or I can deny it. But you always have the final say when it's about to change something in your account. That's regardless of whether you're in a production account or not, and regardless of whether you're an admin or not. So we really go out of our way to make sure you understand what the AI is going to do, and you have a chance to get in the middle of it.
Caleb (27:38)
If you're just getting started figuring out what to play around with, I would enable it just for writing on your sandbox environment, and never allow it other than read-only on the production side. That's a good, safe way overall, because it can access quite a bit of information. Now, some other ideas to make it more effective: it can generate these reports, and you can store them and download those files. But you can also store your brand voice in the file cabinet — everything related to your brand — that you can fetch, surface, and modify, in addition to those other prompts you may have. So all that data can be stored in and referenced within the file cabinet, which is pretty useful.
On feedback, I know I've got a number of questions to answer here in the chat. I'll try to get to as many as I can. When you get Sonar, I'll get it provisioned to you all here; I'll provide a link shortly. But there's that submit-feedback button down there that Tim's highlighting. Feel free to add any ideas or things you wish it had. We're trying to take the input of the community here, and as we have time, we make modifications as we go. I've had a few questions on your prompt library, Tim — the one you released before — and how it's different from this one. What I've explained so far is that it's mostly the same, but some more things are being added here versus the other one, and they're easier and quicker to access here. But do you want to confirm that?
Tim (29:28)
Yeah, there are a lot more prompts in the library that's built into Sonar, whether paid or not. The variety is significant. They've also been optimized to run under Sonar, so they're typically not as verbose as the library I released earlier — last year, whenever that was. And I'm trying to find a way, if you did purchase the prompt library from me in the past — the one that was sold through Gumroad — if you reach out to me, I can get you a discount on the library for Sonar. So just send me an email if you purchased it in the past and you're interested in getting the one for Sonar, and we'll make it work.
By the way, while you were doing that, Caleb, I started a new thread and just put in, "I'm the company's new CFO, what should I know?" It looked at the NetSuite instance and came up with some really high-level information about how the instance is set up: accounting periods, what features are enabled. These are the kind of things that, if you're new to NetSuite or new to AI, are nice to have — being able to run these kinds of prompts can get you up to speed pretty quickly. We've got some other prompts I'll be adding to the library, I hope within the next week or so, that are geared to admins and developers — things like, take a look at this script and tell me what you think; look at it from a security perspective; look at it from a coding perspective; what improvements could we make? It can even make the improvements for you and give you a new version of a SuiteScript file that includes all of its suggestions. It's pretty wild. I can run that if we have time today.
Caleb (31:40)
For clarity, the one thing you can't do is a script deployment, but it can modify the file after the script has been deployed.
Tim (31:51)
Yeah, it's the one thing I have not been able to get it to do, and I think it's a SuiteScript limitation. As far as I know, you can't use SuiteScript to create a script record or a script deployment record. But once it is created, you can have Sonar continue to update the underlying file for the script, and then you can use it to iterate, make changes, and so on. That's the one thing I haven't been able to get it to do, and I'm actually kind of fine with that. It's one of those things where I feel like I want to always be involved in setting up a new script and a script deployment. I'm not quite there yet where I'm ready to trust it with creating scripts willy-nilly.
Caleb (32:39)
Got a couple of people asking, and I'll address this now: they're wondering how they get it right now. There should be a link that you see on the screen, "Request the free bundle here." It goes to a landing page. From there, there's a button that will say something like "get free access." It's just a form; it'll have you enter your production or sandbox NetSuite ID. If you don't know where that's accessed, it's just in the URL when you're logged in directly into NetSuite. Go ahead and select that, and I will get notified of it. I will get you provisioned, and I'll have about a 30-minute call just to make sure you got everything installed and it's working properly, make sure you understand the API keys, answer any final questions, and let you pick our brain on it. I also want to collect feedback on things we haven't considered yet, because it's a very community-driven project. So go ahead and submit that.
From a timing perspective and how to get it, that's where it's located. Again, it's totally free. There are only two components that are paid: unlocking some of the premium prompts outside of the roughly 20 free ones, and purchasing the tokens directly from Anthropic. But you can still use it without purchasing premium prompts and take advantage of a lot of the features. There's no free versus paid version; we just plan to continue releasing new features as we collect input. The only paid things would be paid prompts over time that we continue to think of and add value with. For instance, we're starting to add things into file cabinets when we're working on client accounts with Sonar, as we have permissions to do so, so that we can get "lay of the land" reports across the board.
So I think that answered a number of the questions here. There are two others that I don't actually know — I haven't looked at it, Tim. Within system notes, if there's any writing done via Sonar, does it just log it as the user, as if it's a UI change or a script change? Or is there any differentiator on what specifically wrote it?
Tim (35:05)
That's a really good question. It should be the user, because basically everything Sonar is doing, it's doing through your authenticated session. So I'd have to verify that, but that should be what you see — the user. I don't think it would have any way of telling you that, for example, if I created a new customer today, it was Tim Dietrich who did it using Sonar. I'd have to think about that, but I don't think it would be able to tell that it was through Sonar, and I'm almost positive that's the case. It just looks like any other Suitelet that made the change or created the record.
Caleb (35:52)
Okay, a couple more questions. Can it be used from a script or workflow, or is it available via the chat interface? I'm doing my best to interpret it.
Tim (36:05)
Yeah, I think I know what's being asked there. And no, it doesn't have an API in and of itself, so there's no way to hook into it. It's a really interesting idea though, because if we could do something like that, you could start to chain some of these things together. There's also currently no way to run anything through Sonar on a schedule. So if you have a great prompt and for some reason want to run it through Sonar — say every day, and it's going to put the resulting output somewhere — so far we're not really doing that. But what you could do is use Sonar to create a scheduled script, or whatever script type you want, that could actually do those things. You can use Sonar to write scripts. As a matter of fact, while you were talking earlier, I asked Sonar to —
Caleb (36:40)
Like an alert or something.
Tim (37:00)
— look at the instance and tell me all the RESTlets that are in it. It gave me a list of them. Then I asked it about a specific RESTlet — what does it do, all that good stuff. So this is it looking at existing scripts, but it's also not a stretch for it to create them for you. And again, the only thing you have to do on your end is create the script record and the deployment record, and then it's just a matter of working with it to iterate and make sure it's really doing what you want. I think you said this earlier, Caleb: when you start doing that kind of work, I would highly recommend you do it in either a sandbox account or a test drive account if you've got something like that. Don't do it in production to get started, unless you are brave. Not that I have a lot of doubt —
Caleb (37:55)
The answer is don't do it. Victoria has a good question here. Does it have a tool to get, download, and read PDF printed invoices — being able to perform a comparison between a vendor bill attached and the vendor bill recorded data? I'll answer first and you can confirm.
Tim (37:58)
Yeah. Use common sense.
Caleb (38:24)
You can attach a PDF there in the chat and say, compare this, find the invoice number or PO number or whatever, and find the best match. I don't know if it's going to print any data out of NetSuite and then compare it, but it could look directly at the vendor bills and POs and the data itself.
Tim (38:50)
Yeah, so one way to answer that question in a broad way is that it can handle binary data. Whether it's creating a PDF for you or reading an existing PDF, it can do it. I don't know that I would do it in bulk, because it just depends — I say that because I think your cost, if you've got hundreds of vendor bills coming in and they're all sitting in a folder in the file cabinet — I think you would want to keep an eye on the cost to see if that's really the most efficient way to do it. But having said that, yes, it can generate the PDFs for you. If I had a sales order number in front of me, I could tell it to create a PDF, like a confirmation on a sales order. It can do that, and it can also read existing PDFs. So it could do things like —
Caleb (39:26)
Yeah.
Tim (39:50)
— the three-way match, or look at an expense report that's come in scribbled on a piece of paper. It's pretty amazing what it can do when it comes to the OCR type of functionality you need for some of that stuff. But again, I'm not sure this would be the right venue to do it.
Caleb (40:13)
Yeah, it's not really a replacement for bill capture or any bill-capture solutions on the market. There are actually quite a few that do that as part of their solution, to help match them and flag them; I've got lots of people I would recommend for that type of solution. But if there are just one-off things you're trying to take a peek at, then I think it would work well for investigating — if you're having a hard time finding the vendor bill, but you've got it in your NetSuite environment, and you have this invoice and you need to find the ones that have these rows or similar data. It could help for investigative purposes.
Some other questions. There's somebody who says they work as a consultant. How can it be used to work in multiple accounts? It would need to be installed in each account individually. Because I'm provisioning these, just ping me and let me know that you're a consultant doing that, so I can respect some boundaries there. We would provision that bundle to that environment, and you could run the install from there.
Do you want to get rolling on another example here while I answer some other questions throughout the chat and get them teed up, Tim?
Tim (41:36)
Yeah, let me pick another prompt that might be a good representation of what it can do. So I'm running a customer profitability analysis right now. All the ones I've shown, by the way, are free — part of the free library.
Caleb (41:55)
This is a pretty good question, Tim; I'm going to put it up here and tee it up. Have you identified any design patterns for optimizing scripted records and analyzing performance, or the APM results, to remove the technical debt and probably speed up the environments — maybe make sure they're not overutilizing transaction lines unnecessarily? Those are just some examples.
Tim (42:23)
Yeah, there are some pretty crazy prompts available in the library that talk about things like that — that'll do analysis on what you're using and what you're not, and where it seems like things are excessive. It's not doing anything in terms of performance, like how fast or slow something loads, although you could probably get it to do that if you really wanted to. But there are a lot of prompts in the library that don't have anything to do with financial analysis, and I'll bring the list up when this finishes. There's some good stuff in there. The nice thing — Caleb and I were talking about this earlier today — one of the things I think is cool about Sonar being so fast and right there in your NetSuite instance is that it encourages you to explore. You're not having to wait forever for something to come back to see if it's possible or how good it is at certain things. The speed of it encourages you to keep digging deeper, and you get into that "well, if it can do this, can it do that?" rabbit hole. There have been times where I've just been amazed at what it can do, especially when it comes to things like creating scripts for me. It's kind of shocking. But your mileage may vary.
Caleb (43:55)
This is a good related question. Can it create a script with complex logic and handle the governance usage?
Tim (44:02)
It can take the governance into account, for sure, and I've had it do that before. So I don't know if that really answers the question, but it is aware of it. And if you do have it create a prompt or a script — whether it creates it, or it's something that somebody else creates and you start running into problems with it — it's really good at helping you troubleshoot it. It can see the logs and all that stuff. So if something starts to fail and you're just at a loss as to why this is happening, you can sic Sonar on it and say, hey, go figure this out. It's pretty cool.
Caleb (44:47)
And just while this is running, can you expand that SQL so they can see the multiple steps? If you're unfamiliar with SuiteQL, another one of Tim's tools that he's released, we're in the middle of making it a little easier to access. You can always create copies, move these over along the way, expand it, and see all the options, and utilize those as a starting point in the future if they're ever having a hard time. You can also store those types of results in the file cabinet as a good way to reference them. If you've already worked through a particular SQL query manually, to give some human interaction for it to learn from, you can store those files for it to reference in the future too, and use it as some context to learn from your NetSuite environment.
Tim (45:42)
Yeah, so what I was doing there is I jumped over to Sonar and copied — I saw one of these, I forget which one, might have been this one — I copied the query from it, took it over into the new version of the SuiteQL query tool, pasted it, and ran it, and you can see the results. So if you're really curious about what Sonar did, you can come over here and play with that query. So there's that. Let me see if it finished. Are there other questions while we're waiting?
Caleb (46:15)
Let's see. We kind of talked about the main advantages of using Sonar versus the MCP connector, but we'll address it real quick again. I think the biggest one is the amount of lines it can read at a time. I can't remember — what is it, like a thousand lines?
Tim (46:31)
So it's a half a million rows at a time that it can pull back through a SuiteQL query. I think it's a thousand at a time; maybe that's higher now, I don't know. I'm sure somebody in the group knows. But that's part of it — speed in general, and the ability to get massive amounts of data from SuiteQL.
Caleb (46:36)
Sonar can. And then, do you recall what the MCP connector can do versus that?
Tim (46:57)
Full access to all the reports, including all the filters, which is important; the ability to get to the file cabinet; send email. There's just a lot of things that I'm sure the MCP connector either can do already or will soon be able to do, but I think that just having AI embedded within your NetSuite instance comes with a lot of advantages, and I think speed is probably one of the biggest ones. The other part of it is just the convenience. I'm not jumping out to Claude Code or ChatGPT; I don't have to worry about getting the MCP connector wired up. You log into your account, click on the link, it opens up, and you're ready to go.
Caleb (47:49)
Another good question. Does Sonar have the option to take over the browser and perform actions for you? No.
Tim (47:55)
No, no. I do have a solution that's similar to that, but let's not go there — it'll make things even more confusing. But no, it can't control the browser. It can't do anything without you being involved in it.
Caleb (48:13)
Can you save these prompts as shortcuts in NetSuite? You store them as a file in the file cabinet, and you can write that file directly from within Sonar.
Caleb (48:23)
Well, they're not a shortcut per se, but I think you would just shortcut the URL to Sonar. Actually, you just bookmark it.
Tim (48:25)
Not really, no. It's an interesting idea, because what we could do is definitely possible. One way I could see us doing it is adding support, like we talked about earlier today, Caleb, for script parameters or URL parameters that say, launch Sonar and do this — immediately load this prompt out of the file cabinet and just run it.
Caleb (48:58)
Yeah, for the context of the business — gathering a bunch to basically get a lay of the land before.
Tim (49:01)
Yeah, or even just run a prompt, take the output — I don't know. But we could certainly look at that. My advice for something like that, if you're feeling adventurous, would be to go to your sandbox account and use Sonar to work toward creating a Suitelet that does everything we just said. Whether you put it on a scheduled script or what have you, you're going to get a lot more flexibility that way. I think you could probably pull that off whether you're an experienced developer or not; you could use Sonar to build a script that does that and then continue to enhance it going forward. For example, you could have it create a scheduled script that ran every day, ran certain prompts, took the output, maybe emailed it to certain people, and dropped it in a couple of folders in the file cabinet. So it's not really Sonar acting as the engine for all that, but you'd use Sonar to build that thing. That's where I think it gets really exciting. As a developer, it's like having somebody you trust sitting right next to you.
Caleb (50:28)
Some final thoughts, since we've got a few more minutes. I put the link on the screen again if you want to request that free bundle. Again, I'll be provisioning it and having about a 30-minute install session with all of you. There's a mix of people across the board here, and if we haven't interacted before, hopefully say hello. We like to be really open to the NetSuite community. Stay engaged on our LinkedIn channels. There are a lot of prompt ideas that people submitted when they first registered, and we'll be showing more examples on our LinkedIn profiles — between myself, Tim, and the company page. So stay tuned on those examples and get inspired. This is really community-driven, so submit that feedback with the submit-feedback form within Sonar as you start using it. I'm excited to see what you all come up with, because we're really excited to continue expanding its functionality as time allows. It is a free product for the community. So don't be a stranger; know that we're here to answer questions whenever you have them, and to stay active in the community. I wanted to thank you all for joining. We'll stay on for a few more minutes if there are people who have miscellaneous questions; I'll try to get to any remaining ones. I think there are only about two left that I've got to get to, but we'll continue staying on for a few more minutes. Thanks everybody for joining today.
Tim (52:00)
So, Caleb, that report did finally come up, and you can see why it took so long — it's pretty in depth. And then there's the interesting-looking chart.
Caleb (52:03)
Perfect. Yes.
Tim (52:13)
So it did a lot of work — no wonder it took so long. What I like about this type of report is that it shows you the data lineage — the way it was thinking, the methodology it used to build out this report — and then anything you might want to take a second look at. But there it is; it's a pretty thorough report. I'm glad we didn't run that right from the beginning, because that may have been the only thing we were able to do in the time. But it's a good one; it's worth the wait. And going back to Sonar, how much did that cost? Ninety-four cents. So it built that report out — how much would it have cost to actually hire somebody to build that for you, or how long would it have taken you to do it yourself? I'm sure it was worth at least ninety-four cents. So I hope so.
Caleb (53:09)
Yeah, or at least, even if it gives you within the ballpark of the answers you need to know, sometimes that's good enough too. It's just like, I just need enough to make a decision on, with some variance. So, a couple of questions here. Does Sonar always use a single NetSuite concurrency, or is that in consideration at all? I don't know the answer on that.
Tim (53:32)
So it's kind of interesting, because it's essentially a single-page application, in a way. It's a Suitelet. So the concurrency — it's not hitting anything that's going to impact concurrency on other integrations you have. In NetSuite's eyes, what's happening here is a user making a whole bunch of different SuiteQL query calls, running reports, and things like that. So you kind of have to think about the concurrency and governance with this in a slightly different way. It's not making calls back to a RESTlet. I hope I'm explaining it well, but it's just different because of the way it works. So I don't think you need to be as concerned about it as you would otherwise. If you have, say, fifty users all in Sonar doing crazy kinds of things like you just saw me do, that still shouldn't impact your other concurrency limits. In the eyes of NetSuite, it's just a user. Does that make sense?
Caleb (54:47)
Another one, referencing SuiteScript after deploying the official NetSuite skills. Have we incorporated any of these NetSuite skills into Sonar?
Tim (54:57)
I have looked at them, and some of them have been kind of helpful, or at least helped me supplement some of the skills and tools that Sonar already has. It also has some of its own built in, and you can see them every once in a while. It'll look at almost like its own best practices for how to do things like load a record. Usually at the beginning of a session, when it does the first query, it'll look at the SuiteQL — some of the weird things about SuiteQL.
Caleb (55:36)
Kind of related to that, performance issues. Would additional SuiteCloud Plus processors help with that kind of high usage? I would say probably not.
Tim (55:47)
I don't think so, no. Because again, it's just a Suitelet. It's not hitting anything on the back end. It's not hitting a Suitelet that's acting like a RESTlet. It really just —
Caleb (56:01)
Really, the LLM is the part that's taking the longest itself to run.
Tim (56:03)
Yeah. And if you go back and look at this report, there's a lot of data that it brought back. If I really dove into what it brought back — yeah, this one was significant.
Caleb (56:19)
Good question. Does Sonar help in updating searches or forms — I assume entry forms — if we prompt it to do so?
Tim (56:26)
That's a good question. I haven't tried to get it to help me with that. You're talking about standard NetSuite. I don't think it really could help much in that regard. If you were building a custom form — meaning a custom UI for a certain form — then yeah.
Caleb (56:32)
Probably save searches, I would interpret that as, and I would interpret forms as entry forms — yeah, UI forms, not like saying, move this field over above this other spot.
Tim (56:53)
Right. One of the things it is pretty good at, though, is creating and modifying PDFs. If it's programming-related, then yeah, it's pretty good at it. If it requires the UI, then probably not so much.
Caleb (57:02)
Advanced PDF templates, like an invoice PDF template — makes sense, using that FreeMarker, HTML. Yeah, that makes sense. I think we've gotten through most of our questions here, unless I missed any. If you're still on, just make sure you go through all those polls and answer some of them. I'll release the information on LinkedIn as well. But if there are any final thoughts or final questions, we'll stand for a couple of minutes here, just in case you're in the middle of typing something out. The bundle request is on the link. And you can say hello to us on LinkedIn, or if you see us on Reddit, give us a shout-out. If you see us in a post, I usually see them, so I'm always really grateful when I see people in the community give me or Anchor Group a shout-out. I really appreciate it, and know that I always try to stay approachable for everybody here. So feel free to ask questions even after this. Tim's busy, so don't bug him.
Tim (58:13)
I'll try. My LinkedIn activity has really diminished lately. I can only do so much; there are no more hours in the day.
Caleb (58:20)
That's okay. They can ask me; I'll answer the questions. Great. Thanks everybody.
Tim (58:31)
Yeah, thanks guys.
Find more episodes of the Anchor Group podcast.
As both a BigCommerce Certified Partner and an Oracle NetSuite Alliance Partner, Anchor Group is ready to handle BigCommerce and NetSuite projects alike. Whether you already have one platform and are looking to integrate the other, are considering a full-scale implementation of both platforms, or simply need support with ongoing customizations, our team is ready to help answer any questions you might have. Get in touch.
