Product/Inventory Sync Data Mappings in

The Product Mapping page on (Product Mapping Page) allows you to setup item mappings from NetSuite to your storefronts and marketplace channels. FarApp can then use these mappings to create and update product listings on those channels.

1. To get started, click on the link above. If you have multiple channels setup in FarApp, choose the channel you would like to work with via the dropdown at the top of the page. If you only have a single channel, the page will default to that channel. 

2. The first step when setting up product sync on a new connector is to add a new mapping category. Each channel has multiple categories which FarApp can use to sync products. Click the Add New Category button to see a list of available categories. Selecting one of the options will display a brief description of that category. Once you have added a mapping category, a dropdown will appear at the top of the page allowing you to select from your categories.

3. Next, you are able to start adding mappings for your chosen category. To begin, for every category you will see a mapping for 'Flag Field.' This is an important field, used internally by FarApp to determine whether an item should be created/updated, deleted, or ignored for a given channel. Please consult these instructions for creating a flag field: Storefront Flag Fields. Once you have created this field, enter the its Field ID under the NetSuite Field ID column, and click Save. For help in identifying NetSuite Field IDs, please consult the following article: NetSuite Internal IDs and Field IDs. Note that if you are setting up a Price/Qty category for Price/Qty Sync rather than full Product Sync, you will only need to set up mappings for the following fields: Category, Flag Field, SKU, Price (optional), and Quantity (optional).

4. Click Add Mapping Row at the bottom of the page. The windows which pops up allows you to add mappings for fields belonging to the current category. There will be up to three dropdowns, one for Required fields (which need to be mapped in order to sync products), Standard fields, and Uncommon fields. Under Required fields, select CATEGORY, and click the Add Mapping button. Close the pop-up, and you will see that CATEGORY has been added to the mapping table.

The CATEGORY field is used internally by FarApp to determine if a product should be listed using the current category. If you have multiple categories for a channel, this mapping will be used to choose between them when posting an item, but it's necessary even if you have a single category. You will see an option to 'Click here to edit this mapping' for the CATEGORY mapping; click this button and follow the instructions in the pop-up. Click the Save Changes button in the pop-up when finished.

5. Now, you can start adding mappings via the Add Mapping Row button. We recommend starting with those in the Required dropdown. For each mapping you add, an entry will be added to the table, which you may then edit. There are two possibilities when you add a mapping:

a. In most cases, a mapping will be added which has several options under the Mapping Type column (Use Default, Item Field Mapping, and Item Field Translation Mapping). We will discuss what these types mean in a moment.

b. For some fields, like CATEGORY, it requires specific instructions to map them correctly. These mappings will have 'Special Mapping' in the Mapping Type column. These will have the option 'Click here to edit this mapping', which will open a pop-up with individual instructions for that field.

6. If a mapping is not a Special Mapping, you will have 3 options under the Mapping Type column:

a. Use Default: This is the simplest type of mapping. Enter a value in the Default Value column, and FarApp will always populate the corresponding field with that value when creating or updating products for the current channel and category.

b. Item Field Mapping: This allows you to map a field from NetSuite to an item field on your sales channel by entering its Field ID under the NetSuite Field ID column. A common example would be mapping itemId (Item Name/Number) to the SKU, or storeDisplayName to the title. You can still enter a default value in this case, which will be used if the field in the NetSuite Field ID column is not populated for an item.

c. Item Field Translation Mapping: Sometimes, the value you have in NetSuite for a field may not be the value you wish to map to your sales channel. This option allows you setup to correspondences, or translations, between NetSuite values and the values FarApp posts to the sales channel for a field. When you select Item Field Translation Mapping, the NetSuite Field ID column value will change to a link. Clicking this link will open a pop-up and allow you to set up the translations.

7. Generic Mapper. GenericMapper is a mapping rule that allows to add logic to the mappings. It can pull values from Infeeddata, StoredValues and CurrentFieldValue and run different operations on them. Such as compare, contains, exists, divide and so on. Here is example of such mapping. {{$'==', InfeedData.Quantity, '1', $'<', StoredValues.price, '1', 'delete', CurrentFieldValue), CurrentFieldValue)}}

If FarApp support has worked on your mappings previously, you may see some mappings with the type 'Custom Mapping'. This indicates that something about your mapping for this field is atypical. If you need to edit one of these mappings, please contact FarApp support.