Table of Contents
- Setting Up NetSuite
- Creating a FarApp Account
- Setting Up FarApp
- Setting Up ShipWorks
- Setting Up Order and Fulfillment Sync for ShipWorks
- 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.
- 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. (You can find your current user rule ID following that steps at https://support.farapp.com/hc/en-us/articles/115014364008-How-to-Find-Your-NetSuite-Role-ID.) 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. 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 ShipWorks
- 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 ShipWorks. You will be prompted to select an integration support plan. You can read more about out integration support plans at https://support.farapp.com/hc/en-us/articles/115009555447-Customer-Success. Finally, enter a name and nickname for the new account.
- After you add the ShipWorks 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 ShipWorks
This article assumes that you already have a ShipWorks account and are familiar with using it to print labels, pack and ship orders.
Setting up FarApp as a Generic Module
- Open ShipWorks.
- Go to the Manage tab at the top of the screen.
- Click the Stores button at the left.
- Click the "Add Store" button.
- You should see a screen that pops up with different stores and marketplaces listed, select “Generic - Module” 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 ShipWorks listener: https://sw.farapp.com/secure_ShipWorksListener (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 click Next.
- Follow the rest of the prompts.
Your generic module 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.
ShipWorks also provides instructions for setting up a Generic Module. Here is a link to those instructions: http://support.shipworks.com/support/solutions/articles/4000048147-adding-a-module-based-store-
Setting Up Order and Fulfillment Sync for ShipWorks
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 "ShipWorks 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 ShipWorks.
- 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
ShipWorks' API does not let FarApp automatically "push" orders to your ShipWorks account. You will need to trigger ShipWorks to "pull" orders in from the FarApp connection to NetSuite. Please consult ShipWork's documentation for how to manually pull in orders for a given store.
Please trigger your FarApp store in ShipWorks 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 ShipWorks 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 ShipWorks 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 ShipWorks account previously.
FarApp is able to filter orders so that only orders that meet certain criteria are synced to your ShipWorks 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 ShipWorks, 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.
Setting Up Your Notification Settings
It is important to monitor the "health" of your FarApp integration by staying on top of any orders, items, refunds, etc that might have errors when FarApp tries to sync data for them. The best and easiest way to do this to configure you Notification settings in FarApp so FarApp will send you daily error report emails for your different types of syncs.
You can manage all the various notifications that FarApp can send at https://app.farapp.com/settings#/notification_settings. All settings accept a comma-separated list of email addresses to send the reports to. Some notifications may not be sent unless your FarApp account is currently processing those types of feeds. For example, if FarApp isn't setup to process custom record updates, then adding your emails to that field won't have an effect.
Next Steps and Additional Information
Your Order Sync and Fulfillment Sync have now been configured for your ShipWorks connector. You can pull and fulfill orders from NetSuite in your ShipWorks account. FarApp will update NetSuite with the fulfillment data.
Please see this article if you have any questions on the process for going live with FarApp: https://support.farapp.com/hc/en-us/articles/115012240747-The-Go-Live-Process
Please contact FarApp if you have any questions on the step above or have any suggestions for how we can improve our documentation.