Table of Contents
- Creating a FarApp Account
- Setting Up Your Storefront
- Setting Up NetSuite
- Preparing NetSuite to Connect to FarApp
- Installing the FarApp Bundle on NetSuite
- Creating Subtabs for the Item Creation Screen
- Installing the FarApp for SuiteSuccess Bundle on NetSuite
- Creating the Product Sync Fields Using the FarApp for SuiteSuccess Bundle
- Configuring NetSuite to Allow You To View Field ID's and Internal ID's
- Setting Up FarApp
- Connecting FarApp to NetSuite
- Connecting FarApp to Your Storefront
- Setting Up Order Sync and Fulfillment Sync for Your Storefront
- Setting Up Product Sync or Price/Qty SYnc for Your Storefront
- Setting Up Refund Sync for Your Storefront
- Connecting FarApp to Your 3PL's
- Credit Cards and PCI Compliance
- Next Steps and Additional Information
Welcome, and thank you for choosing FarApp as part of your retail SuiteSuccess implementation. This guide will walk you through setting up FarApp for SuiteSuccess. To get started with your FarApp integration, please follow the steps below. Not all of our customers follow all of the steps, however, because not all of ours customers will need to connect the same things (i.e. if you do not want to set up Refund Sync, please skip that portion).
The following article provides a generalized overview of integrating with FarApp. We are also working on providing storefront-specific instructions that will provide more detailed instructions specific to each storefront. We will link these articles here as they become available. They can also be found in the sections of our Knowledge Base devoted to that storefront.
- Amazon Integration Guide: https://support.farapp.com/hc/en-us/articles/230497688-Amazon-Integration-Guide
- Magento Integration Guide: https://support.farapp.com/hc/en-us/articles/231832627-Magento-Integration-Guide
- Shopify Integration Guide: https://support.farapp.com/hc/en-us/articles/229257827-Shopify-Integration-Guide
- eBay Integration Guide: https://support.farapp.com/hc/en-us/articles/115006636527-eBay-Integration-Guide
- BigCommerce Integration Guide: https://support.farapp.com/hc/en-us/articles/115006978968-BigCommerce-Integration-Guide
We provide a number of support plans for our customers to best meet the needs of their businesses. You can read more about each plan here: https://support.farapp.com/hc/en-us/articles/222413588-Support-Tiers For customers in the Managed/Priority or Enterprise Integration or Ongoing plans, if you would like to not go through the steps in this article, or if you would like assistance going through it, please open a ticket with us and we will be able to assist you. If you are not part of either of these plans, but would like to sign up for one, please contact us and we will set you up with your desired plan.
Creating a FarApp Account
- Navigate to http://www.farapp.com/
- Click "Sign Up"
- On the new screen, populate the required fields and agree to the Subscription.
- Click "Submit"-
- Check your inbox for an email from FarApp at the email address you entered in step 3 and follow the link provided in the email to activate your FarApp subscription at http://www.app.farapp.com/dashboard.
Setting Up Your Storefront
This article assumes that you have already configured your storefront and are familiar with navigating it, posting products on it and taking orders through it.
It may be possible to set up items in your storefront without SKU's. Please make sure your items have SKU's. FarApp will use the SKU of each item to match it with its corresponding item in NetSuite.
If you have any third party applications/scripts/extensions already installed on your storefront that you believe might affect how items post or update or how orders are formatted, please contact us and let us know the details of these third party applications. Anything that effects the data on items or orders has the potential to effect FarApp's ability to sync your items or orders.
Setting Up NetSuite
This article also assumes that you have already created a NetSuite account and are familiar with creating Items, Sales Order/Cash Sales and the accounting processes you will be using.
Preparing NetSuite to Connect to FarApp
- From your NetSuite home page, go to Setup > Company > Enable Features, and select the SuiteCloud tab.
- In the section "SuiteTalk (Web Services)", make sure the Web Services checkbox is checked. If not, check the box, and save your settings.
- Go to Setup > Integration > Web Services Preferences and make a note of your Account Number for use below.
- Go to Setup > Integration > Web Services Preferences. In the upcoming steps you will be giving FarApp access to your NetSuite. You can choose to assign the user you give FarApp an the administrator role (usually internal ID 3). If you do not want to give the FarApp user the administrator role, you will need to make sure that the FarApp user has the following permissions:
- Lists > Accounts Full
- Lists > Customers Full
- Lists > Items Full
- Lists > Locations View
- Lists > Payment Methods View
- Lists > Documents and Files Full
- Transactions > Sales Order Full
- Transactions > Sales Order Approval Full
- Transactions > Find Transaction Full
- Transactions > Item Fulfillment View
- Setup > Web Services Full
- Setup > Accounting Lists View
- Setup > Custom Item Fields View
- Setup > Custom Transaction Fields Full
- Setup > Custom Fields Full
- Setup > Custom Lists Full
- Setup > Custom Record Types Full
- Setup > Other Custom Fields View
- Setup > Other Lists View
- Setup > Custom Body Fields Full
- Lists > Currency View
- Lists > Shipping Items
- Transactions > Invoice View
- Transactions > Fulfill Sales Orders View
- Transactions > Credit Memos
- Transactions > Fulfill Sales Orders Full (for 3PL integrations only)
Installing the FarApp Bundle on NetSuite
FarApp's NetSuite bundle (just called FarApp for simplicity) is used to push item updates to FarApp from NetSuite in real-time to improve update speeds. If FarApp is doing product and/or inventory updates, you should install the bundle. You can read more about using the FarApp bundle here: https://support.farapp.com/hc/en-us/articles/219375948-FarApp-NetSuite-Bundle
*Please note, if you don't enter your FarApp credentials (the credentials you use to log into FarApp) in the two separate locations mentioned in the section below, you will get invalid credentials errors in NetSuite after installing the bundle. This will prevent you from creating transactions in NetSuite until the credentials are entered.
*Please be sure to only install the FarApp bundle on the account you currently have connected to FarApp here: https://app.farapp.com/settings#/netsuite_settings (e.g. if you have both a NetSuite sandbox and live NetSuite, please ensure you only install it on one of these at a time)
To install the bundle, follow these steps in NetSuite. Once started, you must complete them:
- Make sure you are logged in to NetSuite as an admin user.
- Go to Customization->SuiteBundler->Search & Install Bundles.
- Enter FarApp in the KEYWORDS box and click the Search button.
- Find the result named just "FarApp" and click on the name.
- Click Install. It may take a little time but this will install the bundle.
- Once installation completes, go to Customization -> Scripting -> Script Deployments
- From the Drop down that says 'Scripts' select 'Push Item Updates to FarApp'
- Click 'Edit' on the deployment that shows up in the list
- Click the 'Parameters' tab and enter your FarApp credentials (i.e. the ones you use to login to app.farapp.com) in the text fields
- Click 'Save'
- Go to Setup->Company->General Preferences.
- Go to the Custom Preferences tab.
- In the FarApp section, enter your FarApp credentials (i.e. the ones you use to login to app.farapp.com).
- If you have user-event scripts in NetSuite that modify an item record as you save the item record (for example, upon save, it auto-computes the prices and updates them), then check the "HAVE ITEM-MODIFYING USER-EVENT SCRIPTS" box. Otherwise, leave it unchecked for improved performance.
Once the above is done, any item and/or inventory changes will be pushed to FarApp in real-time.
Creating Subtabs for the Item Creation Screen
When you create an item in NetSuite, you will need to populate a number of fields with information like the item's description, weight, color, etc. NetSuite organizes these fields within subtabs. FarApp requires several unique fields in order to sync your items from NetSuite to your storefronts automatically. These steps will walk you through creating special subtabs for these fields. Our images in these steps are using Shopify just as an example.
- Make sure you are logged into your NetSuite account.
- Navigate to "Customization" > "Forms" > "Subtabs"
- Navigate to the “Item” tab
- Fill out the following (without the quotes) in the title field: “Amazon"
- Click "Save"
- Navigate back to "Customization" > "Forms" > "Subtabs"
- Navigate to “Item” tab
- Fill out the following (without the quotes) in the title field one by one for the Marketplace you are configuring, and select the name the Marketplace item you just set up in step 4 in the Parent dropdown list field: Amazon > “Not Common”, “Optional”, “Required” ; Marketplace/Cart > “Required”, “Optional”
- Click SaveOnce you are finished, your Custom Subtabs should look like this:
- Please note that if you name something incorrectly, in the upcoming section the FarApp for SuiteSuccess bundle will provide feedback on what tab or subtab you need to return to and recreate.
Installing the FarApp for SuiteSuccess Bundle on NetSuite
*Please note that if you are installing the FarApp for SuiteSuccess Bundle on NetSuite you need to have completed the steps above for "Creating Subtabs for the Item Creation Screen."
- SuiteSuccess is a special NetSuite program that you may or may not be a part of. You can learn more about it here: http://www.netsuite.com/portal/services/suitesuccess.shtml You do not need to be a part of the SuiteSuccess program to use FarApp's special NetSuite bundle for it. FarApp's SuiteSuccess bundle will automatically create the basic item fields that FarApp will require. To begin installing the bundle, login to your NetSuite account.
- Navigate to Customization > SuiteBundler > Search & Install Bundles
- Enter ‘farapp for suitesuccess’ in the "KEYWORDS" field and Click "Search"
- Select “FarApp for SuiteSuccess - Item Fields”
- Click "Install"
- Click "Install Bundle", then Click "Ok"
- This will redirect you to the list of your installed bundles. You will see the first in the list as “Loading”. After allowing some time, click Refresh and confirm you see “FarApp for SuiteSuccess - Item Fields”
Creating the Product Sync Fields Using the FarApp for SuiteSuccess Bundle
- Next, please navigate to SetUp > FarApp > FarApp SuiteSuccess Marketplace Fields.
- Here, please select the Marketplace/Cart you will be integrating with and then enter in the number of accounts you plan to set up with FarApp for that Marketplace/Cart. You can do this multiple times if you have multiple Marketplaces/Carts that you want to integrate.
Configuring NetSuite to Allow You To View Field ID's and Internal ID's
- Go to Setup > Company > Enable Features > SuiteCloud and check the box for Client SuiteScript if it hasn’t already been checked.
- Go to Home > Set Preferences > General Tab > Set Defaults and check the box for Show Internal IDs if it hasn’t already been checked.
- For additional information on this, please reference this article: https://support.farapp.com/hc/en-us/articles/216635418-NetSuite-Internal-IDs-and-Field-IDs
Setting Up FarApp
Connecting FarApp to NetSuite
- To get started, login at https://app.farapp.com/dashboard. This page will be the hub for your activity within FarApp, allowing you to setup and manage accounts, as well as test and oversee order processing. After this, please follow the steps below. Not all of our customers follow all of the steps, however, because not all of ours customers will need to connect the same things (i.e. if you do not want to connect a 3PL such as ShipWorks, please skip that portion).
- A popup window will prompt you to choose your Master System. You will be using NetSuite as your Master System.
- Click ‘Edit’ for the NetSuite connector, and enter your NetSuite account information. Please note that you can add multiple NetSuite logins on this page. Unless you have a SuiteCloud Plus license, most NetSuite accounts only allow a single concurrent session to NetSuite. If you process a large number of transactions (1,000+/day) or have a lot of SKUs (50,000+), it may benefit you to enter more than one NetSuite login. If you have SuiteCloud Plus, please let us know so that we can configure your account to take advantage of multiple concurrent sessions.
- Enter your Account Number that you made a note of above.
- Make sure to check the "Active" box for any additional logins that you want FarApp to use. If you want to deactivate one of these additional logins so that FarApp doesn’t use the login, you can either uncheck the box in the “Login Active” column or delete the row.
- Enter the email for the user you want to assign to FarApp. This is the email account with which you log into NetSuite. It can be an account dedicated to FarApp (e.g. email@example.com) or it can be one of your existing accounts. FarApp uses web services to communicate with NetSuite. Since web services sessions don’t conflict with interactive sessions, you can be logged into NetSuite at the same time as FarApp. The only benefit to providing FarApp its own credentials is if you want to control permissions separately for FarApp and/or if you want to be able to view the history of changes made by each user in NetSuite. If you do decide to provide FarApp its own unique login, please use your own domain (e.g. firstname.lastname@example.org) and not the “farapp.com” domain.
- Enter the password associated with this NetSuite account.
- Assign the user the internal ID of the NetSuite role you want to assign to this email. If you are not going to assign a role, please make sure the FarApp user has the permissions listed in the section above.
- Once you populate the information above, please click “Save Settings”. This will save the settings in FarApp and test them to make sure that FarApp can properly log into NetSuite.
- If the NetSuite account you are connecting FarApp to is a sandbox account, please go to https://app.farapp.com/dashboard, click on the the gear icon at the top right, select Settings and go to the NetSuite Settings Page in the left panel. Flag the first checkbox on that page for "The NetSuite account you're connecting is a sandbox account and not a production account."
Connecting FarApp to Your Storefront
- Return to https://app.farapp.com/dashboard.
- If the pop up window for adding a connector is not already present click the "Add New Connector" button at the bottom of the page.
- In the pop up window, click the logo for your storefront then enter a name and nickname for the new account.
Setting Up Order Sync and Fulfillment Sync for Your Storefront
After connecting their marketplaces/carts, most customers test and setup order sync for Amazon. Posting a test order, however, will require that you have products you can purchase. If you don't, move on to product sync first in the next section and then return to this step.
*Important! Before you attempt to import an order using FarApp, make sure you can import an order manually with NetSuite. Any field that you cannot import manually FarApp will be unable to import as well.
In order to get order sync setup you will need to make sure that you can successfully import a test order into NetSuite. The first step to this process is getting your account setup to import a test order. There are two parts to this step: getting the custom transaction body fields FarApp requires setup, and mapping the SKU field to your orders. First we'll look at how to setup the mapping to your custom transaction body fields, then we'll take a look at setting up the mapping for your SKU field.
Custom Transaction Body Fields
FarApp requires two transaction body fields for order processing. We use these fields to ensure that duplicate orders do not get posted to your NetSuite account. Please note that if you followed the steps above for installing the FarApp for SuiteSucess bundle, these fields are automatically created for you. If you would like to manually create your own fields, or did not install the FarApp for SuiteSucess bundle, here are instructions on how to create these fields in NetSuite: https://support.farapp.com/hc/en-us/articles/217181157-Setting-Up-FarApp-s-Required-Custom-Transaction-Body-Fields
To get your custom transaction body fields setup in FarApp follow these steps:
- Click the gear icon in the top right corner of the screen, then click “Settings.”
- Once you have these fields created you’ll want to set them up in the “NetSuite Settings” page. Click the gear icon in the top right corner of the screen, then click “Settings.”
- Click “NetSuite Settings” on the menu bar that appears on the left hand side of the screen. You should now see the mapping screen.
- You should see two text boxes on the screen, one that says “Custom transaction body storefront field” and another that says “Custom transaction body storefront order field” (If you do not, then it means you setup multiple connectors and will want to make sure that both the “Channel” and “Account” drop downs are set to “All”).
- Input the Field IDs for both of these fields (including the custbody portion). If you are unsure how to get the Field IDs follow the instructions here to get them: https://support.farapp.com/hc/en-us/articles/216635418-NetSuite-Internal-IDs-and-Field-IDs
- Click “Save” at the bottom of the screen. You are now ready to import your first order.
Mapping the SKU Field
The SKU Field is the field that FarApp uses to link up the line items on your orders with their corresponding items in NetSuite. In order to properly match up the items, FarApp needs to know what field in NetSuite you use as your SKU field. To get your SKU field mapped, follow these steps:
- Navigate to the General Settings for your MarketPlace/Cart by clicking the gear icon in the top right, clicking "Settings", selecting "Marketplace/Cart Settings" (if you have only one Marketplace, instead of Marketplace/Cart it will say the name of the Marketplace, ex: "Magento Settings"), and then selecting General Settings (direct link is https://app.farapp.com/settings#/marketplace_cart_settings/general_settings).
- If you have multiple channels/accounts, make sure you select the appropriate ones from the dropdowns that appear at the top. On this page you will see a text field labeled "NetSuite SKU Field" as shown here:
- In NetSuite, find the field ID of the field that you use as your SKU field and enter it into the text field (e.g. itemId for Item/Name Number), then click "Save" at the bottom of the page.
Importing Your First Order
Now that you have setup the required order fields, let’s try importing an order.
- Click the “Orders” tab at the top of your screen. This will take you to the orders screen which will show you all the orders you have imported through FarApp.
- On the right side of the blue menu bar, you will see a gear icon; hover over this icon and select “Retrieve Order.”
- Fill in the correct Channel, Account, and Order ID, and select “Retrieve”. You should see the order appear in FarApp.
- Now that the order has appeared, you can try posting it to NetSuite. To the right of the order, click the pen-and-paper button and select “Post Order to NetSuite.”
- In a few moments (you may need to refresh the page), you will either see the order turn green to indicate the order posted successfully, red to indicate that there was a posting error, or grey with a status of "complete" to indicate the order has posted as a Cash Sale to NetSuite and no fulfillment is required. If you retrieved an FBA order, its status should be "complete" once posted.
- If the order turns red, you have a posting error. Hover over the order to see the error; many errors can be resolved by updating your mappings. Since this is your first order two errors you will have to fix are that the shipment and payment methods are not mapped. If the order is an FBA order, you will need to set up your shipment method mapping here https://app.farapp.com/settings#/marketplace_cart_settings/order_sync/shipment_settings in the "Default shipment method to use for FBA orders:" field and your payment method mapping here https://app.farapp.com/settings#/marketplace_cart_settings/order_sync/payment_settings in the "Payment method for Amazon-fulfilled (FBA) Amazon orders:" field. If it is an MFN order, however, here are the links to instructions for setting these mappings up on your own:
- Since NetSuite does not report all errors with an order at once, you may find yourself clearing up one error to see a new one appear. This is the normal process to follow when importing an order.
- Once you have cleared all the errors and the order is showing as green check the order in NetSuite to confirm that all your desired data is in NetSuite.
- If there are fields missing in the NetSuite order you’ll want to follow the steps in the “Updating Your First NetSuite Order” section.
- If all the fields are present, congrats! You have successfully pulled in a NetSuite order using FarApp. Continue to the “Setting Up Order Sync” section so we can start automatically pulling in your orders.
Updating Your First Order
Since you are missing some fields in your NetSuite order you’ll need to add some more mappings. Repeat step 6.3 of “Importing Your First Order” until you have mappings for all the fields you want. Once that is done follow these steps to update your order in NetSuite:
- Click the “Orders” tab from the menu at the top of the page.
- Click the pen-and-paper icon to the right of your test order.
- Click “Update Order In NetSuite.”
- You should see the order turn blue and see a loading icon appear to indicate the order is posting. Once it changes back to green, the order has updated, and you can check NetSuite again.
- If you still do not see fields showing up in NetSuite, but you have setup the mapping for that field in FarApp, try manually adding the values to those fields. If you cannot, or if NetSuite deletes the values after you save the order, then there is setup you need to do on your NetSuite account to post to these fields. Once you are able to manually enter values into those fields, FarApp will be able to post to those fields as well.
- If all the fields are present, congrats! You have successfully pulled in a NetSuite order using FarApp. Continue to the “Setting Up Order Sync” section so we can start automatically pulling in your orders.
Setting Up Order Sync
Before you can setup order sync on app.farapp.com you will need to select your “Order Cutoff Date” for your connector. Follow these steps to set this up:
- Click the gear icon in the top right corner of app.farapp and select 'Settings' from the menu that appears
- Select "Marketplace/Cart Settings" from the menu on the left (If you have only one Marketplace, instead of Marketplace/Cart it will say the name of the Marketplace, ex: "Amazon Settings"), and then select 'General Settings'.
- If you have multiple Marketplaces or accounts, make sure you select the appropriate ones from the blue menu bar at the top of the page.
- You should see a date entry field that says 'Import orders created after' (for setting up Amazon you will see two date entry fields, one for your MFN orders and one for your FBA orders) (Examples pictured below)
- Select the date that you want to start importing orders from
General Order Cutoff Date:
Amazon Order Cutoff Dates:
Enabling Order Sync and Fulfillment Sync
Now that you have successfully imported an order to FarApp you can enable Order sync for your channel. Here are the steps to accomplish this:
- Click the “Dashboard” tab from the menu at the top of the page.
- Click the “Edit” button to the right of your connector.
- To activate your Order sync, click “Order Sync: Inactive”, you should see it change to “Order Sync: Active.”
- To activate your Fulfillment Sync Click "Fulfillment Sync: Inactive", you should see it change to "Fulfillment Sync: Active"
- Check the Orders screen periodically. You should start to see orders come in every 20 minutes and fulfillments post back to your channel every 90 minutes.
Setting Up Product Sync or Price/Qty Sync for Your Storefront
Product Sync and Price/Qty Sync are set up differently for different storefronts. Please see the storefront-specific instructions for your storefront that are linked at the top of this article.
Setting Up Refund Sync for Your Storefront
Refund Sync is set up differently for different storefronts. Please see the storefront-specific instructions for your storefront that are linked at the top of this article.
Connecting FarApp to Your 3PL’s
FarApp provides a connector between ShipStation and NetSuite that allows you to pull orders in from NetSuite to ShipStation and push fulfillments back from ShipStation to NetSuite. In order to set this up, please follow the steps in our ShipStation Integration Guide: https://support.farapp.com/hc/en-us/articles/115011334208-ShipStation-Integration-Guide
FarApp provides a connector between ShipWorks and NetSuite that allows you to pull orders in from NetSuite to ShipWorks and push fulfillments back from ShipWorks to NetSuite. In order to set this up, please follow the steps in our ShipWorks Integration Guide: https://support.farapp.com/hc/en-us/articles/115011371928-ShipWorks-Integration-Guide
FarApp provides a connector between Shipwire and NetSuite that allows you to pull orders in from NetSuite to Shipwire and push fulfillments back from Shipwire to NetSuite. In order to set this up, please follow the steps in our Shipwire Integration Guide: https://support.farapp.com/hc/en-us/articles/115011378588-Shipwire-Integration-Guide
FarApp provides a connector between ShippingEasy and NetSuite that allows you to pull orders in from NetSuite to ShippingEasy and push fulfillments back from ShippingEasy to NetSuite. In order to set this up, please follow the steps in our ShippingEasy Integration Guide: https://support.farapp.com/hc/en-us/articles/115011373528-ShippingEasy-Integration-Guide
FarApp supports a number of additional 3PL's. You can see a full list of the 3PL's here: https://support.farapp.com/hc/en-us/articles/216635908-Supported-Marketplaces-Carts-and-3PLs We are working on developing documentation for the set up steps for these other 3PL's as well and will include those steps here once they are complete.
Credit Cards and PCI Compliance
FarApp imports credit card tokenization details by default in order to maintain PCI compliance. Most storefronts do no support capturing full payment details, but if they were to support this and FarApp were to import this data to NetSuite for you, it would be in breach of PCI compliance.
If you are using the same payment gateway in your storefront and NetSuite, then you should not have any issues authorizing a payment in the storefront and capturing the payment in NetSuite. In some situations, FarApp will need to send additional information via your connector to NetSuite while still maintaining PCI compliance. If you believe this might be the case, please contact us. You can also choose to perform both the authorization and capture in the storefront. If you are performing the capture in NetSuite, you can also perform your refunds in NetSuite.
Next Steps and Additional Information
Please contact FarApp if you have any questions on the step above or have any suggestions for how we can improve our documentation.
The above steps are FarApp's leading practices. If you would like to diverge from these in anyway, please let us know. We are working on a creating a number of articles that can help you with this and we will link them here when they are ready.