Table of Contents
- Setting Up NetSuite
- Creating a FarApp Account
- Setting Up FarApp
- Setting Up ShipStation
- Setting Up Order and Fulfillment Sync for ShipStation
- Next Steps and Additional Information
Welcome, and thank you for choosing FarApp. To get started with your FarApp integration, please follow the steps below.
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.
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)
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
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 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. firstname.lastname@example.org) 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. email@example.com) 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 ShipStation
- 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 3PLs tab and then click on the logo for ShipStation. After this you will enter a name and nickname for the new account.
- After you add the ShipStation connector, you may see that the status column here https://app.farapp.com/dashboard says "Disabled." If this is the case, please click "Edit" to the right of the status and enable the connector.
Setting Up ShipStation
This article assumes that you already have a ShipStation account and are familiar with using it to print labels, pack and ship orders.
Setting Up Your FarApp Custom Store
In order to connect ShipStation to the connector if FarApp you set up above, you will need to setup FarApp as a Custom Store on your ShipStation account. Here are the steps to take to accomplish this:
- Login to your ShipStation account.
- Click the gear icon in the top right corner of your screen.
- From them menu that appears on the left select “Selling Channels” and then “Store Setup”.
- Click the button that says “Connect a Store or Marketplace”.
- You should see a screen that pops up with different stores and marketplaces listed, select “Custom Store” from this screen.
- You should now see a form that allows you to fill out your account information. Under URL enter the URL for FarApp’s ShipStation Listener: https://ss.farapp.com/secure_ShipStationListener (Note: Navigating to this link directly does not work).
- Under username and password enter your FarApp credentials (i.e. the ones you use to login to app.farapp.com) and save your settings.
- Your custom store is now setup so you can pull orders from NetSuite and push fulfillments to NetSuite. Please note that it will take a few minutes for the request to go through the first time, after that it should be working at a much faster pace.
ShipStation also provides instructions for setting up a Custom Store. Here is a link to those instructions: https://help.shipstation.com/hc/en-us/articles/205928478-ShipStation-Custom-Store-Development-Guide#3a
*Store Settings: A number of our customers have asked about what they should map for the settings here. Please leave that as the default: unpaid, paid, shipped, cancelled, on_hold in that order.
How To Configure ShipStation to Email Customers With Fulfillment Info
FarApp considers the best practice to be allowing your storefronts to email the customer with shipping and tracking information. If you would like to not use this approach, however, you can configure ShipStation to email the customer for you using the steps found here: https://help.shipstation.com/hc/en-us/articles/205901608-How-do-I-send-a-shipping-notification-e-mail-to-my-customers-
Setting Up Order and Fulfillment Sync for ShipStation
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:
- Please return to your FarApp dashboard at https://app.farapp.com/dashboard.
- Navigate to the General Settings for your MarketPlace/Cart by clicking the gear icon in the top right, clicking "Settings" and selecting "General Settings" under "ShipStation Settings" in the column on the left side of the screen (direct link is https://app.farapp.com/settings#/3pl_settings/general_settings).
- 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.
You will notice two other settings on this page:
- Check here if you have pick/pack/ship enabled in NetSuite and want to export the pick tickets instead of orders to ShipStation.
- Skip over NetSuite orders with backordered line items.
Please check the boxes beside them as appropriate for your NetSuite configuration and click "Save" at the bottom of the page again.
Importing Your First Batch of Orders
ShipStation's API does not let FarApp automatically "push" orders to your ShipStation account. You will need to trigger ShipStation to "pull" orders in from the FarApp connection to NetSuite. Please consult ShipStation's documentation for how to manually pull in orders for a given store.
You can configure ShipStation to automatically pull orders periodically. ShipStation provides documentation on how to configure this, such as this article: https://help.shipstation.com/hc/en-us/articles/206638707-How-can-I-automatically-update-my-stores-orders-
Please trigger your FarApp store in ShipStation to pull in orders at this time. Depending on the number of orders in your NetSuite that still need to be fulfilled, you may have to wait some time for this process to complete.
*Note: FarApp will "stage" orders here https://app.farapp.com/orders that are ready to go to your ShipStation account. You can check on the statuses of your orders in FarApp on that page. Fulfilled orders will have the status "Complete" and will not be visible on that page by default. You can change the filter on your orders using the menu shown below:
Fulfilling Your First Batch of Orders
Once the orders have been retrieved, you can print labels for the orders and fulfill them. The fulfillment data including tracking numbers will automatically sync back to your NetSuite. FarApp will generate item fulfillment records for each shipped order and the orders will be marked as fulfilled in your NetSuite.
If you also have a marketplace/cart connector(s) with FarApp, you can activate the Fulfillment Sync(s) for that connector and FarApp will automatically sync fulfillment data including tracking numbers to the storefront every 90 minutes to update the end customer.
By default, when you trigger ShipStation to pull more orders into the FarApp store, FarApp will retrieve orders in the "Pending Fulfillment" and "Pending Billing" states in your NetSuite that have not already been retrieved and synced to your ShipStation account previously.
FarApp is able to filter orders so that only orders that meet certain criteria are synced to your ShipStation account. If you would like to set up a filter, please open a ticket with us and describe the logic you would like to use for the filter. In order to filter orders out of the sync to ShipStation, FarApp will need to reference fields on the Sales Order records in your NetSuite, so please make sure the logic you would like to use references fields on your Sales Orders.
Next Steps and Additional Information
Your Order Sync and Fulfillment Sync have now been configured for your ShipStation connector. You can pull and fulfill orders from NetSuite in your ShipStation account. FarApp will update NetSuite with the fulfillment data.
Please contact FarApp if you have any questions on the step above or have any suggestions for how we can improve our documentation.