When working with NetSuite in a multi-subsidiary environment, it’s often necessary to determine which subsidiaries a user has access to based on their role. This information is critical for filtering transactions, applying business logic, or enforcing access controls. In this article, I’ll walk you through a SuiteScript 2.x function that retrieves the subsidiaries accessible to… Continue reading Retrieve User Subsidiaries Based on Role in NetSuite Using SuiteScript
Author: Vishnudas P S
Accessing Record Data in a Suitelet Without Passing Parameters
When working with Suitelets in NetSuite, a common approach to pass data from a record to a Suitelet page is by sending it through URL parameters. However, there are situations where you might not want to expose data in the URL or you simply want a cleaner approach. Luckily, there’s a way to access record… Continue reading Accessing Record Data in a Suitelet Without Passing Parameters
Generate Excel Reports with Item Images in NetSuite using Vue.js + ExcelJS
Sometimes business users need Excel reports with images, totals, and summaries—something NetSuite’s standard reporting doesn’t easily support. By combining Suitelets, Vue.js, and ExcelJS, we can generate fully customized Excel files directly from the browser. 🔧 What We Used Suitelet → serves a Vue.js frontend Vue.js → user interface and trigger ExcelJS → build styled Excel… Continue reading Generate Excel Reports with Item Images in NetSuite using Vue.js + ExcelJS
Add Button on Item Sublist
if ((scriptContext.type === scriptContext.UserEventType.EDIT || scriptContext.type === scriptContext.UserEventType.CREATE) && curRec.type === ‘purchaseorder’) { const itemSublist = form.getSublist({ id: ‘item’ }); itemSublist.addButton({ … Continue reading Add Button on Item Sublist
Resolving NetSuite Inventory Assignment Errors
When working with NetSuite to retrieve inventory detail subrecords from transactions, you may encounter items that do not require inventory assignment. Despite not assigning inventory, simply fetching existing inventory details can trigger an error message: “You Cannot Assign Inventory details for this item.” Understanding the Error: This error occurs because NetSuite’s validation process checks for… Continue reading Resolving NetSuite Inventory Assignment Errors
Vue Local Storage Binding (Reactive)
<script setup> import { useLocalStorage } from ‘@vueuse/core’ const name = useLocalStorage(‘username’, ‘Guest’) </script> <template> <input v-model=”name” /> </template>
Vue Dark Mode Toggle
<script setup> import { useDark, useToggle } from ‘@vueuse/core’ const isDark = useDark() const toggleDark = useToggle(isDark) </script> <template> <button @click=”toggleDark()”>Toggle Dark Mode</button> </template>
VueUse
VueUse is a collection of essential utility functions (a.k.a. composables) built on top of the Vue 3 Composition API. Think of it as a Vue-native version of lodash, React Hooks, and browser API helpers combined. It helps you write less code, stay reactive, and boost productivity by handling common patterns in a modular way. 📦… Continue reading VueUse
Vue Query
Hooks for fetching, caching and updating asynchronous data in Vue. Install vue-query npm install vue-query # or yarn add vue-query If you are using Vue 2.x, make sure to also setup @vue/composition-api Initialize Vue Query via VueQueryPlugin import { createApp } from “vue”; import { VueQueryPlugin } from “vue-query”; import App from “./App.vue”; createApp(App).use(VueQueryPlugin).mount(“#app”); Use query import { defineComponent }… Continue reading Vue Query
VueUse – Utility Functions
Description: VueUse is a collection of useful utility functions that help with state management, browser APIs, and performance optimizations. Installation: npm install @vueuse/core Example: Dark Mode Toggle import { useDark } from ‘@vueuse/core’ const isDark = useDark() <template> <button @click=”isDark = !isDark”>Toggle Dark Mode</button> </template>