The following outlines how to set up NetSuite and obtain the credentials to eventually configure YayPay so as to start the sync/integration. These steps should be completed by a NetSuite Administrator.
1. Obtain your NetSuite Account ID
Log into your NetSuite System.
Go to Setup > Integration > Web Services Preferences or Setup > Company > Company Information to look up your NetSuite Account ID.
Note this down and/or copy this into a text file to use it to configure YayPay later on:
2. Enable Token-Based Authentication (TBA)
To check or enable the Token-Based Authentication feature in NetSuite:
- Go to Setup > Company > Enable Features
- Click on the SuiteCloud tab
- Scroll down to the SuiteScript section, and check the following boxes:
- Client SuiteScript.
- Server SuiteScript. Click I Agree on the SuiteCloud Terms of Service page
- Scroll down to the Manage Authentication section, and check the Token-based Authentication box. Click I Agree on the SuiteCloud Terms of Service page.
- Click Save
(Alternatively: Go to Setup > Company > Enable Features > Suite Cloud > Manage Authentication and enable Token-Based Authentication)
3. Create a new custom role
In NetSuite, navigate to Setup > Users/Roles > Manage Roles > New
Name the Role "YayPay Integration" or something equivalent to help you remember what it is, and to make it easier to search/locate in the future also.
Select the "WEB SERVICES ONLY ROLE" checkbox (located under Authentication).
Choose "SELECTED" (under Subsidiary Restrictions) if you intend to sync the AR data for specific NetSuite Subsidiaries (select the appropriate NetSuite Subsidiaries). Otherwise, select "ALL" for the whole company. Also please enable the setting "ALLOW CROSS SUBSIDIARY RECORD VIEWING""
Scroll down the same page and click on the Permissions tab to include the appropriate permissions for this role -
These are the minimum permissions/levels required for YayPay to access your NetSuite application to bring over the relevant AR data into YayPay.
Transactions Permissions
Permission | Description | Level |
---|---|---|
Access Payment Audit Log | View | |
Adjust Inventory | View | |
Bill purchase Orders | View | |
Bill | View | |
Cash Sale | View | |
Check | View | |
Credit Memo | View | |
Customer Payment | View | |
Deposit | View | |
Deposit Application | View | |
Find Transaction | View | |
Invoice | View | |
Invoice Approval | View | |
Invoice Sales Orders | View | |
Journal Approval | View | |
Make Journal Entry | View | |
Mark Work Orders Firmed | View | |
Purchase Order | View | |
Receive Order | View | |
Sales Order | View | |
Sales Order Approval | View | |
Timer | View | |
Transfer Order | View | |
Posting Period on Transactions | View |
Lists Permissions
Access to transaction numbering audit log | View | |
Accounts | View | |
Companies | View | |
Contact Roles | View | |
Contacts | View | |
Currency | View | |
Customer Profile | View | |
Customers | View | |
Documents and files | View | |
Employee Record | View | |
Employees | View | |
Export List | Create | |
Items | View | |
Notes Tab | If you intend to sync Customer Notes between YayPay and NetSuite. | Full |
Partners Permission | If you use Partners in NetSuite | View |
Payment Methods | View | |
Projects | View | |
Resource | View |
Note: if you intend to sync Customer Status as a custom field, you should receive access to the Customer Status via NetSuite:
Setup Permissions
Permission | Description | Level |
---|---|---|
Access Token Management | Full | |
Accounting Lists | View | |
Custom Lists | View | |
Custom Record Types | Full | |
Delete Event | Full | |
Deleted Records | Full | |
Enable Features | Full | |
Log in using Access Tokens | Full | |
SOAP Web Services | Full | |
User Access Tokens | Full |
Note: Add "Custom Lists" and set the Permission Level to View.
Custom Record Permissions
To avoid the error: "Permission Violation: You need a higher permission for custom record type Contract Renewals Preferences to access this page. Please contact your account administrator", you should go to Custom Record Permissions to add "Contract Renewals Preferences" with "Full" Permission level. In order to do this, follow these steps:
1. Navigate to Setup > User/Roles > Manage Roles
2. Click the Edit link beside the affected role
3. Click Permissions
4. Click Custom Record
- Level: Select Full
- Record: Select Contract Renewals Preferences
- Record: Select Contract Renewal Action
5. Click Add
6. Click Save
4. Assign the role to an Admin User
Go to Lists > Employees > Employees > Edit User > Access tab > Roles subtab
Assign the new Role created to an existing user, preferably with NetSuite Administrator access, or create a new Administrator user.
On the user page, click the "Edit" button. Locate the Access tab and click on it to add the new role you created previously.
5. Create a new Application record in NetSuite for YayPay
Create a new Application record in your NetSuite system to denote the application you’ll be integrating with.
To do that:
- Go to: Setup > Integration > Manage Integrations > New
- Fill in the following information:
- Application name – set it to "YayPay or YayPay Integration" so that you know what it was created for in the future
- In the state dropdown, select "Enabled"
- Select the "Token-based Authentication" checkbox at the bottom of the page
- Click Save
- Note the Consumer Key and Consumer Secret string before you leave the page. Copy these values into a text file for future reference.
After you click Save, you’ll be redirected to the Integrations page. Review to confirm that the State column shows "Enabled", e.g.
6. Create a new Access Token
Now we need to associate the created user and their role with the application we are integrating with and create a token.
Go to Setup > Users/Roles > Access Tokens > New
Select the integration record, user, and role created previously and click Save.
- On the Confirmation screen, note down the Token ID and Token Secret string. Copy these values into a text file for future reference.
7. To show Partially Paid Invoices more accurately in YayPay
To support the Sync accomplished via the NetSuite API that brings over partially paid invoices, make sure that the "Amount Paid" field in NetSuite is marked as Shown so that the correct Invoice amounts (less the partial payment) are reflected in YayPay.
To do this, search for an Open Invoice and go to that Invoice Record in NetSuite. Click "Customize" on the top right corner (Customize Form). Then look for the "Screen Fields" tab and click on it.
Confirm the "SHOW" checkbox is marked for the Amount Paid label/field:
8. Bring over Sales Reps from NetSuite
You can also decide to bring over the Sales Rep assigned to the Account/Customer in NetSuite if this option is relevant for you.
This will create the User Account for the Sales Rep in YayPay, and the Assignment of the Sales Rep to the Account.
The Sync looks at the native Sales Rep field located at the Account level in NetSuite
Go to the Settings > Business page in YayPay and choose the "NetSuite" option to bring over the Sales Rep during the sync process:
If you configure this after your initial sync has already taken place, approach YayPay Support or your YayPay Rep to request for a one-off technical resync to bring your Sales Reps and link them to the customers already in YayPay.
You can review the Sales Reps in YayPay using the Aging Report after the sync is completed.
Insert the column called "Sales Representative" in your Aging Report and move the column to the left for better visibility. You can export the Aging Report to Excel to compare with your source, etc.
9. Netsuite Connector Settings
Bring over Notes from NetSuite
You can choose to sync your Notes back and forth between NetSuite and YayPay.
Select one or both checkboxes in the panel where you configure YayPay with your NetSuite credentials, which is explained later:
New customer Notes recorded in the Statement Page in YayPay will be found under the User Notes tab of the Customer/Account in NetSuite: :
Bring over Sales Order from NetSuite
Sales Orders can be synced from NetSuite to view them within the YayPay system
In Settings > Integrations > NetSuite(Edit) select the checkbox: Download Sales Orders from NetSuite to YayPay
If you don't have the SalesOrders tab on the Statement Page please check the corresponding setting in Business Settings
Note: Check Permissions for Transactions in NetSuite - Sales Orders is to be added with the View option
Bring Over Cash Sales from NetSuite to YayPay
A cash sale is a transaction record that is used to track the sale of goods or services for which the Company receives immediate payment.
When the option "Download Cash Sales from NetSuite to YayPay" is enabled, the cash sales from NetSuite are synced the same way as invoices (that are already paid, i.e. mapped with the "Invoice" field).
Use fxBalance field to sync erp balance
When enabled (for customers with subsidiaries), the documents are synced from NetSuite in the biz's currency.
Do not sync Invoice PDFs
Once enabled, the Connector will NOT sync the invoice PDFs.
Pull invoice number from external id
When enabled, during the sync the invoice document number is taken from the externalID field.
Use Payment Option
Push Credit Limits to NetSuite
When enabled, the credit limit updated within YayPay is pushed to NetSuite
10. Configure YayPay with your NetSuite credentials to start the Sync
You will use your NetSuite credentials that you recorded earlier to configure YayPay:
- Account ID
- Application ID
- Consumer key
- Consumer secret
- Token
- Token secret
Note: Token and Consumer Secret fields are not shown through the YayPay UI after it is configured and saved in YayPay
Login to YayPay and navigate to the Settings > Integrations page.
Look for the NetSuite panel to configure your NetSuite credentials as well as other options (e.g. to create your customer contacts in YayPay sourced from NetSuite, to sync Notes, etc):
Before moving further, refer to the NetSuite Customer Contacts article and assess which option best aligns with how you maintain Contacts in your NetSuite system so as to complete your configuration in the above panel.
As a recap, the options for syncing and creating Customer contacts are:
- To create a Customer Billing Contact from NetSuite's Native Email field
- To create Customer Billing Contact(s) from the Contacts maintained in the Relationship tab under a Customer in NetSuite
- To create Customer Billing Contact(s) from NetSuite Custom Field(s)
- To create Invoice-level Billing Contacts
Follow these points when you are ready to start your configuration:
- If applicable, select the checkbox “Auto Create Billing Contact”. This option is typically the most commonly used option to automatically create the Billing Contact from the native Email field associated with the Account/customer in NetSuite
- Enter the appropriate NetSuite Account ID, Consumer and Token information that you captured previously
- If appropriate, enter the NetSuite Internal ID of the Subsidiary in the Subsidiary ID field. Otherwise, leave the field blank
For example: If you have 2 YayPay instances provisioned to mirror your 2 NetSuite Subsidiaries (HKG and SGP), configure "10" and "11" as the Subsidiary ID field in each YayPay instance, while reusing the same NetSuite credentials
- Configure these parameters if your invoice volumes fall in the range of 10,000 -15,000 invoices per month. Otherwise, skip this option if it is not relevant in your operating context
- Enter "1" for the "Step for historical and delta sync" and select "Month" to sync your historical data 1 month at a time (as incremental steps until the sync moves forward to the current time)
- Enter "500" for "Number of items in request to NetSuite" to keep the batch sync manageable
- If applicable, enter the NetSuite custom field name (e.g. "custentity....") in the "Create customer level billing contact from custom field" field so as to create the Billing Contact in YayPay. Use a comma to separate multiple custom fields
- If applicable, select the checkbox “Sync all customer's contacts as billing” to bring across your Contacts/email addresses maintained in the Relationship tab under the Customer record in NetSuite
- If applicable, select the checkboxes "Sync Notes from NetSuite to YayPay" and/or "Sync Notes from YayPay to NetSuite" to sync your Notes back and forth
- If applicable, select the "Create Payments" checkbox if you are using YayPay for Payments, and want YayPay to send and create the payment transaction in NetSuite (refer also to: https://yaypay.helpjuice.com/88167-netsuite/payment-integration-to-netsuite)
- If applicable, select the "Create invoice level billing contact from invoice 'email' checkbox
- To bring over and create Invoice-level contacts in YayPay instead of customer level contacts, refer to: https://yaypay.helpjuice.com/integrations/bringing-over-invoice-level-billing-contacts-from-your-erp
- Press "SAVE"
Start the Sync with NetSuite
The "SYNC" button will be enabled after saving your NetSuite credentials:
- Validate that your NetSuite Account (which you configured and saved earlier) is displayed next to the cloud icon
- Press the "SYNC" button to initiate the synchronization with NetSuite:
- You will be prompted to configure Custom Fields (if any)
- Configure your NetSuite Custom Fields under Settings>Custom Fields in YayPay
- All Customer level or Invoice level Custom Fields configured will be part of the Sync process. Refer to this article for more background: https://yaypay.helpjuice.com/tutorials/bringing-over-custom-fields-from-your-erp
- If you have no custom fields and/or if you have completed the Custom Fields set up, return to the Integrations page (Settings > Integrations) and press the "SYNC" button to start the sync process
- When the Sync process is completed for the first time, the “Last Sync time: Never” will be replaced with an actual date-time stamp:
Log Files from Sync
Click on the "LOGS" button to review the approx. volume and the type of AR data pulled over from NetSuite. There is a Log for each sync.
Download the Log as an Excel file to view the results.
11. NetSuite Sync Options
Sync Historical - to Sync NetSuite AR Data up to 3 years from the date (including previously closed / paid invoices)
Sync - to Sync current NetSuite AR Data (this is used for the first time to bring over current Customers, Open Invoices, Contacts, etc). Once completed, a Recurring Sync continues on from there thereafter, multiple times a day
Disconnect - to disconnect from syncing with NetSuite. This will cease any automated Sync’s until YayPay is reconnected again
Logs - to review previous syncs and download logs to see errors if they were to occur
12. Check if Sync with NetSuite was successful
Check your Aging Report
If the sync is successful, you will see your AR data in YayPay in the next day or two (see illustration). If your Aging Report is still empty after 2 days (e.g there are no companies shown or no overall AR value shown), contact support@yaypay.com or your YayPay representative.
Note: The Aging Report will show your total AR balance and ONLY Customers/Companies with balances greater than $0 as a default (See Aging Report article)
Check for Billing Contact(s)
Click on any Customer Name in the Aging Report to go into the Statement page (of that Customer). Scroll to the lower right of the Statement page and look at the CONTACTS section.
This example shows a Billing Contact created in YayPay for the Customer "Brinks", and the email address brought from your ERP:
Move on to the next Article link - NetSuite Invoice PDF Sync to download and install several NetSuite scripts.
This setup is to enable YayPay to bring over your NetSuite Invoice template/PDF, specifically from NetSuite’s File Cabinet Document Folder).
Practical Points / FAQ
Q: How do I disconnect and restart the Sync process?
(e.g. if you forgot to mark a checkbox, change a setting, etc)
- Press the "DISCONNECT" button in the NetSuite Section block - there is no need to press Pause
- If you prefer, click on the "EDIT" button to expand the panel and take a screenshot of the parameters before you disconnect. (If you also have Custom Fields configured, take a screenshot of that under Settings > Custom fields)
- After you disconnect, do a page refresh to be sure (e.g. the NetSuite Account previously displayed will no longer be shown and your configuration parameters will appear empty to allow you to start anew)
- Check the “Auto Create Billing Contact” checkbox before clicking on "CONNECT" again
- Re-enter your NetSuite Account, Consumer and Token credentials, and other checkboxes where relevant. Click "SAVE"
- Press the "SYNC" button - you will be prompted to re-enter the Custom Fields Settings (the Custom Field settings page is "blanked out" each time a Disconnect operation is performed and will have to be re-entered. But the field/data for the custom field that was previously synced remains in YayPay)
Q: How do I switch between multiple instances of YayPay to sync with NetSuite
- Check the drop-down list beside your profile name, located on the top right corner (For more background, refer to this link: https://yaypay.helpjuice.com/tutorials/adding-additional-yaypay-instances)
- The other YayPay instances aligned to your Subsidiary names will be shown in the list if your User Account has been granted access to that Subsidiary. Access to the Subsidiaries is maintained in each User, under Settings > User Management
- When you are in that Subsidiary, navigate to the Settings > Integrations page to repeat the Sync instructions outlined above
Q: Where can I find Error Logs?
Click on the LOGS button on the Integrations Settings page and download the Excel file to review the error message.
For example, an invalid login attempt indicates that YayPay cannot log into NetSuite using the NetSuite credentials configured in YayPay. Review the NetSuite setup in this Article.