Define and Manage Vertex Sales Tax

This document describes how to define and manage sales tax in M3 BE when third-party system Vertex is used to calculate sales tax on customer invoices. With this solution, reporting and reconciliation of sales tax is performed in Vertex.

Vertex is used to calculate sales tax when customer invoicing is performed in M3. The required information from M3 is transferred to the Vertex application, where the sales tax is calculated and returned to M3. The total tax amount is accounted in M3 and if the 'Update tax details' check box has been selected in 'Settings – Sales Tax' (CRS793), detailed tax information can also be reviewed in 'CO Invoice. Display Transactions' (OIS354) or 'MCO Invoice. Display Transactions' (COS354). All reporting and reconciliation of sales tax is performed in Vertex.

This configuration is required to enable the functionality:

Division settings

Specify the tax method of the division on 'Company. Connect Division' (MNS100/G). Select alternative 3, 4 or, 5 for parameter 'Tax method', based on these rules:
  • 3 - to calculate Vertex sales tax on customer invoices. No tax is calculated on supplier invoices.
  • 4 - to calculate Vertex sales tax on customer invoices and VAT/GST on supplier invoices.
  • 5 - to calculate Vertex sales tax on customer invoices and M3 Sales tax on supplier invoices.

On the same panel, enter the geographic code of the division. The geographic code is a pre-defined code that represents the administrative origin of the company.

Integration Settings - Tax Interface

Specify the integration settings in 'Integration Settings - Tax Interface' (CRS794).

  • In 'Sales tax interface', select '1-Vertex' to specify the applicable sales tax service.
  • In 'Server address', specify the URL provided for Vertex, such as https://xxx.vertexxx.com/vertex-ws/services.
  • Specify the applicable credentials depending on the authentication method used by the version of Vertex:
    • Specify 'Trusted ID' if applicable or leave it blank and specify a combination of password and user.
    • Specify 'User' if user and password is required for authentication, or leave it blank and specify a trusted ID.
    • Specify 'Password' if user and password is required for authentication, or leave it blank and specify a trusted ID.
  • In ‘Logging level’, select the default log level for Vertex logging.

Specify timeouts as applicable:

  • The field 'Timeout in seconds' indicates the timeout value in seconds. This timeout determines when the M3 program will stop waiting for the Vertex server to respond. Set this to 0 seconds if you never want a timeout.
    Note:  If the time out is set to 0 and the Vertex server does not respond due to unavailability, the M3 Business Engine job will become unresponsive.
  • The field 'Timeout seconds MI' indicates the timeout value in seconds after which M3 BE will stop waiting for Vertex to respond, when Vertex is called to calculate tax on order totals for the MI transactions 'GetHead' and 'GetOrderValue' in API OIS100MI. The field is used when the field 'Include tax in MI' is selected in 'Settings - Sales Tax' (CRS793). A maximum of 30 seconds is recommended.

Settings – Sales Tax

Specify settings for sales tax in 'Settings – Sales Tax' (CRS793).

  • The field 'Street name' defines which of the ship-to or customer address lines is used to specify the street address. This is used in combination with the state and zip code for tax area ID lookup.
  • The field 'City name line' defines which of the ship-to or customer address lines is used to specify the city name. This is used in combination with the state and zip code for tax area ID lookup.
  • The field 'Sales tax customer' is used to define the value that represents the customer in Vertex. Vertex uses this value for customer-based tax exemption processing. Select from customer tax code, customer number, customer group and user defined free field 6 on 'Customer. Open' (CRS610/I).
  • The field 'Sales tax item' is used to define the value that represents the product in Vertex. Vertex uses this value for product-based tax exemption processing. Select from item tax code, item number, item group, item type and user defined free field 4 on 'Item. Open' (MMS001/G).
  • Select the 'Update tax details' check box to enable the functionality that allows you to review detailed tax information in 'CO Invoice. Display Transactions' (OIS354) or 'MCO Invoice. Display Transactions' (COS354). If the check box is cleared, the tax details are not stored in M3, and can only be reviewed in Vertex.
    Note:  This can impact the system performance since additional data is stored in M3 Business Engine.
  • Specify additional fields on 'Settings – User-def Item Fields' (CRS793/F). The fields indicate a field or data element from a specific table that can be used for tax exemption processing in Vertex. The fields are defined per transaction type.

Tax codes

Tax codes are managed in 'Tax Codes. Open' (CRS130).

  • Specify the tax transaction type and tax transaction code. These fields are used to identify the type of transaction to be taxed. Tax transaction code N (Normal) should be used on normal invoices and tax transaction code B and C should be used when entering an invoice for tax adjustment in 'Customer Invoice. Enter Manual' (ARS120).
  • Select 'Taxable' for all applicable tax codes, even if you have non-taxable customers or products, to ensure that the tax decision takes place in Vertex. With this setting, all tax decisions are deferred to the external system, and this simplifies the reconciliation of sales with taxable and non-taxable transactions.
    Note:  Vertex is not used for transactions where 'Taxable' is not selected on the tax code.
  • Specify the tax code on the item in 'Item. Open' (MMS001), order header charges in 'Customer Order Charge. Open' (OIS030), order line charges in 'Order Line Charge. Open' (CRS275), service charges in 'Service Charge. Open' (OIS031) and customer in 'Customer. Open' (CRS610).
  • The tax codes can also be used for product-based tax exemption processing as described above.

Geographical codes

Geographical codes represent a tax jurisdiction in Vertex. Use M3 Browse to select a geographical code in 'Geographic code lookup. Open' (CRS129).

  • Specify a 'ship-to tax area ID' in 'Customer. Open' (CRS610) and 'Customer. Connect Addresses' (OIS002). This geographical code represents the tax jurisdiction where goods are delivered to.
  • Specify a 'ship-from tax area ID' on the delivering warehouse in 'Warehouse. Open' (MMS005). This geographical code represents the tax jurisdiction where goods are delivered from.
  • Specify the order acceptance location on the main warehouse on the selling facility in 'Facility. Open' (CRS008).
  • Specify a geographical code in 'Company. Connect Division' (MNS100). This geographical code represents the ship-from tax area ID and order acceptance location on manual customer invoices.
    Note:  Geographical codes are called 'Tax Area Id' in Vertex.

Maintaining Geographical codes

Geographical codes are subject to change and over time, geo codes are removed, added, and merged. Therefore, you must monitor and update accordingly. Vertex Inc. provides a net change list that you can use to monitor these changes. The same applies to any changes done to existing addresses. You must always validate that the geo code is updated accordingly if an address is changed.

You can interactively change the geo codes through (CRS610), 'Customer. Open' (CRS610/L) and (OIS002) 'Customer. Connect Addresses' (OIS002/F).

You can also change the geo codes through the API CRS610MI (ChgAddress and ChgBasicData).

Exemption certificates

Exemption certificates can be used in Vertex to exempt a transaction from tax. Specify the exemption certificate number in 'Customer. Open' (CRS610). The exemption certificate will be sent in the interface to Vertex. The tax exemption rules connected to an exemption certificate are managed in Vertex.