RSM InTIME to Netsuite Integration
NetSuite Integration Setup for InTIME
Web Service Setup
a) Enable Web Services
Go to Setup > Company > Enable Features > Suite Cloud
In the SuiteTalk section, tick SOAP Web Services
Save
b) Enable Token-Based Authentication
Go to Setup > Company > Enable Features > Suite Cloud > Manage Authentication
Enable Token-Based Authentication
Save
c) Create an Integration record
Go to menu Setup > Integration > Manage Integrations
Tap the New button
Set the name to "InTime". Tick the Token-Based Authentication option, untick the "TBA: AUTHORIZATION FLOW" and "AUTHORIZATION CODE GRANT" option, then tick the "TBA: ISSUETOKEN ENDPOINT" option. Optionally tick User Credentials.
Save and make a note of the Consumer Key and Consumer Secret (they won’t be visible again)
Make a note of the Application ID
d) Create a Web Services role
Go to Setup > Users/Roles > Manage Roles > New
Name it “Web Services”
Set the Accessible Subsidiaries to ALL
In the Permissions tab set:
Transactions > Find Transaction – Full
Transactions > Invoice – Full
Transactions > Bills - Full (Bills may be called Supplier Invoices)
Transactions > Pay Bills - Full
Transactions > Credit Memo - Full
Transactions > Enter Vendor Credits - Full
Lists > Customers / Clients – Full
Lists > Companies – Full
Lists > Currency – Full
Lists > Items – Full
Lists > Tax Records – Full
Lists > Accounts – Full
Lists > Vendors / Suppliers – Full
Lists > Documents and Files - Full
Setup > Log in using Access Tokens – Full
Setup > SOAP Web Services – Full
Save (changes to roles may take up to an hour to be picked up)
e) Assign the role to the web services user
Go to Lists > Employees > Employees
Select a user to be used for web services (or create a new one and tick Give Access)
Click Edit
In the Access tab, add the Web Services role
Save
f) Link SOAP Web Services to the user and role
Go to Setup > Integration > SOAP Web Services Preferences
Select a user to be used for web services and set the Web Services Default Role to “Web Services”
Save and make a note of the ID in the last column
g) Create an Access Token
Go to Setup > Users/Roles > Access Tokens > New
Select the InTime Integration record, User, and Role created above
Save and make a note of the Token ID and Token Secret (they won’t be visible again)
Gather Other Information
h) Find the Account ID
Go to Setup > Company > Company Information
Make a note of the ACCOUNT ID
i) Find the Subsidiary ID
Go to Setup > Company > Subsidiaries
Hover over the View link of the top-level subsidiary and make a note of the id
j) Find the Item subtypes
Go to Lists > Accounting > Items
Make a note of the SUBTYPE used for sales and purchases, e.g. “For Sale”
Make a note of the item names to be used by InTime, e.g. “Basic”, “O/T 1”
k) Find the account numbers for Purchase Invoices
Go to Lists > Accounting > Accounts
Find the account(s) with type Bank to use for payments (e.g. “Operating Account”) and make a note of the number (e.g. 1001)
Find the account(s) with type Accounts Payable (e.g. “Operating Account”) and make a note of the number (e.g. 2000)
NetSuite Integration Default Mapping
InTIME | Netsuite | Notes |
---|---|---|
Client | Customer |
|
name | companyName |
|
name | entityId |
|
(configurable) | externalId |
|
primaryContact.email |
| |
primaryContact.phone | phone |
|
(configurable) | subsidiary |
|
(configurable) | entityStatus |
|
primaryContact | address - default shipping |
|
primaryInvoiceContact | address - default billing |
|
null | defaultAddress | to avoid permission error |
Worker | Vendor |
|
ltdCompanyName | companyName |
|
fullName | entityId |
|
(configurable) | externalId |
|
primaryContact.email |
| |
primaryContact.phone | phone |
|
yes | isPerson |
|
firstName | firstName |
|
lastName | lastName |
|
(configurable) | subsidiary |
|
primaryContact | address - default shipping |
|
ltdCompanyContact | address - default billing |
|
null | defaultAddress | to avoid permission error |
Provider | Vendor |
|
name | companyName |
|
name | entityId |
|
(configurable) | externalId |
|
primaryContact.email |
| |
primaryContact.phone | phone |
|
no | isPerson |
|
(configurable) | entityStatus |
|
primaryContact | address - default shipping |
|
primaryInvoiceContact | address - default billing |
|
null | defaultAddress | to avoid permission error |
Invoice / Credit Note | Invoice / Credit Memo |
|
purchaseOrderNum | otherRefNum | (Client invoice / credit only) |
invoiceNumber | tranId |
|
invoiceDate | tranDate |
|
(configurable) | memo |
|
id | externalId |
|
currency | currency |
|
Invoice Line | Invoice Line |
|
(lookup using rate / pay element) | item |
|
unitNet | rate |
|
units | quantity |
|
vat | tax1Amt |
|
vatRate | taxRate1 |
|
(lookup using VAT code) | taxCode |
|
Address | Address |
|
department or full name | addressee |
|
full name | attention |
|
street1 | addr1 |
|
street2 | addr2 |
|
town | city |
|
postcode | zip |
|
county | state |
|
(lookup using country) | country |
|
Payment | VendorBill / VendorPayment | NOTE: Only done when configured to do so. |
InTIME triggers an update of invoices in NetSuite when a BACS payment is generated in InTIME. The invoices are allocated their proportion of the BACS payment amount and their payment apply date is set to the payment date. |