Retrieve User Subsidiaries Based on Role in NetSuite Using SuiteScript

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

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 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>