---
title: "NetSuite Apps and Connector"
slug: "netsuite-apps-and-connector"
updated: 2025-09-01T10:26:45Z
published: 2025-09-01T10:26:45Z
canonical: "support.tulip.co/netsuite-apps-and-connector"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.tulip.co/llms.txt
> Use this file to discover all available pages before exploring further.

# NetSuite Apps and Connector

*Integrate Tulip with NetSuite using pre-built applications and Tulip's HTTP Connectors*

          Additional Configuration Required

          

This connector is a good starting point that implements a core set of the service's most common functions. You should expect to extend it by adding functions for the specific endpoints your workflow requires. Additionally, some configuration may be required in Netsuite to establish a connection with Tulip. Please review our [connector framework](/r230/docs/connectors) to learn more about how to build and modify connectors in Tulip.

[Video for "VID_Netsuite_Integration_2023_1920x1080.mp4"](https://tulip.widen.net/view/video/ciifpss61g/VID_Netsuite_Integration_2023_1920x1080.mp4?t.download=true&amp;u=gjbdww)

#### Introduction

The goal of this connector is to enable bi-directional communication between NetSuite’s system of record and Tulip’s Industrial Operations Platform. Many common manufacturing functions are provided out-of-the-box and advanced connectors allow extension to other applications.

#### Installation and Configuration

This connector requires an accompanying [NetSuite script](https://tulip.widen.net/content/b1lu8ulluf/original/Tulip-Integration-Bundle-2.0.js?u=a1yhpj&amp;download=true) to be deployed within your NetSuite environment.

The connector functions have been designed with reusability in mind. As a result, to reconfigure the apps, only basic App Editor reworks are required. Replace existing content to reflect your shop floor more effectively, and the connectors will work the same.

## Connector Functions

The integration provides the following functions:

### Get Work Order Context Functions

#### Get Released Work Orders

The function will return all work orders with status Work Order: Released in Netsuite.

*getAllReleasedWorkOrder -> Released Work Orders*

#### Get Released Work Orders for Location

The function will return all work orders with status Work Order: Released in Netsuite at a specified location

*getReleasedWorkOrdersByLocation(Location) -> Released Work Orders in Location*

#### Get Released Work Orders for Product

The function will return all work orders with status Work Order: Released in Netsuite for a specified product.

*getReleasedWorkOrdersByProduct(product) -> Released Work Order for product*

#### Get In Process Work Orders

The function will return all work orders with status Work Order: Released in Netsuite for a specified product.

*getAllInProgressWorkOrders -> In Process Work Orders*

#### Get Work Order Bill of Material

The function will return the bill of material for specified work order

*getWorkOrderBOM(WorkOrderID) -> Bill of Material*

#### Get Work Order Details

The function will return all work order details for a specified work order internal id.

*getWODetails(WorkOrderID) -> Work Order Details*

### Post Work Order Context Functions

#### Create Work Order Close

The function will change the order status of a WIP based in process work order to closed.

*closeWorkOrder(workOrderID, orderQuantity, quantityCompleted) -> Success result, message, Work Order Close ID*

#### Create Work Order Issue

The function will link a Work Order to a Work Order Issue record

*createWorkOrderIssue(workOrderID) -> Error, Work Order Issue ID*

#### Create Assembly Build

The function will create an assembly build against a work order while consuming component level inventory for a non-WIP based work order. There are three variations of inputs for lot managed assembly, bin managed assembly or location only managed assemblies.

**Bin Managed Assembly** *createAssemblyBuild(workOrderId, itemId, quantity, binNumber, locationId, subsidiaryId,component details) -> Sucess result, message, Build ID*

**Lot Managed Assembly** *createAssemblyBuild(workOrderId, itemId, quantity, lot number, locationId, subsidiaryId,component details) -> Sucess result, message, Build ID*

**Location Managed Assembly** *createAssemblyBuild(workOrderId, itemId, quantity, locationId, subsidiaryId,component details) -> Sucess result, message, Build ID*

#### Create Work Order Completion (no backflush)

The function will create a work order completion transaction against a WIP based work order without consuming component inventory. There are three variations of inputs for lot managed assembly, bin managed assembly or location only managed assemblies.

**Bin Managed Assembly** *createWorkOrderCompletion(workOrderId, quantity, startOperation, endOperation, Bin) -> Sucess result, message, Build ID*

**Lot Managed Assembly** *createWorkOrderCompletion(workOrderId, quantity, startOperation, endOperation, Lot) -> Sucess result, message, Build ID*

**Location Managed Assembly** *createWorkOrderCompletion(workOrderId, quantity, startOperation, endOperation) -> Sucess result, message, Build ID*

#### Create Work Order Completion with Backflush

The function will create a work order completion transaction against a WIP based work order and consume component inventory. There are three variations of inputs for lot managed assembly, bin managed assembly or location only managed assemblies. For final operations against the WIP order, scrap quantity can also be sent.

**Bin Managed Assembly** *createWorkOrderCompletionBackflush(workOrderId, quantity, completed quantity, startOperation, endOperation, item, bin, scrap quantity, component details) -> Sucess result, message, Build ID*

**Lot Managed Assembly** *createWorkOrderCompletionBackflush(workOrderId, quantity, completed quantity, startOperation, endOperation, item, lot, scrap quantity, component details) -> Sucess result, message, Build ID*

**Location Managed Assembly** *createWorkOrderCompletionBackflush(workOrderId, quantity, completed quantity, startOperation, endOperation, item, scrap quantity, component details) -> Sucess result, message, Build ID*

### Get Inventory Item Locations and Quantity Functions

#### Get on-hand inventory in each location for item

The function will return on-hand inventory available at each location for a specified item

*getInventoryByLocation(item name) -> inventory, sucess result, message*

#### Get on-hand inventory in each bins for item

The function will return on-hand inventory available at each bin for a specified item

*getInventoryInBin(item name) -> inventory, sucess result, message*

#### Get on-hand inventory in a bin

The function will return on-hand inventory available at a specified bin by material

*getInventorybyBin(bin) -> inventory, sucess result, message*

#### Get on-hand inventory by material lot number for item

The function will return on-hand inventory available by material lot number for a specified item.

*getInventoryforMaterialLots(item name) -> inventory, sucess result, message*

#### Get locations for a particular item

The function will return available inventory locations for a specified item.

*getItemLocation(item name) -> inventory, sucess result, message*

### Post Inventory Movement and Adjustment Functions

#### Create Bin Transfer

The function will create a bin transfer transaction to move materials

*createRecord(location id, subsidiary id, item id, quantity, from bin, to bin) -> error message, bin transfer id, https status code)*

#### Create Bin Transfer

The function will create a bin transfer transaction to move materials

*createRecord(location id, subsidiary id, item id, quantity, from bin, to bin) -> error message, bin transfer id, https status code)*

#### Create Inventory Transfer

The function will create a inventory transfer transaction to move materials

*createRecord(from location, subsidiary, item id, quantity, to location) -> error message, bin transfer id, https status code)*

#### Create Inventory Adjustment

The function will create an inventory adjustment transaction to adjust inventory level details (positive or negative). There are three variations of inputs for lot managed item, bin managed item or location only managed item.

**Bin Managed Assembly** *createInventoryAdjustment(subsidiary id, account id, item id, location id, adjustment amount, transacion date) -> sucess result, message, inventory adjustment id*

**Lot Managed Assembly** *createInventoryAdjustment(subsidiary id, account id, item id, location id, adjustment amount, transacion date, lot) -> sucess result, message, inventory adjustment id*

**Location Managed Assembly** *createInventoryAdjustment(subsidiary id, account id, item id, location id, adjustment amount, transacion date, bin) -> sucess result, message, inventory adjustment id*

### Generic Configurable Get Requests

The following functions are generic get functions with configurable outputs depending on the inputs.

#### Get Results of a Saved Search

The function will return the results of a [Netsuite saved search](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_N675442.html#Saved-Searches).

*getSavedSearchResults(saved search id, saved search type)-> saved search results*

#### Get Record Details

The function will return record details of the specified input.

*getRecordFromTypeAndId(record id, [record type](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_4273205732.html#record.Type))-> record details*

#### Get Results from a Search Term

The function will return the results from a search term.

*getRecordFromSearchTerm(query)-> search results*

### Generic Configurable Post Requests

The following functions are generic functions with configurable outputs/functionality depending on the inputs.

#### Create Search Results from a Search Query

The function will return the results from a search query.

*getSearchResults(query with filters and columns defined) -> search results*

#### Create Netsuite Record

The function will create a Netsuite record based on the inputs.

*createRecord(record creation details) -> created record id*

For full documentation on the functionality of the API provided by the Tulip SuiteApp, refer to the public documentation here.
