Setup
Required user role Manage Integrations
To set up the NetSuite-Tipalti integration, click each step below for instructions.
If you need to add more entities to your app integration after the initial setup, please submit a request to our Support Team.
- In Tipalti, go to Administration > Integrations > Apps.
- At the top right of the screen, click "Add app" and select "NetSuite". The "Configure NetSuite app" screen displays.
- If multiple payer entities are defined in Tipalti, do one of the following:
- If the "app per entityAn entity can be a subsidiary, division, business unit, brand, etc. of your organization. Entities can have similar or different AP processes and workflows." setting has been enabled with the Tipalti Support Team, a "Payer entity" field displays.
- Select the relevant entity to associate with the app.
- Click "Start setup".
You will need to configure NetSuite for each payer entity.
If the "app per all entities" setting has been enabled with the Tipalti Support Team, you will not be able to assign the app to a specific payer entity. Go to the next step.
- If the "app per entityAn entity can be a subsidiary, division, business unit, brand, etc. of your organization. Entities can have similar or different AP processes and workflows." setting has been enabled with the Tipalti Support Team, a "Payer entity" field displays.
Complete the following pages to configure the NetSuite app in Tipalti. Click each page name to view how-to steps.
The following instructions are for first-time authentication. If the NetSuite app has already been authenticated and you are completing the setup or have selected to "Configure" the app, you will be redirected to the "Sync Settings" page.
- Go to Administration > API integration > Apps.
- At the top right of the screen, click "Add app" and select "NetSuite" to access the configuration screen.
- Click "Start setup" to go to the "Authenticate" page.
- Complete the following fields:
- Account ID
- Consumer key
- Consumer secret
- Token ID
- Token secret
- Click "Authenticate".
To get the data for each field listed above, select the following corresponding sections.
- Log into your NetSuite account:
- Sandbox: https://system.sandbox.netsuite.com/pages/login.jsp
- Production: http://netsuite.com/login
- Go to Setup > Integration > Web Services Preferences.
- Copy the value in the "Account ID" field and paste it into the corresponding field in the Tipalti Hub.
The consumer key and secret can be viewed only once. Make sure you copy the values before leaving the page.
- Enable SuiteTalk web services.
- Go to Setup > Company > Enable Features.
- Click the "SuiteCloud" subtab.
- Scroll to the "SuiteTalk (Web Services)" section.
- Select the "WEB SERVICES" check box.
- The "NETSUITE SUITECLOUD TERMS OF SERVICE" opens in a new window.
- Expand the window.
- At the bottom of the page, click "I Agree".
- Stay on the "SuiteCloud" subtab because you will enable another feature in the next step.
- Enable token-based authentication.
- In the "Manage Authentication" section (directly below the "SuiteTalk (Web Services)" section), select the "TOKEN-BASED AUTHENTICATION" check box.
- The "NETSUITE SUITECLOUD TERMS OF SERVICE" opens in a new window. Accept the Terms of Service like you did in the previous step (step 1.e).
- Click "Save".
- Create a new custom role for the token-based authentication user and add permissions.
- Go to Setup > Users/Roles > Manage Roles > New.
- In the NAME field, type: Tipalti Integration Role
- In the SUBSIDIARIES field, select all subsidiaries.
- Select "ALLOW CROSS-SUBSIDIARY RECORD VIEWING".
- In the "Authentication" section, select "WEB SERVICES ONLY ROLE".
- By default, you are on the "Permissions" subtab. Add the permissions listed in the table below. For each permission:
- Select the menu item1 that corresponds with the value in the TYPE column shown in the table below.
- In the PERMISSION field, select a value.
- In the LEVEL field, select a value.
- Click "Add".
When you are done adding permissions, click "Save".
Type
Permission
level
Transactions Access Payment Audit Log View Bills Full Enter Vendor Credits Full Pay Bills Full Purchase Order Full Lists Accounts Full Amortization Schedules Full Classes View Currency Full Departments View Items Full Locations View Resource Full Subsidiaries Full Tax Items View Tax Schedules View Units View Vendors Full Setup Accounting Lists Full Custom Body Fields Full Custom Column Fields Full Custom Entity Fields Full Deleted Records Full User Access Tokens Full Web Services Full
- Add the Tipalti Integration role to the user.
- Go to Lists > Employees > Employees. Do one of the following:
- If the employee already exists, click the "Edit" link for the user row.
- If the employee does not exist, click "New Employee" and add the required details (e.g., name, ID, etc.).
- Click the "Access" subtab.
- In the "Roles" section, select "Tipalti Integration Role".
- Click "Add".
- Click "Save".
- Go to Lists > Employees > Employees. Do one of the following:
- Create a new integration record for Tipalti.
- Go to Setup > Integration > Manage Integrations > New.
- In the NAME field, type: Tipalti Integration
- By default you are on the "Authentication" subtab. Select the "TOKEN-BASED AUTHENTICATION" check box.
- Click "Save".
- Copy the values for the CONSUMER KEY and CONSUMER SECRET. (This information is sensitive, so it is blacked out in the image below.)
The consumer key and secret can be viewed only once. Make sure you copy the values before leaving the page.
Tipalti uses these values to authenticate API calls to NetSuite.
The token ID and secret can be viewed only once. Make sure you copy the values before leaving the page.
- Create a new access token.
- Go to Setup > Users/Roles > Access Tokens > New.
- In the APPLICATION NAME field, select "Tipalti Integration". The content in the "TOKEN NAME" field updates automatically with each selection you make on this screen.
- In the USER field, select the user to whom you assigned the Tipalti Integration Role (step 4 of "Consumer key and secret" above).
- In the ROLE field, select "Tipalti Integration Role". The content in the "TOKEN NAME" field is now fully updated.
- Click "Save".
- Copy the values for the TOKEN ID and TOKEN SECRET. (This information is sensitive, so it is blacked out in the image below.)
The token ID and secret can be viewed only once. Make sure you copy the values before leaving the page.
This step only displays if the payer has more than one entity.
- Select a NetSuite subsidiary for each Tipalti payer entity.
- Click "Next".
Sync direction
- In the "Payee sync" field, select one of the following options: "No sync", "Tipalti to NetSuite", "NetSuite to Tipalti", "Bidirectional".
- In the "Payee name structure" field, select how you would like to have payees mapped to the ERP.
- Name + Payee ID (default)
- Only Name
- Only Payee ID
- No mapping (uses the ERP configuration)
- In the "Payee name structure" field, select how you would like to have payees mapped to the ERP.
-
In the "Bill/vendor credit sync" field, select "No sync" or "Tipalti to NetSuite".
- In the "When to sync bills?" field, select "Before approval" or "After approval".
- If you want to view invoices in the NetSuite ERP that are collected and processed by Tipalti, then in the "Sync bill attachments?" field, select "Yes" (the maximum file size for sync is 10 MB). By default, "No" is selected.
- In the "Payments sync" field, select "No sync" or "Tipalti to NetSuite".
- In the "GLA general ledger (GL) is used for recording transactions related to business assets, liabilities, equity, revenue and expenses. accounts" field, select "No sync" or "NetSuite to Tipalti".
- Ensure the "Sync 1099-misc category field from NetSuite" check box is not selected so that you can update GL accounts via File Integration.
- If you are a non-US NetSuite payer, a "Tax codes" field displays. Select "No sync" or "NetSuite to Tipalti".
- If you are using NetSuite's SuiteTax, select the "SuiteTax is enabled in NetSuite" check box.
- If you are using the PO Matching feature, a "Purchase orders" field displays. Select "No sync" or "NetSuite to Tipalti".
- If you want to sync only POs with "Approved" and "Rejected" statuses from NetSuite to Tipalti, select the "Filter out unapproved POs" check box.
- If you are using receipts as part of the PO Matching feature, an "Item receipts" field displays. Select "No sync" or "NetSuite to Tipalti".
- If you are creating a receipt without a vendor linked to it, select the "Filter out non-Vendor receipts" check box.
We recommend that you sync 1099-misc category values via File Integration rather than use the accounts auto-sync from NetSuite to Tipalti. NetSuite stopped updating the category values several years ago and therefore, can't capture the updated list of values required by the IRSInternal Revenue Service since 2020. By updating 1099-misc category values via File Integration, the updates required by the IRS can be met.
Map existing custom fields between Tipalti and NetSuite. To add a new custom field before mapping it, see Add custom field.
- In the "Type" column, select one of the following entity types:
- Payee
- Bill (includes vendor credit)
- Payment
Your selection determines the options available in the remaining columns.
- In the "NetSuite fields" column, select one of the fields listed in the NetSuite column of the table below.
- In the "Tipalti fields" column, select one of the following value types:
- List: Allows the user to select a single value from a predefined list of values
- List (multiple selection): Allows the user to select multiple values from a predefined list of values
- Free text: Used for text entries
- Free text (unique): Used to prevent duplicate values from being entered
- Free text (encrypted field): Once data are entered in this field, the data are masked by asterisks and only display for Tipalti users with the View Secure Details role
For custom fields, the name of the custom field (not the value type) displays in the dropdown list.
NETSUITE Field Type |
TIPALTI Field Type |
---|---|
Currency | Free Text |
Date | Free Text |
Date/Time | Free Text |
Decimal Number | Free Text |
Email Address | Free Text |
Free-Form Text | Free Text |
Hyperlink | Free Text |
Integer Number | Free Text |
List/Record | List |
Long Text | Free Text |
Multiple Select | List |
Percent | Free Text |
Phone Number | Free Text |
Text Area | Free Text |
Checkbox | List |
Fields that are mapped automatically in the standard integration are not available here for mapping.
- Repeat the previous three steps for each custom field you want to map.
- To delete a row, click the "X" at the end of the row.
- When you are finished mapping fields, click "Next".
Before continuing to the next step, in NetSuite, ensure that you have created a Tipalti vendor to which payer transaction fees will be charged. This vendor must exist already so that you can select it for the "Vendor for Tipalti fees (currency)" in the next step. Payer fees will show as paid bills under this vendor.
Map existing GL accounts between Tipalti and NetSuite.
- In the "AP accounts" section, select the specific AP accounts that you want to sync to Tipalti. These accounts are assigned a Category of "Other" and can be linked to bills at the header level in Tipalti.
- In the "Other accounts" section, select the types of expense accounts that you want to sync to Tipalti. These accounts are assigned a Category of "Expense" and can be linked to bill lines in Tipalti.
- Click "Next".
If you would like to link bill lines to credit cards, select "Credit card" . Otherwise, credit cards are only available in Tipalti for marking bills as paid manually.
Bill sync additional settings
In the "Default expense accountThe general ledger (GL) account that is debited for the payment amount" field, begin typing the default expense account for bills, then select it from the populated list.
NetSuite time zone settings
Select the same time zone as the payer's NetSuite instance.
Accounting settings
This section and the next only display if "Tipalti to NetSuite" was selected as the direction of synchronization in the "Payments sync" field above (see step 3 under "Sync preferences").
- In the "Vendor for Tipalti fees (currency)" field, begin typing the NetSuite vendor* that you want associated with the Tipalti fees in that currency, then select it from the populated list.
- If you have multiple Tipalti accounts, a field will display for each account currency—complete all fields that display.
- If, for example, the payer has two Tipalti accounts (USD and EUR), then only vendors with USD and EUR account currencies will display in the populated list.
- In the "Tax withholding expense account" field, begin typing the default expense account for vendor credits that are created for withholding amounts, then select it from the populated list.
* These vendors must exist in Tipalti as payees. When adding a new payee record in Tipalti, you will have the option of selecting the "NetSuite payee currency" that you want linked to the Tipalti payee.
Default coding for fees
- In the "Tipalti fees expense account" field:
- Begin typing the default expense account for bills/ payments that are created for Tipalti fees, then select it from the populated list.
- If you want this value to display on bill payments in NetSuite, select the box beside "Apply this default value for Tipalti fee bill payment as well".
- In the "Payee fees expense account" field:
- Begin typing the default expense account for vendor credits that are created for payee fees, then select it from the populated list.
- If you want this value to display on bill payments in NetSuite, select the box beside "Apply this default value for payee fee bill payment as well".
- In the "Fee default values" section:
- In the "Field" column, select any bill/ bill line or vendor credit/ vendor credit line custom field that you mapped in step 2.D above. The "Level" field auto-populates with "Header" or "Line" based on the custom field you select.
- In the "Bill value" field, begin typing the default value for the field on a bill fee, then select it from the populated list.
- In the "Vendor credit value" field, begin typing the default value for the field on a vendor credit fee, then select it from the populated list.
In the "Copy to payment" field, toggle on/ off the setting to copy the values to the payment.
Default coding for payments
If values for "Department", "Class", "Location", and "Project" custom fields are required by the payer's ERP, then you need to enter default values here so that payment sync won't fail if no value has been specified for these fields on the payment.
For each field listed (e.g., Department, Class, Location, Project), begin typing the default value, then select it from the populated list.
Tipalti/ NetSuite accounts mapping
- A list of Tipalti accounts displays. Adjacent to each Tipalti account name, begin typing the NetSuite account to which Tipalti payments will be synchronized, then select it from the populated list.
- Click "Next".
This screen shows the objects that will be synchronized based on the directions of sync that you selected on the "Sync Settings" page. You also see the number of accounts and payees that will be synced.
- If you want to sync outstanding bills and vendor credits as part of the initial sync process only, then in the "Bills/Vendor credit sync" section, select the check box for "Sync outstanding bills from NetSuite to Tipalti".
Partially paid bills and bills with lines of type "Item" cannot be synced. Any related errors do not display on the "Sync failures" screen.
- Click "Next". A "Confirm action" dialog displays asking you to confirm the start of the initial sync process.
- Click "Confirm". You are directed to the main apps screen. You will receive an email notifying that the initial sync process completed successfully or with errors.
Additional setup
You can configure accounting preferences in NetSuite to determine whether the bill can be credited or voided, and the posting period in which the bill can be posted. Although these configurations are not required to get the integration up and running, it is recommended that you configure one or more of these settings to help prevent bills from failing to sync to the ERP.
What is the difference between crediting and voiding a bill?
- Crediting a bill means that you apply a vendor credit against the bill (i.e., the bill is zeroed). There is no impact on GL accounts, and a bill payment is not created. The bill record shows that the bill was credited.
- Voiding a bill makes the bill invalid. Any impact to GL accounts is canceled, and a bill payment is not created. The bill record shows that the bill was voided.
To configure accounting preferences:
- In NetSuite, go to Setup > Accounting > Accounting Preferences.
- On the "General" tab, in the "General LedgerA general ledger (GL) is used for recording transactions related to business assets, liabilities, equity, revenue and expenses." section, configure the following settings as you see fit to comply with your organizational needs.
- VOID TRANSACTIONS USING REVERSING JOURNALS
- When enabled:
- Bills can be credited only, regardless of whether the posting period is open or closed.
- Bill payments in a closed posting period can be voided, but not deleted.
- When disabled:
- If the posting period is closed, bills can be credited.
- If the posting period is open, bills can be credited or voided (assuming the bill was not paid).
- Bill payments can be voided in open posting periods, but not in closed periods.
- When enabled:
- SET REVERSAL VARIANCE DATE EQUAL TO THE REVERSING JOURNAL DATE WHEN VOIDED TRANSACTION IS IN A CLOSED PERIOD - This setting is available only if VOID TRANSACTIONS USING REVERSING JOURNALS is enabled.
- ENABLE ACCOUNTING PERIOD WINDOW - If enabled, you must define the MINIMUM PERIOD WINDOW SIZE (i.e., the number of posting periods that should be open). You need to set this value to at least "1" so that transactions do not fail.
- ALLOW TRANSACTION DATE OUTSIDE OF POSTING PERIOD
- Disallow – The transaction date must fall within the posting period month.
- Warn – If the transaction date falls outside the posting period month, the user will be warned.
- Allow – The transaction date can fall outside the posting period (the user will not be warned).
- DEFAULT POSTING PERIOD WHEN TRANSACTION DATE IN CLOSED PERIOD
- Current Period – If the transaction date is within a closed posting period, the posting period of the transaction will be the current period.
- First Open Period - If the transaction date is within a closed posting period, the posting period of the transaction will be the earliest of all the currently open periods.
- VOID TRANSACTIONS USING REVERSING JOURNALS
We recommend that rejected payments be voided in NetSuite instead of deleted. To allow NetSuite payments to be voided, please install the Tipalti AP Integration bundle.
- Make sure custom records can be integrated with NetSuite.
- Go to Setup > Company > Enable Features, and click the "SuiteCloud" tab.
In the "SuiteBuilder" section, make sure the "Custom Records" check box is enabled (if disabled, please select the check box, agree to the terms and service, and click "Save").
- Install the bundle.
- Go to Customization > SuiteBundler > Search & Install Bundles.
- Search for the bundle called "Tipalti AP Integration".
- In the results, click the bundle name to open the bundle details.
- Click "Install" to install the bundle.
Now, when a payment is rejected in Tipalti, Tipalti sends the NetSuite ID of the payment + the rejection date to the bundle, and the bundle attempts to void the payment. If voiding is successful, the bundle returns a "success" to Tipalti. If unsuccessful, Tipalti shows the payment as "failed" on the "Sync failures" screen in the Tipalti Hub.