SharpSync
  • Welcome
  • Fundamentals
    • Getting Started
      • Registration
      • Landing Page
      • Support
      • Subscription
    • Data Sources
    • Property Mappings
      • Adding Property Mapping
      • Property Mapping Settings
    • Rules
      • Import / Export
        • Append text
        • Calculate number
        • Export manipulation
        • Format as decimal number
        • Prepend text
        • Remove property
        • Replace all instances
        • Replace first instance
        • Round to nearest X
        • Select from JSON
        • Set cell value
        • Set empty cells
        • Text manipulation
      • Display
        • Number between
        • Text contains
        • Text ends with
        • Text evaluation
        • Text is a number
        • Text is exactly
        • Text is in list
        • Text is not a number
        • Text is not empty
        • Text is not in list
        • Text length between
        • Text length is exactly
        • Text maximum length
        • Text minimum length
        • Text not contains
        • Text not ends with
        • Text not starts with
        • Text starts with
      • Advanced Scripting
    • BOM Comparison
    • Data Safety
    • Troubleshooting
      • Duplicate component paths
      • OAuth 2.0
  • Data Sources
    • Autodesk Inventor
    • CSV
      • Getting Started
      • Importing a Bill of Materials (BOM)
    • MS Dynamics 365 Business Central
      • Getting Started
      • Item Fields Json & Internal Names
      • Resource Fields Json & Internal Names
      • List Names For nestedObject Mappings
    • NetSuite
      • OAuth Setup
        • Permissions
      • RESTlet Script Setup
        • SharpSync RESTlet Script
      • Thumbnail Folder Setup
      • Authentication + Configuration
      • Common setup
        • Configure quantity mapping
        • Configure accounts mappings
        • Configure itemType mapping
        • Configure isPhantom mapping
        • Configure subsidiary mapping
        • Configure price mapping
        • Configure Where Used Link mapping
        • Configure thumbnail mapping
        • Read-Only NetSuite Fields
        • Common Mapping Rules
        • Common List names
      • Advanced Bill of Materials
      • Configure Routings
      • Integration tips
      • Troubleshooting
    • Odoo
      • Getting Started
        • Authentication + Configuration
        • Debugging tips
      • Common Setup
        • Map BOM Codes
        • Map BOM Types
        • Map Attribute Values
          • Reading Attributes - Overview
          • Display All Attribute Names
          • Display Single Attribute Values
          • Writing attributes
      • Product Management
      • Hosting Options
      • List Names
      • Permissions
      • Troubleshooting
    • Onshape
      • Getting Started
      • Setting up Derivatives
    • Propel PLM
      • Getting Started
    • SolidWorks
    • SolidWorks PDM
      • Downloading and installing the add-in
      • Configure the add-in
      • Setting up the Solidworks PDM Web 2
      • Troubleshooting
      • Submitting a BOM for update
  • Advanced
    • Derivatives
  • User management
    • User Management
    • Application Permissions
Powered by GitBook
On this page
  • Subsidiary Property Mapping Settings
  • Subsidiary Property Mapping Rules
  1. Data Sources
  2. NetSuite
  3. Common setup

Configure subsidiary mapping

When using Advanced BOMs subsidiary selection becomes available for manufacturing routes. To setup subsidiary selections, add a new Property Mapping for each item type that you need.

Subsidiary Property Mapping Settings

Setting
Value

Primary accessor

(Unmapped)

or mapped to a Primary Source accessor if you have one

Secondary accessor

assemblyitem.subsidiary inventoryitem.subsidiary etc...

Update Primary on Submit

unchecked

Update NetSuite on Submit

checked

Object Value Selector

refName

List Name

subsidiary

List Value Selector

"id" : "{id}", "displayName" : "{name}"

Rendering Type

Advanced Multi Select List

List Display Selector

displayName

List Value Selector

id

List Items

**see below

Prefer NetSuite value

checked

The list items will depend on the values returned in the List Valuessection after saving the property mapping the first time or clicking the refresh button.

The list values returned needs to be formatted. You can use Chat GPT with this prompt:

Below is a sample that can be generated from this list:

Convert the following string into a JSON array with "id" and "displayName" key value pair objects. The keys must be strings

Once done, it will produce a Json array which can be pasted in the List Itemsfield in the Property Mapping settings.

[
  { "id": "8", "displayName": "Branch 1, Inc" },
  { "id": "42", "displayName": "My Industries LLC" },
  { "id": "54", "displayName": "Acme Corp" }
]

Take note: There are 3 objects (with ids 8,42 and 54) in the list above. There should not be a trailing comma after the last object { }in the list above

Subsidiary Property Mapping Rules

Given this input, create the following rules:

  • A Select From Json import rule for NetSuite (check the checkbox for Process for NetSuite) with the following text:

items
  • A Text Manipulation import rule for NetSuite (check the checkbox for Process for NetSuite) with the following text:

if (s !== "") { return s.map((item) => item.id); } else { return []; }
  • Since the rendering type of this property mapping is a multi-select type, you need to ensure that values are properly manipulated (a multi-select rendering type deals with array type values). One example is to convert empty values from the Primary/CAD source to an empty array; create a Text Manipulation import rule for your Primary/CAD source with the following text (or replace with your custom logic that returns an array of subsidiary ids, making sure that the fallback is an array or an empty array):

if (s === "") { return [];}

PreviousConfigure isPhantom mappingNextConfigure price mapping

Last updated 3 months ago