NetSuite | Tax Setup

In this article

Overview

Pipe17 > NetSuite tax options

  1. $0 tax on orders
  2. Tax should be added to orders

Setting up NetSuite to calculate tax

Other validations

 

Overview

NetSuite is a powerful ERP tool, but do you know how to leverage it in the right way for your business? Follow along as we walk through different tax setups for common Ecommerce use cases that we've seen used successfully throughout our years working alongside other merchants.

 

Pipe 17 is able to handle several ways of obtaining/determining/applying taxes with NetSuite. Each has its own mappings and requirements from NetSuite. The ways are listed below.

 

Pipe17 - NetSuite Tax Setup Options

 

1. Configure Pipe17 not to pass tax on orders to NetSuite

 

Requirement: The order needs to be created in NetSuite with $0 tax

Use cases:

  1. Orders will be nontaxable in the selling channel (always have $0 tax) i.e. B2B orders
  2. Tax will be handled by the selling channel who facilitates the tax collection such as a channel like TikTok/Amazon/Walmart may do this
    • If this is the case, you can decide if you need to see taxes on NetSuite orders. If not, follow this method's setup requirements
  3. Orders will have tax from the selling channel, but you want tax to be calculated by NetSuite's tax engine - NOT LEADING PRACTICE
    • We have seen this before, but be aware that this often results in tax mismatches (might just be $0.01) between the selling channel's tax and the tax added by NetSuite's tax engine. When this happens, this causes a build-up of AR in NetSuite
    • More detailed explanation below

Pipe17 configuration:

Pipe17's baseline mappings for the NetSuite connector do not push tax to NetSuite unless enabled. So there is no action needed in Pipe17 in order to send orders into NetSuite without tax.

NOTE: If NetSuite is doing the tax calculations, see info below.

 

2. Configure Pipe17 to pass tax to NetSuite

Requirement: The order needs to be created in NetSuite with a tax amount reflecting what was shown on the order in the selling channel. NetSuite will not be doing the tax calculations.

Use Cases:

  1. The tax is already calculated on the order in the selling channel and this value should be passed exactly as it is to NetSuite to avoid any mismatch

NetSuite Configuration Options:

  1. Tax gets added as a separate line item in NetSuite - LEADING PRACTICE
  2. Tax gets added to the order level tax fields in NetSuite
  3. NOT YET SUPPORTED: Tax gets added on the corresponding sku line items in NetSuite

NOTE: If selecting an option that is not the leading practice, note that NetSuite does not allow a $ amount inserted for tax when creating an order, but will allow a tax % to be added. Before the order shows up in NetSuite, the connector looks at the tax total on the order and the total amount on the order and calculates the tax % to set in NetSuite.

Tax % = tax total / order total

 

Pipe17 Configuration:

  1. If selecting option 1 (leading practice): create an item in NetSuite (type = non-inventory, can be fulfilled/received = FALSE) to represent the tax amount as a line item on the order in NetSuite. This must be tied to the desired tax GL account
    1. Map the internal ID of this item in the connector mappings
  2. If selecting option 2 (not leading practice): create 1 single tax code in NetSuite, which will be used for all orders
    1. Pipe17 does not support using different tax codes based on specific location-based logic. This reporting can be pulled from selling channel as needed.
    2. Ensure the tax fields are not hidden on the order form in NetSuite - you will need to enable taxes to reveal the fields if not done already. More info on NetSuite tax setup below
      • Fields: taxItem, taxRate, isTaxable
    3. Update the Pipe17 connector to enable mappings (explanation below)
  •  

Mappings:

NetSuite ERP connector comes along with "Baseline" mappings; a set of default mappings created by the Pipe17 team that are either requested often or needed by NetSuite for a successful creation of sales orders/cash sales.

 

These baseline mappings can be changed to fit business requirements. Work with your Pipe17 onboarding rep for help with mappings changes. 

 

To view the mappings, click into the NetSuite ERP connector in the Integrations tab. Then, click on the tab called "Mappings", select "Orders" on the Entity dropdown

 

 

 

 

Order level mappings to enable:

NOTE: these are the mappings for sales orders; be sure to update mappings for all relevant transactions types i.e. cash sales, refunds

 

{
"name": "Tax Item",
"enabled": false,
"source": "((orderTax) => {return orderTax == 0 ? null : {'recordType': 'RecordRef', 'value': '861'}})(sourcedoc.orderTax || 0)",
"target": "taxItem",
"default": null,
"missing": null,
"lookup": null
},
{
"name": "Is Taxable",
"enabled": false,
"source": "((orderTax) => orderTax == 0 ? false : true)(sourcedoc.orderTax || 0)",
"target": "isTaxable",
"default": null,
"missing": null,
"lookup": null
},
{
"name": "Tax Rate",
"enabled": false,
"source": "((order) => { const tax = order.orderTax || 0; const subTotalPrice = order.subTotalPrice || 0; const orderDiscount = order.orderDiscount || 0; return tax == 0 ? null : Math.round(tax / (subTotalPrice - orderDiscount) * 100000000) / 1000000 })(sourcedoc)",
"target": "taxRate",
"default": null,
"missing": null,
"lookup": null
},
 

 

Line item level mappings to enable:

Work with Pipe17 team if line item mappings are needed.

Mapping to modify: 

  1. ordersOUT: lineItems

 

 

 


Detailed view of NetSuite owning the tax calculations

How does it work?

  1. The selling channel (Shopify, BigCommerce, etc) typically has a tax engine built-in (commonly Avalara), which can be set up to manage all tax codes applicable to your business and apply these to orders at checkout.
  2. NetSuite also has tax logic built-in that can be configured to auto-calculate taxes on sales transactions. Note: the tax engine managing the tax rates here is also Avalara. 
  3. Pipe17 pulls an order through and creates the order in NetSuite with order-level info and line item amounts. Pipe17 lets NetSuite calculate the tax based on the configuration inside NetSuite.
    • This calculation in NetSuite is separate from the tax calculation done at checkout time, but should match up as long as NetSuite is correctly configured to allow taxes for that order's specific customer/items/shipping location.
    • Your first question might be - why doesn't Pipe17 just insert the tax amount when creating the order? NetSuite actually does not allow this. If you test this out while creating an order in the UI in NetSuite, you'll see that NetSuite doesn't have a field to insert tax amount or percent manually, only the tax code. The tax code is attached to a percentage that would be used to add tax to that line item. NetSuite will automatically add the corresponding code based on the logic below. Avalara manages these codes and keeps them up to date with tax changes over time. 
    • So as long as NetSuite tax settings are configured, order totals should match up between the selling channel and NetSuite.

How does NetSuite calculate taxes?

NetSuite auto-calculates tax on orders based on:

  1. Customer is taxable? = T/F
  2. Item = taxable? T/F
  3. If true on above, then NetSuite looks at shipping address zip code and
    • Checks if your tax settings show that state as taxable and if so, then
    • Matches the zip code to the corresponding tax code that exists in NetSuite. The tax code will have a percentage attached to it, which is then added to the order line item and included in order total that shows up in NetSuite.

How to check if taxes are configured in NetSuite?

  1. Using an admin role, go to Setup > Setup Manager > Accounting > Setup Taxes
    • Check the settings here first to make sure these make sense based on your needs
  2. Check Nexuses
    • Make sure to add a nexus for any state you intend to charge tax
  3. Check Tax Schedules
    • These should have at least one schedule for non-taxable and one for taxable
    • The taxable schedule should have all taxable nexuses included as checked
  4. Import state tax tables (US)
    1. This is the step where you can import all tax rates from Avalara directly into NetSuite. These can then be used later on when NetSuite chooses the relevant tax code to use for an order
  5. If all of that is setup and you are not seeing tax show up on orders, check on the customer record. Is the customer taxable?
  6. Is the item marked taxable? 
  7. On the order, validate that the shipping address state is one of your nexuses and that there are codes that have been imported for that state.

 

Other validations:

  • Pipe17's NetSuite ERP connector only supports legacy and advanced taxes
  • Pipe17's NetSuite ERP connector does not support SuiteTax.

If all of this looks good - you should see taxes being added automatically to orders in NetSuite (or not!) This is up to you and your business process. Contact us via our support ticketing system if you have further questions. We are here to help!

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.

Have more questions?
Submit a request
Share it, if you like it.