Integrating with NetSuite
NetSuite Configuration
Creating an Integration
Please Note: A NetSuite administrator account is required for the following steps to be completed. Substantial knowledge of NetSuite and your organisation's accounting requirements is also necessary to adequately complete this integration. Do not proceed unless you are prepared and authorised to do so.
Begin by logging in to your NetSuite account and navigating to the Setup heading. From here, move to Integration, then Manage Integrations and select New:
Provide a suitable Name and Description for your new integration, such as CTB AND CO. Integration. Ensure that STATE is set to Enabled and USER CREDENTIALS under the Authentication tab is ticked:
If you do not plan to use Token-Based Authentication, ensure the TOKEN-BASED AUTHENTICATION checkbox under the Authentication tab is unticked, then Save your new integration. If you require Token-Based Authentication, please read the below optional section of this article.
Once your new integration has been saved, click Back to return to the Manage Integrations page and take note of its unique APPLICATION ID, which will be used to establish a connection to your NetSuite account:
OptionalSetting Token-Based Authentication
Please Note: Token-Based Authentication is required if Two-factor authentication (2FA) is enabled for your NetSuite account.
If you intend on using Token-Based Authentication for your integration, please ensure the TOKEN-BASED AUTHENTICATION checkbox is ticked for your new integration. Further, please uncheck the AUTHORIZATION CODE GRANT and TBA: AUTHORIZATION FLOW checkboxes under the OAuth 2.0 heading:
Click Save to proceed, then scroll down to the Client Credentials section, then copy both the Key and Secret and retain for later use:
Please Note: Your Key and Secret will no longer be visible within NetSuite once your integration setup has been completed. Be sure to securely retain these values before finalising your new NetSuite integration, otherwise a new Integration must be created.
Click Back to return to the Manage Integrations page and take note of its unique APPLICATION ID, which will be used to establish a connection to your NetSuite account:
Obtain Account ID
Move to the Setup, Integration, SOAP Web Services Preferences page:
Take note of your ACCOUNT ID under the Primary Information heading, as this will be required to establish a connection to NetSuite later in this guide:
Authentication
When connecting to NetSuite, two main authentication methods are available: Email/Password Authentication and Token-Based Authentication. An Email and Password must be specified for an Adminstrator account when using standard authentication, however Token-Based Authentication does not (although it requires additional setup). Token-Based Authentication is necessary if Two-factor authentication (2FA) is enabled for your NetSuite account.
Begin by navigating to the Integration page and selecting the NetSuite icon to open the NetSuite Configuration window, then follow the steps below establish a connection to your NetSuite account.
Email/Password Authentication
NetSuite integrations require an Email and Password to be specified unless Token-Based Authentication is enabled. From the NetSuite Configuration window, enter your credentials of an Administrator account in the fields provided under Step 1:
Under the Account No. field, enter your Account ID from NetSuite as covered earlier, then enter the Application ID of the new integration you had created within the App ID field:
Unless you are using Token-Based Authentication, you may proceed to Testing Your Connection. Otherwise, please review the optional section below.
OptionalToken-Based Authentication
Please Note: If you intend on using Token-Based Authentication, you must have retained both your Key and Secret when your NetSuite Integration was created, and enabled both the TOKEN-BASED AUTHENTICATION and USER CREDENTIALS settings. Check these settings and values before proceeding, or otherwise revisit the above section if required.
From the Setup heading, navigate to Company and select Enable Features:
From here, select the SuiteCloud tab, then locate the Manage Authentication section. Tick the TOKEN-BASED AUTHENTICATION option, taking note of the SuiteCloud Terms of Service before doing so, then click Save to apply your changes:
Return to the Setup heading and navigate to Users/Roles, Manage Roles, then select New:
Enter a suitable NAME, such as CTB AND CO. Integration, and enter a custom ID of your choosing in the field provided. Set EMPLOYEE RESTRICTIONS to none - no default, then tick the CORE ADMINISTRATION PERMISSION checkbox:
Please Note: You must also specify a suitable CENTRE TYPE. This will vary depending on your NetSuite setup. System Administrator Centre is the likely selection for this option.
Under the Subsidiary Restriction section, tick the ALLOW CROSS-SUBSIDIARY RECORD VIEWING checkbox and select ALL. You may also tick the WEB SERVICES ONLY ROLE checkbox under the Authentication heading if desired:
You will be required to amend various Permissions to enable the Role to perform the necessary invoice editing functions. These Permissions may vary between NetSuite organisations, as they can be fully customised to meet particular business needs. Below are some example Permissions which should be enabled (with either the View or Full Level authority):
Permission | Level |
Supplier Invoices | Full |
Pay Supplier Invoices | Full |
Find Transaction | Full |
Enter Vendor Credits | Full |
Deposit | View |
Credit Returns | Full |
Expense Categories | View |
Documents and Files | View |
Company Information | Full |
Subsidiary Settings Manager | View |
Subsidiary Hierarchy Modification | Full |
Access Token Management | Full |
SOAP Web Services | Full |
User Access Tokens | Full |
All Relevant Lists | View |
Please Note: Changes to a User's Permissions may take up to 24 hours to be applied. If you have recently updated Permissions and an invoice cannot be successfully transferred, please try again later.
When you are satisfied with the Permissions provided, save your new Role. You may require to revisit these Permissions should certain exports be unsuccessful.
Under Step 1 of the NetSuite Configuration window, click the button next to the Password field to display the Role ID field, then enter the ID as supplied in NetSuite:
Copy the Key and Secret saved from earlier and paste them under the Consumer Key and Consumer Secret fields respectively under Step 1, then tick the Use token based authentication checkbox:
Navigate to Setup, Users/Roles and select Manage Users. Here you must edit the User which will have the integration associated with their account:
Edit the desired User and navigate to the Access tab, then add the newly created Role (the User must also be an Administrator):
Proceed by navigating once more to the Setup heading, then go to Users/Roles, Access Tokens, then select New:
Create a new Access Token by selecting the previously edited User and newly created Role, then provide a suitable TOKEN-NAME:
Click Save to create your new Access Token. On the following screen, copy both the Token ID and Secret to the Token ID and Token Secret fields respectively under Step 1:
Please Note: Your Token ID and Secret will no longer be visible within NetSuite once your Access Token setup has been completed. Should they be misplaced, they must be recreated.
Your Token-Based Authentication is finished, and you may now test the connection.
Testing Your Connection
Once your method of authentication has been specified, click Save and Test Connection under Step 1 to determine whether a connection to NetSuite can be successfully established:
Once a connection is confirmed, you will then be able to proceed to the CTB AND CO. Configuration section of this article. If the connection could not be established, review the setup information specified or otherwise Contact Us for further assistance.
CTB AND CO. Configuration
Once all steps under the NetSuite Configuration section of this article are complete, you may begin to configure the following settings from your CTB AND CO. account.
Follow the steps below to finalise your integration. At any stage, you may remove a linked attribute by clicking the X button next to the relevant option.
Payment Term Method
Before exporting invoices to NetSuite, you are provided with various methods for determining their Due Date. By default, the Payment Term setting will use the Address Book for populating the Due Date of each invoice sent to NetSuite. This can be altered to instead rely on the NetSuite Payment Term for the noted Vendor, or the Invoice Date itself:
The below table highlights the possible selections and outputs involved for this setting:
Selection | Output |
Address Book | The default setting. Invoices exported to NetSuite will rely on the Pay Terms (Days) setting for the Supplier as specified under your Address Book. If this value is not specified for the Supplier, the Default Days value provided beneath this selection will be used as a fallback. |
NetSuite | The Terms specified for the Supplier (Vendor) in NetSuite is used to determine the Due Date. If no Terms are assigned to the Vendor, then the Invoice Date will be set as its Due Date. |
Invoice | The Due Date for the invoice will mirror its Invoice Date. |
Please Note: The View level for the Accounting Lists Permission may be required to your NetSuite user account to enable the Terms for a NetSuite Vendor to be utilised when transferring invoices.
Subsidiary Selection
Begin by selecting the desired NetSuite Subsidiary under Step 2 of the NetSuite Configuration window by clicking Select Subsidiary. A list of all available NetSuite Subsidiaries will be shown. Tick the desired Subsidiary and click Select to proceed:
Please Note: Depending on your NetSuite setup, you may be required to tick the Include all data linked to this subsidiary checkbox, otherwise necessary information may not be accessible via NetSuite.
OptionalLocation Selection
Once your Subsidiary has been selected, click Select Location. A list of relevant NetSuite Locations will be shown based on the previously nominated Subsidiary. Tick the desired Location and click Select to confirm:
Setting Corresponding Suppliers/Vendors
To enable the appropriate transfer of invoices to relevant NetSuite Vendors, each CTB AND CO. Supplier must be matched to a Vendor.
Under Step 3 of the NetSuite Configuration window, review the list of CTB AND CO. Suppliers and click the appropriate field to search for and select the relative NetSuite Vendor:
Complete the linking process for all required Suppliers, noting that until a corresponding Vendor is selected, invoices from a Supplier will not be able to be transferred.
Linking Tax Codes
To ensure the correct Tax Code is specified with each transferred invoice, under Step 4 of the NetSuite Configuration window click the Link Tax Codes button to assign Tax and Tax Free Codes from NetSuite:
Both the Tax and Tax Free Codes are mandatory. The StockOnHand Tax Code must be specified when attempting to transfer Theoretical Stock On Hand amounts to NetSuite, otherwise this may be omitted. Once updated, click Save to apply your changes.
Specifying Account Codes
NetSuite will obtain codes using the Default Accounts values as shown under the following sections of this article. The priority for Account Code selection is as follows (listed from highest to lowest priority):
- Account Codes specified on the invoice line item (the NetSuite Account column).
- Default Food/Non-Food Accounts Per-Item (Steps 9a and 9b respectively).
- Default Account Code for the relevant Supplier/Vendor (Step 8).
- Default Food/Non-Food Account (Steps 5 and 6 respectively).
Default Accounts: The Default Accounts specified under each of the below steps are utilised to populate the NetSuite Account and NetSuite Classification values for each line item on an invoice. Users may edit these values when processing an invoice to override the default setting if required (provided these fields have been enabled). Please review each section as some are mandatory for your integration to be successfully completed.
Food Account
Under Step 5, select the desired Account Code for all Food/Beverage/Default related line items to be assigned to.
Non-Food Account
Under Step 6, select the desired Account Code for all Non-Food/Beverage/Default related line items to be assigned to.
Freight Account
Under Step 7, specify the Default Freight Account to use when the selected invoice includes Freight.
OptionalPer-Supplier Account
Under Step 8 you may link each supplier to the desired Account Code and Classification. Use the link provided to view a list of your suppliers and click the relevant button to specify an Account Code and Classification.
OptionalPer-Item Food Account
Under Step 9a, you may link each Food/Beverage/Default item to a specific Account Code. Use the link provided to view a list of your Food/Beverage/Default items and assign your stock to the required Account Code.
OptionalPer-Item Non-Food Account
Under Step 9b, you may link each Non-Food/Beverage/Default item to a specific Account Code. Use the link provided to view a list of your Non-Food/Beverage/Default items and assign your stock to the required Account Code.
OptionalEnabling Automatic Transfer
Once an invoice is approved from the Receiving Order page, you may enable the automatic transfer of these invoices to NetSuite, thereby bypassing the Transferring Invoices section of this article.
To enable Automatic Transfer, under Step 10 of the NetSuite Configuration window tick the relevant settings you wish to enable:
Please Note: It is strongly recommended that administrators are notified of any failed transfers to attend to these transfers manually. Please ensure an appropriate email address is specified under this step to enable the receival of email notifications when an Automatic Transfer cannot be completed. Multiple email addresses may be specified using a semicolon as a separator.
OptionalEnabling Receiving Order Account Fields
When processing an invoice via the Receiving Order page, you may enable the review and updating of Department, Classification, Job and Account directly from the Invoice Detail window.
Under Step 11, tick the desired fields you wish to enable and specify the default values using the buttons provided. When enabled, these fields will appear in the lower-left corner of the Invoice Detail window when processing an invoice from the Receiving Order page.
Transferring Invoices
Once your configuration is complete, you may now begin to transfer invoices to NetSuite.
From the NetSuite Configuration window, click the Export Invoices from CTB to NetSuite button:
A window displaying your approved invoices will then be displayed. Select the invoices you wish to export using the checkboxes provided, then click Transfer to NetSuite:
A new window which displays the progress of your transfer will then be shown. When complete, the results of each invoice transfer will be shown. In case of any failed transfers, an error message for the invoices concerned will be shown.
Please Note: A primary reason for failed transfers is due to insufficient Permissions associated with the newly created Role. Please review the content of the error message to discern whether your Permissions require amending.
Additional Approval Process
To restrict the ability to transfer invoices to NetSuite, users can be prevented from exporting invoices to NetSuite unless specific permissions are assigned. Users which cannot export invoices will be shown the option to submit invoices for approval, and only administrators are permitted to perform the final transfer.
To enable this additional approval process, review the Other Configuration heading under the NetSuite Integration Settings window. Tick the Enable Approval Step When Exporting To NetSuite checkbox to prevent the transfer of invoices unless specific authority is given:
Once enabled, only permitted users will be able to transfer invoices to NetSuite.
To permit certain users to transfer invoices, navigate to the Licence heading and open the User page:
Select the desired user and click the Modify Authorities button:
Under the Stock heading, tick the NetSuite Approval Permission checkbox and then click Confirm to apply your changes. Users with this setting will still be able to transfer invoices to NetSuite, whereas those without will only be able to submit invoices for approval.