NetSuite
Introduction
RevRec Premium integrates with NetSuite to automate the posting of journal entries. Connect the two systems using the configuration flow based on your business needs. Once connected, journals generated in RevRec Premium can be pushed directly into your NetSuite ledger, ensuring accuracy and reducing manual effort.
Sync Overview
When RevRec Premium is connected with NetSuite, journal entries generated during the monthly close are automatically pushed into your NetSuite ledger. This eliminates the need for manual uploads and ensures your accounting system always reflects the latest activity.
RevRec Premium supports two posting options:
-
Automated Posting: Journals are pushed to NetSuite at the frequency you configure.
-
On-Demand Posting: You can trigger postings manually from the Post Journals page whenever needed.
Once journals are posted, their status is updated in RevRec Premium, and you can verify the entries directly in NetSuite under the Journal Entries section. This provides end-to-end visibility and control over the posting process.
Prerequisites
Before enabling the posting flow, ensure that:
-
Journal account mappings are set up in RevRec Premium. This guarantees that journals are routed correctly to your NetSuite accounts.
-
The NetSuite user role used for integration has the Make Journal Entry permission. To confirm:
- Log in to NetSuite.
- Navigate to Permissions > Transactions.
- Ensure the role assigned has Make Journal Entry enabled.
-
To publish Journal Entries with custom fields in NetSuite, ensure the NetSuite user role has access to that field (e.g., access to the Department page for Department-based postings).
Connecting RevRec Premium with NetSuite
Only users with the Controller role can connect your RevRec Premium site with NetSuite.
Follow these steps to integrate the two systems:
- Log in to your RevRec Premium site and select the environment where you want to integrate NetSuite.
- Navigate to Settings > Accounting.
- On the Accounting page, click the Connect icon.
- In the Connect Your Data pop-up, select AC Journal Posting.
- The Journal Posting pop-up displays all the available accounting systems for integration. Click NetSuite.
- On the Connect NetSuite screen, provide the following required connection parameters:
- NetSuite Account ID: Found at the beginning of your NetSuite account URL (For example, example from https://example.app.netsuite.com/).
- Consumer Key & Consumer Secret: Generated in NetSuite under Setup > Integration > Manage Integrations.
- Token ID & Token Secret: Generated under Setup > Users/Roles > Access Tokens > New Access Token.
- Click Connect Your Data, then enter your NetSuite login details.
Once connected, RevRec Premium automatically publishes journal entries created during the close process to NetSuite.
Publishing Journal Entries with Custom Fields
RevRec Premium supports posting journal entries based on NetSuite custom fields such as Location, Department, and Class.
- To use a custom field, ensure the NetSuite user role has access to that field (e.g., access to the Department page for Department-based postings).
- At least one Class custom field is required for journal posting.
Adding Custom Fields
To post journal entries to NetSuite, you will need to add the Class custom field to your site and include it in journal posting. Follow these steps to add the custom fields:
- Navigate to Settings > Accounting > Site Settings > Custom Fields.
- Click the + Add icon to add a new field.
- Specify the following:
- API Name (e.g., Name)
- Label (display name)
- Source (Customer, Product, or Subscription)
- Click Save to save the field.
- Mark the Class custom fields with Include in Journal Posting. You can follow the same steps to add more custom fields.
Tax Mapping
The Tax Mapping feature allows RevRec to pass detailed tax attributes to NetSuite during journal posting, rather than creating a separate Sales Tax Liability line within RevRec. When enabled, tax-related information such as Tax Code, Tax Rate, and Tax Account is included in the journal entry, and NetSuite automatically calculates and posts the tax liability based on its tax configuration. For more information on how tax codes are defined and managed in NetSuite, refer to NetSuite's documentation on Tax Codes.
Journal Entry Behavior
Default Behavior (Without Tax Mapping)
In the standard revenue recognition setup, RevRec creates a separate journal line for Sales Tax Liability. Example: Invoice = $110 (including $10 tax)
| Account | Debit | Credit |
|---|---|---|
| Accounts Receivable | $110 | |
| Deferred Revenue | $100 | |
| Sales Tax Liability | $10 |
In this case:
- Tax is explicitly posted from RevRec.
- NetSuite receives only the aggregated tax amount.
- No tax code-level detail is passed.
With Tax Mapping
When Tax Mapping is enabled, RevRec does not create a separate Sales Tax Liability line. Instead, additional tax-related columns are included in the journal entry. Using the same example, the journal entry will appear as follows:
| Account | Debit | Credit | Tax Code | Tax Rate | Debit Tax | Credit Tax | Tax Account |
|---|---|---|---|---|---|---|---|
| Accounts Receivable | $110 | ||||||
| Deferred Revenue | $100 | ||||||
| Dallas@10% | 10% | $0 | $10 | Sales Tax Liability |
In this case:
- Tax Code (e.g., Dallas_10%) is included.
- Tax Rate is passed as 10 (10%).
- Tax Credit is populated with $10 (for invoice).
- Tax Account reflects the mapped Sales Tax Liability account.
- NetSuite calculates and posts the Sales Tax Liability internally. This approach provides detailed tax-level information within NetSuite and supports reporting by tax code, rate, and jurisdiction.
Configure Tax Mapping
To configure Tax Mapping:
- Go to Accounting > General Posting > Tax Mapping
- Enable the toggle available at the top-right corner
- Ensure the Tax Code (and Tax Group Code, if used) already exists in NetSuite and is configured with the required tax posting accounts.
Once enabled, these tabs are visible:
- Tax Mapping
- Tax Group
- Tax Code Rules
Tax Mapping is available only when journals are posted in the transaction currency.
Tax Mapping Tab
The Tax Mapping tab allows you to define Tax Codes for specific tax combinations.
Each mapping row is created using:
- Jurisdiction Type (City, State, Country, County)
- Jurisdiction Name
- Jurisdiction Code
- Tax Name
- Tax Rate
These values are automatically fetched from the billing application based on invoice data.
The Tax Code field is system-generated in the form
jurisdiction type+jurisdiction code+_+tax name+@+tax rate(for example,state06_CA STATE TAX@6.0). You can update it to match the tax code configured in NetSuite. When tax code rules are saved, RevRec Premium assigns the tax code from the first matching rule instead of this placeholder. If no rules are configured, the placeholder is unchanged. You can either: - Use the generated tax code and configure the same in NetSuite, or
- Enter existing NetSuite tax codes against each combination.
Available actions on this page:
Tax Group Tab
The Tax Group tab is used when multiple taxes apply to a single invoice line item.
Since only one tax code can be sent per journal line to NetSuite, multiple taxes (e.g., State + County + City) must be grouped into a Tax Group. A Tax Group:
- Aggregates multiple taxes
- Has its own Tax Group Code
- Must also exist in NetSuite
- Is used during journal posting instead of individual tax codes On this tab, you can:
Edit Tax Mapping
Tax mappings can be updated either directly from the UI or through bulk upload. Tax Group mappings can be updated only from the UI.
Edit Tax Code (Individual Tax Mapping)
You can update Tax Codes and Tax Accounts in two ways:
- From the UI
- Go to the Tax Mapping tab.
- Scroll to the right side of the grid.
- Click the edit icon next to the mapping you want to edit.
- Update the Tax Code if required.
- Select the appropriate Tax Account from the dropdown (accounts available from the Chart of Accounts).
- Click Save.
- Upload Tax Mapping (Bulk Update via CSV) Tax mappings can be uploaded in bulk using a CSV file. To upload mappings:
- In the Tax Mapping tab, either:
- Download the existing mappings and update them, or
- Click Upload Tax Mapping and use the available link to download the template (if no mappings exist).
- Add or update your mappings in the CSV file.
- Click Upload Tax Mapping and select the file.
- Click Done to start processing.
- Only CSV files are supported.
- A maximum of 5,000 mappings can be uploaded per file.
- File Validation Process After uploading the file, the system performs a validation check and displays a summary.
If issues are found:
- The records are categorized as:
- Invalid
- Unchanged
- Click the information icon next to a record to view validation errors.
- Fix the errors in your CSV file.
- Click Discard, then re-upload the corrected file.
- Final Confirmation If the file passes validation:
- Records are categorized as:
- New
- Updated
- Unchanged
- Review the summary.
- Click Confirm and Save to apply the changes.
Once confirmed, the updated Tax mappings will be saved successfully.
Edit Tax Group Mapping
Tax Group mappings can only be updated from the UI.
- Navigate to the Tax Group tab.
- Click the edit icon for the mapping you want to modify.
- Update the Tax Group Code if required.
- Select the appropriate account from the dropdown.
- Click Save.
Assign tax codes with tax code rules
Tax code rules set the Tax Code that RevRec Premium writes on tax mappings and tax groups. Without rules, a data sync that finds a new tax jurisdiction or tax rate creates a mapping. It creates a tax group only when multiple taxes need grouping on an invoice line. RevRec Premium fills Tax Code with the system-generated placeholder described in Tax Mapping Tab. Use rules when your ERP expects a fixed set of tax codes.
Each business entity has its own rule list. Managing and applying rules requires the Controller role.
RevRec Premium evaluates rules from top to bottom and uses the first rule that matches. A rule matches only when every condition matches. A rule with no conditions is a catch-all and applies to every mapping that did not match a rule above it. Put the catch-all last.
RevRec Premium applies saved rules in these cases:
- A data sync creates a new tax mapping or tax group.
- You add a tax mapping manually, or upload one by CSV, and leave Tax Code blank. The matching rule supplies the code.
- You run Apply to Existing to update mappings and groups that already exist.
Rules do not change tax codes on journal entries that have already been generated, and they do not re-post a closed accounting period. Later journal exports use the updated codes.
| Component | Description |
|---|---|
| Tax Code | The tax code to assign when the rule matches. This is the value sent on the journal export. |
| Conditions | One or more field and value pairs. Every condition in the rule must match. A rule with no conditions is a catch-all. |
| Enabled | Turn a rule off without deleting it. Disabled rules are skipped. |
| Order | Rules run from top to bottom. The first matching rule wins. Move a rule with the up and down arrows. |
Conditions use an equals comparison on these fields:
| Field | Description |
|---|---|
| Tax Juris Type | Jurisdiction type, such as state, county, or city. |
| Tax Juris Code | Jurisdiction code, such as 06 for a state code. |
| Tax Juris Name | Jurisdiction name. |
| Tax Name | Tax name from your billing system, such as CA STATE TAX. |
| Tax Rate | Tax rate, such as 6.0. |
For example, a rule with Tax Juris Name equal to New York and Tax Code NY-TAX-8.875 assigns that code to every mapping whose jurisdiction name is New York, unless an earlier rule already matched. A later catch-all rule with no conditions and tax code US-TAX-1.0 assigns that code to mappings that did not match any rule above it.
Add a tax code rule
- Go to Accounting > General Posting > Tax Mapping.
- Select the Tax Code Rules tab.
- Click Add Rule.
- Enter the Tax Code to apply.
- Add conditions. Choose a Field and enter the Value to match. The comparison is always equals. Add more than one condition when every value must match.
- Leave the conditions empty to make the rule a catch-all.
- Click Save on the rule row.
- Click Save Rules to activate the rule.
Edit, reorder, or delete tax code rules
- Click the edit icon on a rule to change its tax code or conditions.
- Use the up and down arrows to change rule order. The first matching rule wins.
- Turn Enabled off to pause a rule without deleting it.
- Click the delete icon to remove a rule.
- Click Save Rules to save the order and content of every rule.
Rule changes take effect only after you click Save Rules. You cannot run Apply to Existing while rule changes are unsaved.
Apply tax code rules to existing mappings
New rules apply to mappings and groups created after you save them. To update records that already exist:
- Click Save Rules.
- Click Apply to Existing.
- Review the confirmation. It shows how many mappings and tax groups will change. For example: "This will update Tax Code on 12 mapping(s) and Tax Group on 6 group(s) from the current rules (overwrites existing values)."
- Click Yes, apply.
Apply to Existing overwrites the current Tax Code on every matched mapping and recomputed tax group, including codes you edited manually. You can still edit an individual mapping or group after the rules are applied.
How tax code rules set a tax group code
A tax group combines several tax mappings, such as state, county, and city tax. RevRec Premium sets the group's tax code as follows:
- If every mapping in the group resolves to the same tax code, the group uses that code.
- If the mappings resolve to different codes and an enabled catch-all rule exists, the group uses the catch-all tax code.
- Otherwise, the group keeps the system-generated concatenated code.
RevRec Premium still creates mapping rows on every sync, including the Missing Tax Mapping reconciliation, whether or not rules are configured. It sends the tax code to your ERP and does not check that the code exists there. Confirm that each code is valid in NetSuite before you post.
Using Internal Account ID for Posting
By default, RevRec Premium uses the Account Number from your chart of accounts while creating aggregated journals for posting. You can configure the system to post using Internal Account IDs instead.
Enabling Internal Account ID Posting
Follow these steps to enable Internal Account ID for posting:
- Navigate to Settings > Accounting > Journal Posting Settings.
- Turn on the toggle for Use Internal Account ID for Journal Posting.
- Click Save.
The Internal Account ID is permanent and cannot be updated once the account is created.
Once enabled, an additional column called Internal Account ID column appears in your Chart of Accounts, alongside the standard account number. This column is used when creating journals for posting to NetSuite, ensuring consistent and accurate mapping between your RevRec Premium and NetSuite accounts.
Executing Journal Posting
You can post journals in NetSuite in two ways:
- Automatic Posting: Based on your journal frequency configuration.
- Manual Posting: From the Post Journal page, click Post Journals.
During the initiation of Journal Entries posting, an Export Journals widget appears on the left menu.
After posting:
- The journal status is updated in RevRec Premium as Success.
- The journal entries can be viewed in NetSuite under the Journal Entries page.
To track posted journals, add the External ID field to your NetSuite Journal Entries view. This lets you reference the RevRec Premium Posting ID.