---
title: NetSuite
slug: netsuite
image: https://make-cxp-documentation.ams3.digitaloceanspaces.com/apps-center-icons/PREVIEW_netsuite.png
docTags: 
createdAt: 2025-02-03T13:28:18.713Z
---

::::VerticalSplit{layout="left"}
:::VerticalSplitItem
::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/cpvoNyznnr3WdSnvJmnRh-20260211-103030.png" size="60" width="800" height="800" position="center" darkWidth="800" darkHeight="800" showCaption="false"}
:::

:::VerticalSplitItem
NetSuite is a comprehensive cloud-based business management suite that integrates Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), and e-commerce functionalities. With NetSuite modules in Make, you can manage the standard and custom records.
:::
::::

:::hint{type="info"}
The NetSuite app is available on the [Make Enterprise plan](https://www.make.com/en/enterprise).
:::

To use the NetSuite modules, you must have a NetSuite account. You can create an account at [NetSuite.com](https://www.netsuite.com/portal/home.shtml). The account must have admin or system administration permissions.

The following steps are required before creating the connection in Make:

- [Enable token-based authentication](docId\:ZJdYh3CMLFgRySiqSAAYs).
- [Obtain your Consumer Key and Consumer Secret values](docId\:ZJdYh3CMLFgRySiqSAAYs).
- [Create and assign roles](docId\:ZJdYh3CMLFgRySiqSAAYs).

## Connect NetSuite to Make

To establish the connection, you must:

1. [Enable token-based authentication.](docId\:ZJdYh3CMLFgRySiqSAAYs)
2. [Create Consumer Key and Consumer Secret credentials.](docId\:ZJdYh3CMLFgRySiqSAAYs)
3. [Create and assign roles.](docId\:ZJdYh3CMLFgRySiqSAAYs)
4. [Establish the connection in Make.](docId\:ZJdYh3CMLFgRySiqSAAYs)

### Enable token-based authentication

To enable token-based authentication and SOAP/REST webservice:

1. Log in to your NetSuite account as an admin.
2. Click **Setup > Company > Enable Features**.
3. Click **SuiteCloud** and select the following options:
   - SuiteScript - CLIENT SUITESCRIPT; SERVER SUITESCRIPT
   - SuiteTalk (Web Services)
     - SOAP WEB SERVICES
     - REST WEB SERVICES
   - Manage Authentication - SUITESIGNON; TOKEN-BASED AUTHENTICATION
4. Click **Save**.

### Create Consumer Key and Consumer Secret Credentials

You must create a new integration in NetSuite to generate a consumer key and consumer secret values.

1. Navigate to **Setup** > **Integration** > **Manage Integrations** > **New**.

   ![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/FnuCPehohKKXVCYPCXILI_image.png)
2. Enter a **Name** for the integration, select **Enabled** in the **State** field, select **Token-based Authentication** and **TBA: authorization flow**, and paste the following in the **Callback URL** field `https://www.integromat.com/oauth/cb/netsuite`.
3. Click **Save**.
4. Copy the **Consumer Key** and **Consumer Secret** and save them in a safe place.

   ![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/Qwn-Fu2YD5crh5lpHy72H_image.png)

You now have the consumer credentials to connect to Make.

### Create and Assign Roles

An admin must create roles and assign them to the users or employees to access the integration details.

1. To access the roles page, search for **Page\:roles**.
2. Click **Edit** next to **Manage Roles**.

   ![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/SEj3puN5bF4CjyPPTTNIw_image.png)
3. Click **New Role**.
4. Enter the details as provided in the table and click **Save**. This creates a new role.
   - Name - Enter a name for the role.
   - Subsidiary Restrictions - Select All.
   - Permissions
     - In the Setup tab, add the following mandatory permissions:
       - Custom Body Fields - full access
       - Custom Entity Fields - full access
       - Custom Fields - full access
       - Custom Item Fields - full access
       - Custom Lists - full access
       - Custom Record Types - full access
       - Custom Segment - full access
         - Note: Before granting access to Custom Segments, enable the feature. To do it, go to Settings > Company > Enable Features. On the SuiteCloud subtab, select Custom Segments, and then click Save.
       - Log in using Access Tokens - full access
       - Records Catalog - view access
       - REST Web Services - full access
       - Set Up Company - view access
       - SOAP Web Services - full access
       - User Access Tokens - full access
     - In the **Lists** tab, add the following mandatory permissions:
       - Custom Record Entries - full access
       - Item Collection - full access
       - Items - full access
     - In the **Reports** tab, add the following mandatory permissions:
       - SuiteAnalytics Workbook - edit access
     - In the **Transactions** tab, add the following mandatory permissions:
       - Find Transactions - full access
       - Other required permissions for your desired transaction type.
5. Search for **Page\:Employees** to assign the role to a user.

   ![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/S7OfdAFLZixy8ZR8ekz9L_image.png)
6. To assign the role to **existing employees**: Click **Edit** next to **Employees** and select the employee to assign the role to.
7. To assign the role to a **new employee**: Click **Edit** next to **New Employees** to create a new employee. Add the employee details.
8. Click **Access > Roles**, add the new role you have created, and click **Save**.

   ![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/eN4N5p-DMpfsuFktdle5c_image.png)

You have successfully created and assigned the roles to access the integration details.

:::hint{type="warning"}
If your NetSuite account supports multiple languages, you must set the integration user’s language to **English**. To set it:

Go to **Home** → **Set preferences** → **Localization**, then select **English** and save.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/_AC_lTKlBgeq6mmpvcI0n-20260211-104339.png" size="82" width="1688" height="1123" position="center" darkWidth="1688" darkHeight="1123" showCaption="false"}
:::

### Establish the connection with NetSuite in Make

All users can create a connection, while only admin can obtain the Consumer Key and Secret values and assign roles.

1. Log in to your Make account, add a NetSuite module to your scenario, and click **Create a connection**.
2. Optional: In the **Connection name** field, enter a name for the connection.
3. In the **Consumer Key** and **Consumer Secret** fields, enter the credentials that you generated in NetSuite.
4. Click **Save**.
5. If prompted, authenticate your account and confirm access.

You have successfully established the connection. You can now edit your scenario and add more NetSuite modules. If your connection requires reauthorization at any point, follow the connection renewal steps [here](docId\:SO88FM6pkT0G-adKDDfzZ).

:::hint{type="info"}
Connections between NetSuite and Make use token-based authentication with tokens that do not expire.

**NetSuite Production connections**: If your connection breaks or expires, check your NetSuite account to ensure your token has not been revoked. For more information, you can check the `Integration Record` in NetSuite by navigating to `Setup > Integrations > Manage Integrations` or the `Login Audit Trail` by navigating to `Setup > Users/Roles > View Login Audit Trail`.

**NetSuite Sandbox connections**: NetSuite will regularly rollback sandbox environments to their original state. When this happens, your connection in Make may be broken.
:::

:::hint{type="info"}
Make does not refresh the connection with NetSuite. Make sure, your token and secret are valid. If the token and secret are not valid, check if NetSuite Web UI revoked the token.

If you use NetSuite Sandbox, keep in mind, that the Sandbox may be rolled back to its original state. It breaks the connection. [Learn more ](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1534941538.html#subsect_1534941869)about checking if the token is valid.
:::

## Standard Record

You can watch, search, create or update, retrieve, and delete records using the following modules.

:::hint{type="info"}
Some entity fields describing a record type are displayed with their internal API names instead of their NetSuite labels. For example, in Account record types where the entity field is called **Parent**, the internal ID label refers to **Subaccount of**. For more information, refer to [NetSuite SOAP API documentation](https://system.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2022_1/schema/record/account.html).
:::

:::ExpandableHeading
### Watch Records

Trigger when a record is created or updated.

| **Connection**           | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                     |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **Search Record Type**   | Select or map the record type of the records you want to watch.                                                      |
| **Trigger by**           | Select the type of field you want the module to be triggered by.                                                     |
| **Record Field**         | Select the exact date field to be triggered by.                                                                      |
| **Custom Field**         | Select the exact date custom field to be triggered by.                                                               |
| **Entity Custom Fields** | Select the custom fields to be listed for mapping. If you want to list all the fields then you can leave this empty. |
| **Limit**                | Set the maximum number of records Make will return during one execution cycle. The default value is 2.               |


:::

:::ExpandableHeading
### Watch Records (Saved Search)

Triggers when a record in a saved search is created.

| **Connection**                 | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                        |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search Record Type**         | Select or map the record type of the records you want to watch.                                                                                                         |
| **Saved Search**               | Select the saved search that must include **Internal ID**.                                                                                                              |
| **Trigger by**                 | Select the type of field you want the module to be triggered by.                                                                                                        |
| **Record Field**               | Select the date field to trigger the search for newly created records.                                                                                                  |
| **Custom Field**               | Select the date type custom field to be triggered by.                                                                                                                   |
| **Search Filter**              | Specify the filter conditions and operators. To search for sales transaction types, see the information below this table regarding how to set up the **Search Filter**. |
| **Enable Custom Field Filter** | Select whether to enable the custom field filter for additional filtering options.                                                                                      |
| **Custom Field Filter**        | Specify the custom fields to add additional filters to trigger your search for newly created records.                                                                   |
| **Limit**                      | Set the maximum number of records Make will return during one execution cycle. The default value is 2.                                                                  |

To search for sales transaction types (such as invoices, deposits, etc.), you must use a search filter for the transaction type's Enum value.\\

Follow these steps to create the filter:

1. In **Search Record Type**, select **Transaction Search**.
2. Under **Search Filter**, select **Type \[Enum]**.
3. Select the **Enum (separated by,)** operator.
4. In the field below, enter the **Enum value** from the table below, depending on the transaction type.

| **Transaction type**        | **Enum value**              |
| --------------------------- | --------------------------- |
| Assembly Build              | \_assemblyBuild             |
| Assembly Unbuild            | \_assemblyUnbuild           |
| Bin Transfer                | \_binTransfer               |
| Bin Worksheet               | \_binWorksheet              |
| Cash Refund                 | \_cashRefund                |
| Cash Sale                   | \_cashSale                  |
| Check                       | \_check                     |
| Credit Memo                 | \_creditMemo                |
| Custom Purchase             | \_customPurchase            |
| Custom Sale                 | \_customSale                |
| Customer Deposit            | \_customerDeposit           |
| Customer Payment            | \_customerPayment           |
| Customer Refund             | \_customerRefund            |
| Deposit                     | \_deposit                   |
| Deposit Application         | \_depositApplication        |
| Estimate                    | \_estimate                  |
| Expense Report              | \_expenseReport             |
| Inventory Adjustment        | \_inventoryAdjustment       |
| Inventory Cost Revaluation  | \_inventoryCostRevaluation  |
| Inventory Transfer          | \_inventoryTransfer         |
| Invoice                     | \_invoice                   |
| Item Fulfillment            | \_itemFulfillment           |
| Item Receipt                | \_itemReceipt               |
| Journal Entry               | \_journal                   |
| Opportunity                 | \_opportunity               |
| Paycheck Journal            | \_paycheckJournal           |
| Purchase Order              | \_purchaseOrder             |
| Return Authorization        | \_returnAuthorization       |
| Sales Order                 | \_salesOrder                |
| Transfer Order              | \_transferOrder             |
| Vendor Bill                 | \_vendorBill                |
| Vendor Credit               | \_vendorCredit              |
| Vendor Payment              | \_vendorPayment             |
| Vendor Return Authorization | \_vendorReturnAuthorization |
| Work Order                  | \_workOrder                 |
| Work Order Close            | \_workOrderClose            |
| Work Order Completion       | \_workOrderCompletion       |
| Work Order Issue            | \_workOrderIssue            |


:::

:::ExpandableHeading
### Search Records

Retrieves a list of records filtered by a query.

| **Connection**           | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                        |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search Record Type**   | Select the record type and add filters to search the record.                                                                                                            |
| **Search Filter**        | Specify the filter conditions and operators. To search for sales transaction types, see the information below this table regarding how to set up the **Search Filter**. |
| **Limit**                | Set the maximum number of records Make will return during one execution cycle. The default value is 10.                                                                 |
| **Entity Custom Fields** | Select the fields to be listed for mapping or leave the field blank to list records for all the available entity custom fields.                                         |

To search for sales transaction types (such as invoices, deposits, etc.), you must use a search filter for the transaction type's Enum value.

Follow these steps to create the filter:

1. In **Search Record Type**, select **Transaction Search**.
2. Under **Search Filter**, select **Type \[Enum]**.
3. Select the **Enum (separated by,)** operator.
4. In the field below, enter the **Enum value** from the table below, depending on the transaction type.

| **Transaction type**        | **Enum value**              |
| --------------------------- | --------------------------- |
| Assembly Build              | \_assemblyBuild             |
| Assembly Unbuild            | \_assemblyUnbuild           |
| Bin Transfer                | \_binTransfer               |
| Bin Worksheet               | \_binWorksheet              |
| Cash Refund                 | \_cashRefund                |
| Cash Sale                   | \_cashSale                  |
| Check                       | \_check                     |
| Credit Memo                 | \_creditMemo                |
| Custom Purchase             | \_customPurchase            |
| Custom Sale                 | \_customSale                |
| Customer Deposit            | \_customerDeposit           |
| Customer Payment            | \_customerPayment           |
| Customer Refund             | \_customerRefund            |
| Deposit                     | \_deposit                   |
| Deposit Application         | \_depositApplication        |
| Estimate                    | \_estimate                  |
| Expense Report              | \_expenseReport             |
| Inventory Adjustment        | \_inventoryAdjustment       |
| Inventory Cost Revaluation  | \_inventoryCostRevaluation  |
| Inventory Transfer          | \_inventoryTransfer         |
| Invoice                     | \_invoice                   |
| Item Fulfillment            | \_itemFulfillment           |
| Item Receipt                | \_itemReceipt               |
| Journal Entry               | \_journal                   |
| Opportunity                 | \_opportunity               |
| Paycheck Journal            | \_paycheckJournal           |
| Purchase Order              | \_purchaseOrder             |
| Return Authorization        | \_returnAuthorization       |
| Sales Order                 | \_salesOrder                |
| Transfer Order              | \_transferOrder             |
| Vendor Bill                 | \_vendorBill                |
| Vendor Credit               | \_vendorCredit              |
| Vendor Payment              | \_vendorPayment             |
| Vendor Return Authorization | \_vendorReturnAuthorization |
| Work Order                  | \_workOrder                 |
| Work Order Close            | \_workOrderClose            |
| Work Order Completion       | \_workOrderCompletion       |
| Work Order Issue            | \_workOrderIssue            |
:::

:::ExpandableHeading
### Search Records (Saved Search)

Retrieves a list of records filtered by a saved search.

| **Connection**                 | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                        |
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search Record Type**         | Select the record type and add filters to search the record.                                                                                                            |
| **Saved Search**               | Select the saved search that you want to use for filtering records.                                                                                                     |
| **Search Filter**              | Specify the filter conditions and operators. To search for sales transaction types, see the information below this table regarding how to set up the **Search Filter**. |
| **Enable Custom Field Filter** | Select whether to enable the custom field filter for additional filtering options.                                                                                      |
| **Limit**                      | Set the maximum number of records Make will return during one execution cycle. The default value is 10.                                                                 |

To search for sales transaction types (such as invoices, deposits, etc.), you must use a search filter for the transaction type's Enum value.

Follow these steps to create the filter:

| **Transaction type**        | **Enum value**              |
| --------------------------- | --------------------------- |
| Assembly Build              | \_assemblyBuild             |
| Assembly Unbuild            | \_assemblyUnbuild           |
| Bin Transfer                | \_binTransfer               |
| Bin Worksheet               | \_binWorksheet              |
| Cash Refund                 | \_cashRefund                |
| Cash Sale                   | \_cashSale                  |
| Check                       | \_check                     |
| Credit Memo                 | \_creditMemo                |
| Custom Purchase             | \_customPurchase            |
| Custom Sale                 | \_customSale                |
| Customer Deposit            | \_customerDeposit           |
| Customer Payment            | \_customerPayment           |
| Customer Refund             | \_customerRefund            |
| Deposit                     | \_deposit                   |
| Deposit Application         | \_depositApplication        |
| Estimate                    | \_estimate                  |
| Expense Report              | \_expenseReport             |
| Inventory Adjustment        | \_inventoryAdjustment       |
| Inventory Cost Revaluation  | \_inventoryCostRevaluation  |
| Inventory Transfer          | \_inventoryTransfer         |
| Invoice                     | \_invoice                   |
| Item Fulfillment            | \_itemFulfillment           |
| Item Receipt                | \_itemReceipt               |
| Journal Entry               | \_journal                   |
| Opportunity                 | \_opportunity               |
| Paycheck Journal            | \_paycheckJournal           |
| Purchase Order              | \_purchaseOrder             |
| Return Authorization        | \_returnAuthorization       |
| Sales Order                 | \_salesOrder                |
| Transfer Order              | \_transferOrder             |
| Vendor Bill                 | \_vendorBill                |
| Vendor Credit               | \_vendorCredit              |
| Vendor Payment              | \_vendorPayment             |
| Vendor Return Authorization | \_vendorReturnAuthorization |
| Work Order                  | \_workOrder                 |
| Work Order Close            | \_workOrderClose            |
| Work Order Completion       | \_workOrderCompletion       |
| Work Order Issue            | \_workOrderIssue            |


:::

:::ExpandableHeading
### Create or Update a Record

Creates or updates an existing record by its ID.

| **Connection**           | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                               |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **Action**               | Select the action you want to perform. For example, `create a record and get an internal ID`.                                                  |
| **Record Type**          | Select the record type and enter the details of the record you want to create.                                                                 |
| **Entity Custom Fields** | Select the custom fields you want to add to this record. Once you select the custom field, an option to enter or map a value will be provided. |


:::

:::ExpandableHeading
### Get a Record

Retrieves the details of an existing record by its ID.

| **Connection**           | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                                                                                                                                                                                                       |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Record Type**          | Select or map the record type of the details you want to retrieve.                                                                                                                                                                                                                                                                                                                                                     |
| **Internal ID**          | Enter the Internal ID of the record whose details you want to retrieve.<br />Ensure that in the **Preference** section, you have selected the Show Internal ID checkbox to display the Internal ID column in the records page.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/23wJZ7wgvOop6cMN0nbIZ_uuid-e6387c11-8c14-00bd-61ec-2841e3a43e16.png" alt caption="Internal_ID.png"} |
| **External ID**          | Enter the External ID of the record whose details you want to retrieve.                                                                                                                                                                                                                                                                                                                                                |
| **Entity Custom Fields** | Select the fields to be listed for mapping or leave this field blank to list all available entity custom fields.                                                                                                                                                                                                                                                                                                       |


:::

:::ExpandableHeading
### Delete a Record

Removes a record by its type and ID.

| **Connection**     | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                                                                                                                                                                     |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Record Type**    | Select or map the record type of the record you want to delete.                                                                                                                                                                                                                                                                                                                      |
| **Internal ID**    | Enter the Internal ID of the record you want to delete.<br />Ensure that in the **Preference** section, you have selected the Show Internal ID checkbox to display the Internal ID column in the records page.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/23wJZ7wgvOop6cMN0nbIZ_uuid-e6387c11-8c14-00bd-61ec-2841e3a43e16.png" alt caption} |
| **External ID**    | Enter the External ID of the record you want to delete.                                                                                                                                                                                                                                                                                                                              |
| **Reason Code ID** | Enter the Reason Code ID applicable to the record you want to delete. You can find the ID at **NetSuite Setup > Accounting > Accounting Lists** and filter by **Transaction Deletion Reason** to get the reason ID.                                                                                                                                                                  |
| **Reason Memo**    | Enter a memo with the reason to delete the record.                                                                                                                                                                                                                                                                                                                                   |


:::

## Custom Record

You can search, create, retrieve, update, and delete custom records using the following modules.

:::ExpandableHeading
### Search Custom Records

Retrieves a list of custom records filtered by a query.

| **Connection**         | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                             |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Custom Record Type** | Select the custom record type and add filters to search for the custom records.                                                                                              |
| **Limit**              | Set the maximum number of records Make will work with during one execution cycle. It must be a number between 1 and 3200. The default value is 10.                           |
| **Offset**             | Enter the number of results to be skipped, it must be divisible by the page limit 100. Use this field with a repeater module only if you want to get more than 3200 results. |
:::

:::ExpandableHeading
### Bulk Get Custom Records (Advanced)

Retrieves multiple custom records by their IDs.

| **Connection**         | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                  |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Custom Record Type** | Select the custom record type details you want to retrieve.                                                                                                                                                                       |
| **Record IDs**         | Enter the internal IDs of the custom records you want to retrieve.<br />Ensure that in the **Preference** section, you have selected the **Show Internal ID** checkbox to display the **Internal ID** column in the records page. |
:::

:::ExpandableHeading
### Create a Custom Record

Creates a new custom record.

| **Connection**         | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)   |
| ---------------------- | ---------------------------------------------------------------------------------- |
| **Custom Record Type** | Select the custom record type and enter details for the record you want to create. |
:::

:::ExpandableHeading
### Get a Custom Record

Retrieves the details of the custom record by its ID.

| **Connection**         | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Custom Record Type** | Select the custom record type of the details you want to retrieve.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **ID**                 | Enter either the internal or external ID of the custom record you want to retrieve details for. If using an external ID, add the prefix `eid:`. For example, `eid:make-123`.<br />To use internal IDs, ensure that in the **Preference** section you have selected the **Show Internal ID&#x20;**&#x63;heckbox to display the Internal ID column in the records page.<br /><br />:inlineImage[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/23wJZ7wgvOop6cMN0nbIZ_uuid-e6387c11-8c14-00bd-61ec-2841e3a43e16.png" alt caption} |
:::

:::ExpandableHeading
### Update a Custom Record

Updates a custom record by its ID.

| **Connection**         | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Custom Record Type** | Select the custom record type of the record you want to update and enter the details you want to update.                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **ID**                 | Enter either the internal or external ID of the custom record you want to update. If using an external ID, add the prefix `eid:`. For example, `eid:make-123`.<br />To use internal IDs, ensure that in the **Preference** section you have selected the **Show Internal ID&#x20;**&#x63;heckbox to display the Internal ID column in the records page.<br /><br />:inlineImage[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/23wJZ7wgvOop6cMN0nbIZ_uuid-e6387c11-8c14-00bd-61ec-2841e3a43e16.png" alt caption="Internal_ID.png"} |
:::

:::ExpandableHeading
### Delete a Custom Record

Deletes a custom record by its ID.

| **Connection**         | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Custom Record Type** | Select the custom record type of the record you want to delete.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **ID**                 | Enter either the internal or external ID of the custom record you want to delete. If using an external ID, add the prefix `eid:`. For example, `eid:make-123`.<br />To use internal IDs, ensure that in the **Preference** section you have selected the **Show Internal ID&#x20;**&#x63;heckbox to display the Internal ID column in the records page.<br />:inlineImage[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/23wJZ7wgvOop6cMN0nbIZ_uuid-e6387c11-8c14-00bd-61ec-2841e3a43e16.png" alt caption="Internal_ID.png"} |
:::

## Files and Folders

You can upload, download, attach, detach files and create folders using the following modules.

:::ExpandableHeading
### Upload a File

Uploads a file by an external URL or binary data.

| **Connection**  | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                              |
| --------------- | ------------------------------------------------------------------------------------------------------------- |
| **Upload By**   | Select or map the upload type:<br />- URL<br />- Binary Data                                                  |
| **Folder**      | Either **Interal ID** or **External ID** must be provided. If both are provided, the **Internal ID** is used. |
| **File Type**   | Select the type of file you want to upload.                                                                   |
| **Description** | Enter a description for the file.                                                                             |
| **Is Online**   | Select if the file is accessible externally.                                                                  |
| **Is Private**  | Select if the file is visible only by you.                                                                    |


:::

:::ExpandableHeading
### Download a File

Download an existing file by its Internal ID or External ID.

| **Connection**  | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs) |
| --------------- | -------------------------------------------------------------------------------- |
| **Internal ID** | Enter the Internal ID of the file you want to download.                          |
| **External ID** | Enter the External ID of the file you want to download.                          |


:::

:::ExpandableHeading
### Attach a File

Attaches a file to a record by its ID and the record ID.

| **Connection**  | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                               |
| --------------- | -------------------------------------------------------------------------------------------------------------- |
| **File**        | Either **Internal ID** or **External ID** must be provided. If both are provided, the **Internal ID** is used. |
| **Record Type** | Select the type of record to which you want to attach a file.                                                  |
| **Internal ID** | Enter the Internal ID of the file you want to attach.                                                          |
| **External ID** | Enter the External ID of the file you want to attach.                                                          |


:::

:::ExpandableHeading
### Detach a File

Detaches a file from a record by its ID and the record ID.

| **Connection**  | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                               |
| --------------- | -------------------------------------------------------------------------------------------------------------- |
| **File**        | Either **Internal ID** or **External ID** must be provided. If both are provided, the **Internal ID** is used. |
| **Record Type** | Select the type of record from which you want to detach a file.                                                |
| **Internal ID** | Enter the Internal ID of the record you want to detach.                                                        |
| **External ID** | Enter the External ID of the record you want to detach.                                                        |


:::

:::ExpandableHeading
### Create or Update a Folder

Creates or updates a folder by its Internal ID or External ID.

| &#x20;          |                                                                                                                                                           |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Connection**  | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                          |
| **Action**      | Select the action you want to take:<br />- Create a folder: Internal ID<br />- Update a folder: Internal ID<br />- Create or update a folder: External ID |
| **Description** | Enter a description for the folder.                                                                                                                       |
| **Folder Type** | Select the type of folder.                                                                                                                                |
| **Parent**      | Provide the **Internal ID** or **External ID** of the parent folder. If both are provided, the **Internal ID** is used.                                   |
| **Is Online**   | Select if you want this folder accessible externally.                                                                                                     |
| **Is Private**  | Select if you want the folder to be visible only by you.                                                                                                  |
| **Is Inactive** | Select if you want to inactivate this folder.                                                                                                             |


:::

## Other

::::ExpandableHeading
### Make a SOAP API Call

Performs an arbitrary authorized API call.

| **Connection**   | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                   |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Action**       | Select or map an action for the call. For example, `Search`.                                                                                       |
| **Body**         | Enter the body content for your API call. For example, `<platformMsgs:getAll><platformCore:record recordType="currency" /></platformMsgs:getAll> ` |
| **Header**       | Enter the desired request headers. You don't have to add authorization headers; we've already added those for you.                                 |
| **SOAP Version** | Enter a valid SOAP version to apply for the call. For example, `NetSuitePort_2022_1`.                                                              |

Predefined namespaces for making a SOAP API request:

| **Namespace**     | **Target**                                            |
| ----------------- | ----------------------------------------------------- |
| platformCore      | /xsd/platform/v2022\_1\_0/core.xsd                    |
| platformCoreTyp   | /xsd/platform/v2022\_1\_0/coreTypes.xsd               |
| platformMsgs      | /xsd/platform/v2022\_1\_0/messages.xsd                |
| platformCommon    | /xsd/platform/v2022\_1\_0/common.xsd                  |
| platformCommonTyp | /xsd/platform/v2022\_1\_0/commonTypes.xsd             |
| actSched          | /xsd/activities/v2022\_1\_0/scheduling.xsd            |
| actSchedTyp       | /xsd/activities/v2022\_1\_0/schedulingTypes.xsd       |
| demandPlanning    | /xsd/transactions/v2022\_1\_0/demandPlanning.xsd      |
| demandPlanningTyp | /xsd/transactions/v2022\_1\_0/demandPlanningTypes.xsd |
| docfileCab        | /xsd/documents/v2022\_1\_0/fileCabinet.xsd            |
| docfileCabTyp     | /xsd/documents/v2022\_1\_0/fileCabinetTypes.xsd       |
| generalComm       | /xsd/general/v2022\_1\_0/communication.xsd            |
| generalCommTyp    | /xsd/general/v2022\_1\_0/communicationTypes.xsd       |
| listAcct          | /xsd/lists/v2022\_1\_0/accounting.xsd                 |
| listAcctTyp       | /xsd/lists/v2022\_1\_0/accountingTypes.xsd            |
| listEmp           | /xsd/lists/v2022\_1\_0/employees.xsd                  |
| listEmpTyp        | /xsd/lists/v2022\_1\_0/employeeTypes.xsd              |
| listMkt           | /xsd/lists/v2022\_1\_0/marketing.xsd                  |
| listMktTyp        | /xsd/lists/v2022\_1\_0/marketingTypes.xsd             |
| listRel           | /xsd/lists/v2022\_1\_0/relationships.xsd              |
| listRelTyp        | /xsd/lists/v2022\_1\_0/relationshipTypes.xsd          |
| listScm           | /xsd/lists/v2022\_1\_0/supplyChain.xsd                |
| listScmTyp        | /xsd/lists/v2022\_1\_0/supplyChainTypes.xsd           |
| listSupport       | /xsd/lists/v2022\_1\_0/support.xsd                    |
| listSupportTyp    | /xsd/lists/v2022\_1\_0/supportTypes.xsd               |
| listSite          | /xsd/lists/v2022\_1\_0/website.xsd                    |
| listSiteTyp       | /xsd/lists/v2022\_1\_0/websiteTypes.xsd               |
| setupCustom       | /xsd/setup/v2022\_1\_0/customization.xsd              |
| setupCustomTyp    | /xsd/setup/v2022\_1\_0/customizationTypes.xsd         |
| tranBank          | /xsd/transactions/v2022\_1\_0/bank.xsd                |
| tranBankTyp       | /xsd/transactions/v2022\_1\_0/bankTypes.xsd           |
| tranCust          | /xsd/transactions/v2022\_1\_0/customers.xsd           |
| tranCustTyp       | /xsd/transactions/v2022\_1\_0/customerTypes.xsd       |
| tranInvt          | /xsd/transactions/v2022\_1\_0/inventory.xsd           |
| tranInvtTyp       | /xsd/transactions/v2022\_1\_0/inventoryTypes.xsd      |
| tranEmp           | /xsd/transactions/v2022\_1\_0/employees.xsd           |
| tranEmpTyp        | /xsd/transactions/v2022\_1\_0/employeeTypes.xsd       |
| tranFin           | /xsd/transactions/v2022\_1\_0/financial.xsd           |
| tranFinTyp        | /xsd/transactions/v2022\_1\_0/financialTypes.xsd      |
| tranGeneral       | /xsd/transactions/v2022\_1\_0/general.xsd             |
| tranPurch         | /xsd/transactions/v2022\_1\_0/purchases.xsd           |
| tranPurchTyp      | /xsd/transactions/v2022\_1\_0/purchaseTypes.xsd       |
| tranSales         | /xsd/transactions/v2022\_1\_0/sales.xsd               |
| tranSalesTyp      | /xsd/transactions/v2022\_1\_0/saleTypes.xsd           |

### Example of Use - Get Records from Saved Search on Custom Record

The following API call returns records from save search on custom record:

**Action:** `Search`

**Body:** `<platformMsgs:search><platformMsgs:searchRecord xsi:type="setupCustom:CustomRecordSearchAdvanced" savedSearchId="1"/></platformMsgs:search>`

:::hint{type="info"}
The opening and closing tags should contain the action name. In the example, the action is **Search**. The tags contain `platformMsgs:search`.
:::

### Example of Use - Get All Messages

The following API call returns all the messages from your NetSuite account:

**Action:** `Get All`

**Body:** `<platformMsgs:getAll><platformCore:record recordType="currency" /></platformMsgs:getAll`

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/-pYxAXqG6ZhypEq9lpJ_d_image.png" size="50" width="493" height="782" position="center" darkWidth="493" darkHeight="782" showCaption="false"}

Matches of the search can be found in the module's Output under **Bundle**. In our example, 5 messages were returned:

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/BxJouOzZrWE2RNWMOO3mi_image.png" size="52" width="405" height="587" position="center" darkWidth="405" darkHeight="587" showCaption="false"}
::::

:::ExpandableHeading
### Make a REST API Call

Performs an arbitrary authorized REST API call.

The [Beta endpoints](https://system.netsuite.com/help/helpcenter/en_US/APIs/REST_API_Browser/record/v1/2022.1/index.html#tag-account) are available only if you are enrolled and have joined the [Oracle NetSuite Beta programs](https://pdpm.oracle.com/pls/apex/f?p=102:300).

![](https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/zBy_59FW95mH_Ia5xLQ_W_image.png)

| **Connection**   | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                                                                                                                           |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **URL**          | Enter a path relative to `https://{accountId}.suitetalk.api.netsuite.com/services/rest`. For example, `/record/v1/customer`.                                                                                                                                                                                               |
| **Method**       | Select the HTTP method you want to use:<br />**GET** to retrieve information for an entry.<br />**POST** to create a new entry.<br />**PUT** to update/replace an existing entry.<br />**PATCH** to make a partial entry update.<br />**DELETE** to delete an entry.<br />**OPTIONS** to identify allowed request methods. |
| **Headers**      | You don't have to add authorization headers and content type as they are already added for you.                                                                                                                                                                                                                            |
| **Query String** | Enter the request query string.                                                                                                                                                                                                                                                                                            |
| **Body**         | Enter the body content for your API call. It must be a valid JSON string.                                                                                                                                                                                                                                                  |

For more information, see the [NetSuite REST API documentation](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/book_1559132836.html).

### Example of Use - Get All Customers

The following API call returns all customers from your NetSuite account:

**URL**: `/record/v1/customer`

**Method**: `GET`

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/JuBxDbu9EDLXHh0iomc8g_image.png" size="50" width="359" height="606" position="center" darkWidth="359" darkHeight="606" showCaption="false"}

Search results can be found in the module's Output under **Bundle**. In our example, 313 customers were returned.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/pI-cp77O8PI3bFaCAzDcI_image.png" size="48" width="440" height="675" position="center" darkWidth="440" darkHeight="675" showCaption="false"}
:::

::::ExpandableHeading
### Make a RESTlet API Call

Performs an arbitrary authorized RESTlet API call.

:::hint{type="info"}
Before using a module, upload your script file to your File Cabinet and create a script record and a script deployment record for it in your NetSuite account. [Read more here](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_4618456517.html#Related-Topics).
:::

| **Connection**   | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                                                                              |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Script ID**    | Enter the script record’s ID.                                                                                                                                                                                                 |
| **Deploy ID**    | Enter the deployment record’s ID                                                                                                                                                                                              |
| **Method**       | Select the HTTP method you want to use:<br />- **GET** to retrieve information for an entry.<br />- **POST** to create a new entry.<br />- **PUT** to update/replace an existing entry.<br />- **DELETE** to delete an entry. |
| **Header**       | You don't have to add authorization headers and content type as they are already added for you.                                                                                                                               |
| **Query String** | Enter the request query string.                                                                                                                                                                                               |
| **Body**         | Enter the body content for your API call. It must be a valid JSON string.                                                                                                                                                     |




::::

:::ExpandableHeading
### Run a SuiteQL Query

Executes a SuiteQL query.

| **Connection** | [Establish a connection to your NetSuite account.](docId\:ZJdYh3CMLFgRySiqSAAYs)                                                                                       |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Query**      | For more information on building a query, visit the [NetSuite documentation](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_156257799794.html). |
| **Limit**      | The maximum number of results to be worked with during one execution cycle. The number must be between 1 and 3200.                                                     |
| **Offset**     | The number of results to be skipped, it must be divisible by the page limit 100. Use this field with a repeater module only if you want to get more than 3200 results. |

### Example of Use - Customer Information

The following SuiteQL Query returns information for three customers from your NetSuite account.

**Query:** `SELECT * FROM customer`

**Limit**: 3

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/g23dlqEcgJFobo6GHkg0s_image.png" size="54" width="444" height="664" position="center" darkWidth="444" darkHeight="664" showCaption="false"}

Results can be found in the module's **Output** under **Bundle**. In our example, 3 customers and their information were returned.

::Image[]{src="https://api.archbee.com/api/optimize/oAyFj2GHlBeBVWF5OAir2/UnO-YkK-JFJnKjVtuH0e7_image.png" size="48" width="442" height="724" position="center" darkWidth="442" darkHeight="724" showCaption="false"}
:::

