Skip to main content

NetSuite Integration: User Setup Guide

How to Prepare NetSuite for Your Limble Integration

Overview

This guide walks you through everything you need to configure before enabling the Limble NetSuite integration.

It covers the NetSuite-side customizations, the values and decisions to gather, and the Limble setup to complete before you open the configuration wizard.

The setup has three parts:

  1. Part 1 - NetSuite Customizations: checkbox fields, transaction columns, custom record types, and optional fallback employee records created directly in NetSuite.

  2. Part 2 - Gather Values and Decisions: NetSuite internal IDs, go-live decisions, and mappings to record before you open the configuration wizard. Sections follow integration wizard page order for convenience.

  3. Part 3 - Limble Setup: budget steps, work order instruction set templates, and purchase order custom fields built in Limble, after NetSuite values are gathered.

OAuth/API credentials are covered in the separate NetSuite OAuth 2.0 Client Credentials Guide. That step is not repeated here.

Depending on your implementation, the integration may rely on:

  • Core Configuration: NetSuite internal IDs (Subsidiary, locations, accounts) and, when applicable, subsidiary-to-region mappings.

  • Item Configuration: Item eligibility checkboxes and GL accounts for Limble → NS item sync.

  • User and Location Mapping: Limble locations mapped to NetSuite locations; users matched automatically by email with fallback users when matching fails.

  • Accounting Configuration: GL accounts for inventory adjustments (inventory items) and journal entries (non-inventory items) when parts are consumed on work orders.

  • Vendor Sync Controls: NetSuite checkbox field controlling which vendors sync to Limble.

  • Classification Mapping: NetSuite Projects, Departments, and Line of Business used on purchase orders and parts consumption.

  • Limble Purchase Order Custom Fields: Optional fields that display NetSuite approval status, PO number, and sync status back in Limble.


Prerequisites

  • An active NetSuite account

  • Permission to view internal IDs and configure fields in NetSuite

  • Access to the NetSuite records your Limble integration will rely on

  • The ability to confirm user, location, and account mappings before go-live

  • A decision on Purchasing Flow (Limble Origin vs. NetSuite Origin), Parts Synced as Non-inventory, and Item Sync Direction (NS → Limble vs. Limble → NS). These cannot be changed after go-live.

Important: The integration requires internal NetSuite IDs, not record names. If names are provided instead of internal IDs, the integration may fail.


Part 1 - NetSuite Customizations & Prerequisites

Everything in this section is created or configured directly in NetSuite. These items have no corresponding input field in the configuration wizard. The integration expects them to already exist before go-live.

NetSuite ID Prefix Convention

When you create a custom field in NetSuite, you type a short ID suffix (for example _sync_to_limble). NetSuite automatically prepends a record-type prefix to form the real internal ID the integration queries:

Field created on

ID you type

Resulting internal ID

Item field

_sync_to_limble

custitem_sync_to_limble

Entity field (Vendor)

_sync_to_limble

custentity_sync_to_limble

Transaction Body field (PO)

_sync_to_limble

custbody_sync_to_limble

The sections below reference the resulting internal ID. When troubleshooting or verifying your setup, look for the full prefixed ID in NetSuite, not just the suffix you typed.

Sync Eligibility Checkboxes

To create a sync eligibility checkbox in NetSuite:

  1. Navigate to Customization > Lists, Records, & Fields and choose the field type for your record (Item Fields, Entity Fields, or Transaction Body Fields).

  2. Set Type to Checkbox, Label to Sync to Limble, and ID to _sync_to_limble (see prefix convention above for the resulting internal ID).

  3. For Entity fields, under Applies To, select Vendor only. For Transaction Body fields, select Purchase Order.

Create only the checkboxes your implementation needs:

Field

Record type

Applies to

Resulting internal ID

When needed

Item Sync

Item

Inventory / non-inventory items

custitem_sync_to_limble

Item Sync Direction = NS → Limble

Vendor Sync

Entity

Vendor

custentity_sync_to_limble

Vendor sync to Limble is included

PO Sync

Transaction Body

Purchase Order

custbody_sync_to_limble

Purchasing Flow = NetSuite Origin

After creating each field, check Sync to Limble on the NetSuite records you want the integration to include (items, vendors, or purchase orders).

Work Order Asset Column

Applies if: asset stamping when parts are consumed on work orders.

Each instance posts part consumption as either an Inventory Adjustment or a Journal Entry (see Parts Synced as Non-inventory in Part 2.1), not both.

Create custcol_limble_asset on the matching line type:

Parts mode

Work order posts as

Create column on

Inventory items (toggle OFF)

Inventory Adjustment

Inventory Adjustment lines

Non-inventory items (toggle ON)

Journal Entry

Journal Entry lines

Navigate to Customization > Lists, Records, & Fields > Transaction Column Fields > New and create the field on the line type that matches your parts mode.

Asset Custom Record Type

Applies if: asset sync from Limble to NetSuite is included.

  1. In NetSuite, navigate to Customization > Lists, Records, & Fields > Record Types and confirm that the record type customrecord_limble_asset exists.

  2. Confirm the following required custom fields exist on that record type with the exact script IDs listed:

    • custrecord_limble_asset_id

    • custrecord_limble_asset_name

    • custrecord_limble_asset_location

  3. For any Limble asset custom fields you want synced to NetSuite, create a corresponding field on the record type using this naming convention:

    • Script ID: custrecord_limble_asset_<field_name>

    • The <field_name> must match the Limble custom field name, lowercased with spaces replaced by underscores.

Example: A Limble field named "Serial Number" requires a NetSuite field with script ID custrecord_limble_asset_serial_number.

Only assets at Limble locations you map in Part 2.3 are processed.

Fallback Employee (Optional)

If you do not want to name a specific staff member as the fallback user, create a dedicated Employee record in NetSuite now (for example, "Integration Fallback User"). Record that Employee's internal ID for use as the Global User Fallback or per-subsidiary fallback in Part 2.4.

This keeps the fallback constant across staffing changes. Either approach works.


Part 2 - Gather Values and Decisions

Sections below follow integration setup wizard page order so you can gather IDs and decisions in one pass. This is not a wizard walkthrough. Record what you need here, then enter it in the configuration wizard after Part 3.

Go-Live Decisions (confirm before gathering)

These three settings are fixed for the life of the integration instance:

Decision

Options

Why it matters

Purchasing Flow

Limble Origin / NetSuite Origin

Only one PO/receiving model runs per instance.

Parts Synced as Non-inventory

On / Off

Controls NetSuite item type, work order posting (Inventory Adjustment vs. Journal Entry), and which account IDs you need.

Item Sync Direction

NS → Limble / Limble → NS

Item master sync runs in one direction per instance.

Choose purchasing flow, parts mode, and item sync direction before gathering IDs. Mixed modes are not supported.

How Failures Show Up

When PO creation fails, outcomes fall into two groups:

  • Emails the Purchase Order Updates Email List: vendor not found with no fallback, missing GL account on a PO line (when GL is required), or no NetSuite subsidiary mapped for the PO's Limble location.

  • Marks the PO Error with an audit comment, no email: user email match fails with no fallback, or location cannot be resolved with no fallback location.

If a required value is missing, PO creation can fail.

2.1 Purchasing & Item Sync

Decide and record:

  • Purchasing Flow (Limble Origin vs. NetSuite Origin)

  • Parts Synced as Non-inventory Purchase Items (inventory vs. non-inventory parts in NetSuite)

  • Item Sync Direction (NS → Limble vs. Limble → NS)

  • Inventory Quantity System of Record (Limble vs. NetSuite authoritative for on-hand quantity after work order consumption)

Multi-Subsidiary Mode: Enable when this instance serves multiple NetSuite subsidiaries. When enabled, gather subsidiary IDs and region mappings in Part 2.2 before location mappings in Part 2.3.

Item Sync Direction

Direction

NetSuite prerequisite (Part 1)

NS → Limble

Item eligibility checkbox custitem_sync_to_limble

Limble → NS

Item GL account IDs (gather below)

Skip this section unless Item Sync Direction = Limble → NS.

Gather internal IDs for default GL accounts on new NetSuite items created from Limble parts. All are optional (wizard defaults to 0). Gather only if you plan to populate them:

If syncing Limble Parts as Inventory Items:

  • Item COGS Account

  • Item Asset Account

  • Item Income Account

If syncing Limble Parts as Non-inventory Items:

  • Item Expense Account

Limble → NS item matching: If Item Sync Direction = Limble → NS, decide whether NetSuite items match Limble parts by Part Name or Part Number.

2.2 Subsidiaries

Gather NetSuite Subsidiary internal ID(s).

In NetSuite, navigate to Setup > Company > Subsidiaries > View, locate your subsidiary, and record its internal ID.

Skip this subsection unless Multi-Subsidiary Mode is enabled.

When Multi-Subsidiary Mode is on, gather for each NetSuite subsidiary:

What to record

Notes

NetSuite Subsidiary ID

Required

Limble Region

Region whose locations belong to that subsidiary

Default Limble Location

Optional fallback when a NetSuite location is unmapped

Fallback NS Employee ID

Optional per-subsidiary user fallback (Limble Origin)

Fallback Limble User

Optional per-subsidiary user fallback (NetSuite Origin)

When a Limble location falls within multiple configured regions, the integration uses the most specific (deepest) region match.

2.3 Locations

Gather NetSuite Location internal IDs for each Limble location you will map.

Notes:

  • If one Limble location maps to multiple NetSuite locations, record a separate ID for each mapping.

  • If a location mapping is missing, the Fallback Location NetSuite ID (below) is used.

Record an optional Fallback Location NetSuite ID (NetSuite Location internal ID used when a PO's Limble location is not in your mapping table). Use 0 to skip.

Skip this subsection unless Purchasing Flow = NetSuite Origin.

2.4 Users

Limble users and NetSuite employees are matched automatically by email address. There is no manual mapping table.

Setup action: Confirm the email on each Limble user who will interact with the integration matches that person's NetSuite employee email before go-live.

If you prefer not to name a specific staff member as fallback, refer to Fallback Employee (Optional) in Part 1.

Record a Global User Fallback:

Purchasing Flow

What to record

Limble Origin

NetSuite Employee internal ID

NetSuite Origin

Limble user who will act as fallback

If no email match exists and no fallback user is defined, PO creation fails.

Record email addresses for the Purchase Order Updates Email List (typically ops or integration owners). These addresses receive notifications when PO sync fails for vendor, GL, or subsidiary issues.

2.5 Vendors

Record an optional Fallback Vendor NetSuite ID (vendor internal ID used when the Limble vendor has no NetSuite match). Use 0 to skip.

If a Limble vendor has no NetSuite match and no fallback vendor is configured, PO creation fails.

2.6 Purchase Orders

Write-back fields apply to both purchasing flows. Sections marked Limble Origin apply only when POs are created in Limble.

Limble PO Write-Back Fields

Three optional Limble Purchase Order custom fields can surface NetSuite information back into Limble. All are configured in Limble (Part 3), not NetSuite.

Purchase Order custom field in Limble

Decide whether you want each write-back field enabled:

Field purpose

To disable in wizard

NetSuite approval status on the Limble PO

Do Not Post NetSuite Approval Status

NetSuite PO number on the Limble PO

Do Not Post NetSuite PO Number

Integration sync status on the Limble PO

Do Not Post Sync Status

If missing, this value is not written: when a write-back field is not selected in the wizard, or not yet added to a PO's field list at a configured location, that value is not written back.

Limble Origin - Department / LOB / Project Mapping

Skip this subsection if Purchasing Flow = NetSuite Origin.

Gather the name and NetSuite internal ID of each Project, Department, and Line of Business value the integration will use on Limble purchase orders.

If Line of Business is configured as a custom field in NetSuite, also note the custom field name (for example class, department, custbody_lob, custbody_cseg_lob).

Record how projects are represented in your NetSuite environment (Job, Customer, or Class) for wizard mapping.

Limble Origin — PO Creation Options

Skip this subsection unless Purchasing Flow = Limble Origin.

Decide:

Option

What it means

Require GL on PO Creation

Every PO line needs a GL account before NetSuite PO creation. Missing GL blocks creation.

Document Number Is Limble PO Number

Limble PO number becomes the NetSuite document number.

Use Limble Tax Rate

Limble tax is baked into line rates sent to NetSuite. Set NS vendor/item tax to 0% to avoid double-counting. Defaults to on.

If Require GL on PO Creation is enabled and one or more PO lines lack a GL account, PO creation fails. Refer to How Failures Show Up.

Service Item Account

Skip this subsection unless Purchasing Flow = Limble Origin and your POs include service or expense lines.

Record the NetSuite account internal ID for service/expense PO lines. Required whenever service (expense) lines are present on a Limble PO.

2.7 Tasks / Work Orders

Gather values for how parts consumption on completed work orders posts to NetSuite. Work order posting runs when a task reaches Complete status.

How parts consumption is posted depends on Parts Synced as Non-inventory (Part 2.1):

Parts mode

NetSuite transaction

Accounts to gather

Inventory Items

Inventory Adjustment

Expense/debit account only

Non-inventory Items

Journal Entry

Expense (debit) and Offset (credit) accounts

Use Fixed WO Accounts

Decide whether to use fixed GL accounts for all work order postings or per-task:

Setting

Behavior

OFF

Custom Tags will be created for each mapped account.

  • Each task needs @Account - Expense - ... tags with valid GL mapping.

  • In non-inventory (Journal Entry) mode, tasks also need @Account - Offset - ... tags.

ON

The first configured Expense account applies to all work order postings. In non-inventory mode, the first configured Offset account also applies.

If required account IDs are not provided, the inventory adjustment or journal entry is not created.

Expense / COGS GL Accounts

Gather internal IDs for GL accounts used to record part consumption on tasks (typically Expense or COGS accounts).

Offset GL Accounts

Skip this subsection unless Parts Synced as Non-inventory (Journal Entry mode).

Gather internal IDs for GL accounts used to offset the consumption entry (for example Inventory Asset, Clearing Accounts, or Accrued Consumption Accounts). Not used for Inventory Adjustments.

Line of Business (LOB) Journal Field

Record the NetSuite field ID used for Line of Business on journal entry and inventory adjustment lines (for example custbody_lob). Enter 0 if not used or if using Classes as LOB.

Inventory Quantity Reconciliation

Skip this subsection unless parts are synced as inventory items.

These settings apply to the daily inventory quantity reconciliation job, separate from work order consumption posting:

What to record

Notes

Inventory Adjustment Account ID

NetSuite account internal ID for the daily quantity reconciler when Limble is the Inventory Quantity System of Record. Enter 0 to skip.

Inventory Adjustment Project Field

Customer or Class for project on inventory adjustment lines

Inventory Adjustment Custom Form ID

Optional. Enter 0 to use the preferred form


Part 3 - Limble Setup

Complete this section after gathering NetSuite values in Part 2.

Purchase Order Budget Steps

Budget step requirements depend on Purchasing Flow (Part 2.1).

Limble Origin

The budget used for purchase orders at each mapped location must include a step named exactly Sync to NetSuite for Approval, and it must be the last custom step immediately before Ready to Receive.

NetSuite Origin

Each mapped Limble location needs an existing budget with no custom steps at all before Ready to Receive. It does not need to be a dedicated budget. Just one that lets an imported PO reach Ready to Receive without manual steps in the way.

Work Order Instruction Set Template

Skip this section unless Department, Line of Business, or Project apply to work order Journal Entries or Inventory Adjustments.

  1. Create a parent instruction group named exactly NetSuite Fields (case-insensitive). This parent group is required.

  2. Under NetSuite Fields, create a Dropdown List instruction for each of Department, Line of Business, and Project that applies to your implementation.

  3. For each dropdown option:

    • Set the option name to the NetSuite record name (Project, Department, or Line of Business name).

    • Add a child instruction of type Note under that option.

    • Enter the NetSuite Internal ID as that Note instruction's own text. The integration reads the Note's text, not a typed-in response on the dropdown.

Important:

  • The parent group must be named NetSuite Fields. Without it, department, LOB, and project values are not read from the task.

  • The Note instruction's text must contain the NetSuite Internal ID, not the record name.

Purchase Order Custom Fields - Must Be Added to an Actual PO

Creating the Limble PO custom field(s) (Approval Status, NetSuite Number, Sync Status) is not sufficient by itself.

The field must also be added onto at least one purchase order in Limble (via the PO's field picker) before the integration's writes will display. A PO left in Setup mode is fine. It does not need to be an active or real PO.

Purchase Order custom field in Limble

If missing, this value is not written: write-back fields (Approval Status, NetSuite Number, Sync Status) show nothing on POs even when configured correctly in the wizard, until the custom field has been added to at least one PO's field list at each configured location.


Configure the Integration

  • When Part 1, Part 2, and Part 3 are complete, you have NetSuite customizations, gathered values and decisions, and Limble setup in place.

  • Open the NetSuite integration configuration wizard and enter what you gathered. Wizard pages follow the same order as Part 2.

  • OAuth/API credentials are covered in the separate NetSuite OAuth 2.0 Client Credentials Guide.


Results

Once this setup is complete, you will have the configuration values needed to support the Limble NetSuite integration.

Before enabling the integration, double-check each section:

NetSuite Customizations (Part 1)

  • Sync eligibility checkboxes created as needed (custitem_sync_to_limble, custentity_sync_to_limble, custbody_sync_to_limble) and checked on records to sync

  • Work order asset column custcol_limble_asset on Inventory Adjustment or Journal Entry lines, matching parts mode

  • Asset custom record customrecord_limble_asset and required fields confirmed (when asset sync is included)

  • Dedicated fallback Employee created in NetSuite (optional)

Values Gathered (Part 2)

  • Go-live decisions confirmed: Purchasing Flow, Parts Synced as Non-inventory, and Item Sync Direction

  • Subsidiary ID(s) documented (and subsidiary-to-region mappings complete if Multi-Subsidiary Mode is enabled)

  • NetSuite location mappings complete; Fallback Location NetSuite ID set if needed

  • NetSuite Origin Budget ID per location recorded (when using NetSuite Origin)

  • User emails aligned between Limble and NetSuite; Global User Fallback recorded

  • Purchase Order Updates Email List populated

  • Fallback Vendor NetSuite ID set (when Limble Origin or vendor sync applies)

  • PO write-back fields decided; Service Item Account recorded for Limble Origin service/expense lines

  • Department, LOB, and Project names and internal IDs gathered (Limble Origin only)

  • Work order GL accounts prepared per inventory vs. non-inventory mode; Use Fixed WO Accounts decision made

  • Inventory Adjustment Account ID set for daily quantity reconciliation (when Limble is quantity SoR and inventory mode)

  • LOB Journal Field and Inventory Adjustment settings recorded on Tasks / Work Orders

Limble Setup (Part 3)

  • PO budget includes Sync to NetSuite for Approval as last custom step before Ready to Receive (Limble Origin), or has no custom steps before Ready to Receive (NetSuite Origin)

  • Work order instruction set uses parent group Instructions with Department, Line of Business, and Project child dropdowns storing NS internal IDs in Note instruction text (when used)

  • PO custom fields (Approval Status, NetSuite Number, Sync Status) created in Limble and added to at least one PO's field list at each configured location

Ready to Configure

Configuration wizard opened and values from Part 2 are entered.

If required mappings or configuration values are missing, the integration may fail. Refer to How Failures Show Up in Part 2.

Related Articles

Did this answer your question?