Integrations & ERP Custom Fields / Oracle NetSuite

NetSuite: Configure Account for YayPay Integration

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:

  1. Go to Setup > Company > Enable Features 
  2. Click on the SuiteCloud tab
  3. 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
  4. Scroll down to the Manage Authentication section, and check the Token-based Authentication box. Click I Agree on the SuiteCloud Terms of Service page.
  5. 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

Important

You must create a new role. You cannot use one of the standard roles.

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).

Info

If you are on the NetSuite OneWorld platform, make sure that you select all subsidiaries that you want to sync to YayPay

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:

  1. Go to: Setup > Integration > Manage Integrations > New
  2. 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
  3. Click Save
  4. Note the Consumer Key and Consumer Secret string before you leave the page. Copy these values into a text file for future reference.

Important

The Consumer Key and Secret are ONLY DISPLAYED ONCE in NetSuite. If you forget these values, you will need to regenerate them.

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.

Important

The Token ID and Secret are ONLY DISPLAYED ONCE in NetSuite. If you forget these values, you will need to regenerate them.


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:

Delete

Warning

This configuration applies to all Invoice Forms in NetSuite if you have multiple Invoice Forms, i.e. Standard or Custom Transaction Forms for invoices. Click Save.

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.

Info

Once the NetSuite option/sync for Sales Reps is turned on, the Sales Specialist field is greyed out in the Statement page to avoid accidental user overrides.

You will also not be able to use the Aging Report in YayPay to assign Sales Reps as a group action.


Delete

Requirements for successful Sales Reps sync

1. If Sales Rep users have already been manually added in YayPay - these users must be deleted before any Sales Users are synced over from NetSuite (as any duplicate email addresses will error out).

2. First / Last name and Email Address is required 

3. In NetSuite, there must be only 1 user instance that is assigned to groups. 
We cannot sync multiples of the same user assigned to each individual group - the sync will find the first email address instance, and skip over the same duplicate email addresses.
Even if there are 3 different names that share the same email address like (
Sales@Company.com) the first person will load and the other 2 users will be skipped / error during the sync. 

4. If you have multiple subsidiaries, ensure they are linked to the user in NetSuite and in YayPay. 




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

Refer to https://yaypay.helpjuice.com/en_US/88167-netsuite/payment-integration-to-netsuite#2-using-the-payment-option-checkbox



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

Important

Keep the above information handy. You may need to refer to this in the future if you disconnect and restart the sync (see FAQ later).

Provide these credentials to YayPay Support or your YayPay Rep if you need help to complete the configuration 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:

  1. To create a Customer Billing Contact from NetSuite's Native Email field 
  2. To create Customer Billing Contact(s) from the Contacts maintained in the Relationship tab under a Customer in NetSuite
  3. To create Customer Billing Contact(s) from NetSuite Custom Field(s)
  4. 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

Note

If your Sync approach is to bring over your AR data from each NetSuite Subsidiary, the Subsidiary ID field should contain the NetSuite Internal ID in each YayPay instance provisioned. The Sync will also use the Subsidiaries you associated with the new Role created in NetSuite previously

If your Sync approach is to sync the AR data for the entire Company, leave the Subsidiary ID field blank 

If your Sync approach is to consolidate the sync of your AR data across multiple NetSuite Subsidiaries into 1 YayPay instance provisioned, leave the Subsidiary ID field blank

Refer to: https://yaypay.helpjuice.com/105704-adding-subsidiaries for more background when working with multiple subsidiaries

The Subsidiary ID acts as a filter to guide the Sync to look at customers, contacts, invoices, and other AR data like credits, adjustments, etc within that Subsidiary in NetSuite


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
  • 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:
  • 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:


Note

The Sync can be done in "Test Mode" for the first time

If the checkbox is selected, the connector will not sync and create your actual contacts into YayPay (i.e. the email address of the contacts in YayPay will not be the actual ones)

If the sync has been running for a while and/or completed previously in non-test mode, updating this to Test mode after that is NOT recommended.


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  


Delete

Info

On some occasions, you may need to request a Resync process. This one-off option can be requested through your YayPay Rep or support@yaypay.com. A Resync situation can happen due to:

  • New Customer-level or Invoice-level Custom Field(s) are configured/added in YayPay (which didn’t exist during the previous recurring syncs
  • Settings to sync Customer level Billing Contacts or Invoice Billing Contacts from NetSuite were added/changed
  • Settings to sync Sales Reps/Users from NetSuite which will become the assigned Sales Specialist to the same customers/accounts in YayPay
  • For Invoices in general - this will do a resync of all open invoices data from NetSuite to YayPay (what is already synced and present in YayPay remains as is. While no data is wiped in Yaypay during this process, the resync could overwrite with more recent data found in NetSuite)
  • For Customers in general - this will do a resync of customer data that has at least 1 open invoice in NetSuite. If the customer has 0 open invoices (i.e. no open balances), the customer record will not sync over into YayPay. (Similar to Invoices, what is already synced and present in YayPay remains as is)



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.



Can't find what you need?

Contact our support team support@yaypay.com for help.