Person holding ice cream cone in front of a cloud so it looks like ice cream to represent innovative customisations in the NetSuite cloud ERP solution.

Four Creative NetSuite Customisations and Set Up Tips

Did you know that today is World Creativity and Innovation Day (#WCID)? It’s a global celebration day created by the United Nations (UN) six years ago to raise awareness around the importance of creativity and innovation in problem solving, in line with UN’s sustainable development goals. We’re proud to have some of the brightest technical minds in our team and we thought we’d celebrate their creativity and innovative customisations within NetSuite.

NetSuite’s cloud Enterprise Resource Planning (ERP) system is extremely powerful but even with its extensive out-of-the-box functionality, sometimes a bespoke script is what’s required. Our curious team are always applying their knowledge, logic and creativity to come up with the most effective solution. Here we dive into just a few of the innovative customisations our team has delivered…


You can’t compare a normal field with a multi select field… we can!

It was an annoying bugbear that came up and we couldn’t let it lie – a normal field in NetSuite returns one value and a multi select field returns a string, so they won’t compare. The result? One of our consultants wrote a formula whereby it returns the position of the item you want to compare in its string and that number is used to serve the data. We’ve used this simple solution across multiple customers and different use cases, for example, it’s been used to determine whether team members have permission to view certain types of support cases.


Special Outsource Manufacturing purchase orders… levelled up

There is a feature in NetSuite that allows you to manage outsourced manufacturing – which is where you order another company (supplier) to build the product on your behalf. Often there is an element of owned inventory – which is where you have already bought or manufactured one or more of the components – for example fabric – to be used within that manufacturing process.

Row of folded colourful fabric to denote owned stock within an outsourced manufacturing process that can be automated in NetSuite.


Without this feature you would need to raise a Purchase Order (PO) to the supplier, raise a work order, transfer the components to the supplier to consume, transfer the item back from the supplier, and receive the PO for the goods and/or service it was send out for. NetSuite Outsource Manufacturing simplifies this to the PO and receipt of PO.

Sounds great, what’s the catch? There really is none, but our consultants took it to the next level of efficiency for one customer who wanted the whole process streamlined from the sales order. But we had to solve a challenge…

When you start a special outsource manufacturing order from the sales order, NetSuite puts the completed item on the order itself, which then goes on the PO. But what should be on the PO is the charge of the supplier and the assembly that needs to be built should be on the work order. Even shifting to defined SKU on all stock, the link was going to be lost between the PO and the outsourced manufacturing piece.

So, we created a special order link between the PO and the inventory and another link between the PO and the order. We also brought supplier location into the mix and made best use of NetSuite Supply Allocation. Our script reads the PO, severs the link between the PO that has been generated, looks up the assembly items and changes to outsourced manufacturing charge. Standard functionality resumes to fire off the work order (with component pieces listed) to suitably located supplier with default Bill of Materials. If that wasn’t enough, it triggers other required POs and transfer orders to the warehouse, so that components – the fabric, motors or handles – are sent to the supplier.

Our customer now has a systematic way of performing outsourced manufacturing tasks and consuming stock, also linked to see where goods are coming from and to with extra features from Supply Allocation to track if orders are late and manage inventory.


Meet some of our team – Technical Consultant Jack recently did a Q&A with us and Nic, our Integration Consultant, sat down with us for a vlog.


Managing transaction volumes in the millions

Generally, you would import till, or cash activity, into NetSuite as transactions at the end of each day – one line per purchase. However, when you’re talking about retail chains and hotels with spas and restaurants, success could look like a million transactions in a week or two, all going through many different tills. NetSuite doesn’t take kindly processing that many individual lines and real-time means two-day old data.

Four people drinking beer at a hotel to denote the multitude of transactions that can go through a til in a hospitality business that has multiple locations.


The solution was to create a custom record in NetSuite for all the orders and that’s also imported to NetSuite every hour so there’s not one huge data dump. The customised script we created runs in the middle of the night, and 200 lines for pints of Joe Bloggs beer become one line for 200 pints of Joe Bloggs beer. It even ensures the prices – which vary across some locations – are correctly accounted for. Via a cash-controlled account, the child records break down the payment types, refunds and deferred income and as if by magic everything is linked to the place it should within financial records.

Crucially, our customers are still able to tell whether products – lipsticks, plates, tools or pints of beer – are profitable in the different locations even though they are combined. The underlying data can still be viewed in the custom record, it’s just doesn’t put their systems on go slow by being recorded as individual transactions.


Product matrix NetSuite imports made automated and easy

And from millions of transactions to millions of possible products. One customer needed an easier way of importing lists of new product lines into NetSuite fields that could be chosen in the matrix options. It was a manual process that took a spreadsheet listing hundreds of products and their options and they made individual product files. Each was individually imported into NetSuite, lists were created, joined and each item created.

We first wrote CSV splitter code to create the individual product files needed and then used SuiteCloud Development Framework to give NetSuite the objects as well as instructions on what to do with them when imported. Uploaded as a project, we’ve enabled NetSuite to go into each of the files, read the values and automatically make them matrix options. From a task that took hours, it’s now a few button clicks and resource is spent on higher-value tasks.


If any of these customisations would be beneficial for your business or you have a NetSuite challenge that you can’t solve, we’d love to hear from you. Complete our call back form and one of our experts will be in touch.