Acumatica is a technology provider that develops cloud- and browser-based enterprise resource planning (ERP) software for small and medium-sized businesses (SMBs).

Integration Scope

The app store integration includes the following features. Records sync supported is noted as provided by a middleware integration.

Module

Integration Method

Notes

Products

Middleware integration - DCKAP

Customer accounts, addresses, and users

Middleware integration - DCKAP

Live Customer A/R Balances

EvolutionX App Store

Customer Product Codes (alias)

Middleware integration - DCKAP

Live Order History

EvolutionX App Store

Offline orders included.

Live Invoice History

EvolutionX App Store

Live Pricing

EvolutionX App Store

Contract Item list is not included but contract item pricing is included.

New order processing

Middleware integration - DCKAP

Web order status updates

Middleware integration - DCKAP

Installation

To install Acumatica, you need to create an access user on your Acumatica account & create a client Application. The process below describes how to create a client application and get your Client ID and Client Secret.

Create Access User

First, we need to create a user on your Acumatica account. This access user credential will be used by EvoX to complete the OAuth Authentication with Acumatica and gain access to necessary modules.

N.B- Created user should be have unique username e.g (EvoXUser) and preferably use the same email as the error notification email receiver (More on this here)

Create Client Application On Acumatica

  1. From your created user account, go to More Items Integration. On the integrations page, click Show All Connected Applications.

2. Fill the Connected Application form by providing

  • Client Name

  • For the OAuth 2.0 Flow option, select "Resource Owner Password Credentials"

3. Create a Client Secret by clicking on the ADD SHARED SECRET Add Description. Copy the Client Secret value at the end of the modal and click OK

4. Click the Save Button. This action generates the Client ID. Copy the Client ID generated.

N.B: the client ID must include an auto-generated string and the ID of the company, such as 88358B02-A48D-A50E-F710-39C1636C30F6@MyCompany

5. Add a New Field to Acumatica Sales Order Endpoint
Integration->Web Service Endpoint->[production-endpoint]

Note: The OrderTemplate field is required to use the app store Order Type configuration.
In the following screen you can find the Order types for Credits and Returns



Install from the App Store

Enable the Acumatica ERP Integration App from the App Store under the Erp category. Go to the EvolutionX Admin and click App StoreAcumatica ERP Integration.

  • Acumatica Security Endpoint: Acumatica endpoint to retrieve the API authorization token. example:

    https://{Dealer Name}.acumatica.com/identity/connect/token

  • Acumatica Client ID: Acumatica Client ID. This can be gotten from the process described above (Create Client Application On Acumatica).

  • Acumatica Client Secret: Acumatica Client Secret. This can also be gotten from the process described above (Create Client Application On Acumatica).

  • Acumatica ERP Username: Username used in gaining access to the Acumatica ERP.

  • Acumatica ERP Password: Password used in gaining access to the Acumatica ERP.

  • Acumatica API Endpoint: Acumatica API endpoint. example:

    https://{Dealer Name}.acumatica.com/entity/{endpoint name or default}/{endpoint version}/

  • Error notification e-mail Sender: SES E-mail address to be used as sender (FROM) for emails sent when an integration error occurs.

  • Error notification e-mail Receiver: E-mail address to receive (TO) information when an integration error occurs.

  • Order Types for Credits & Returns: Comma-separated list of types that will show the live invoice and order amounts as negative on the storefront. This needs to have both the short and the long type name. E.g CREDIT MEMO,CM. Note: To use this feature on live order list, you have to add the OrderTemplate field to the Sales Order endpoint in Acumatica (see above).

  • Type of orders to show: Order type that will be filtered to show on the live order list. Leave this field empty to get all order types. E.g SO. Note: To use this feature on live order list, you have to add the OrderTemplate field to the Sales Order endpoint in Acumatica (see above).

Test Integration settings

By clicking the button "Test Settings" you can validate if the settings you saved are correct.

N.B: This should be used after every Installation/Update of the App settings to make sure the ERP connection is configured correct.

Live Pricing

Enable Live Pricing from Acumatica by navigating to Settings → General

and go to Store Preferences tab. Scroll to the Live Pricing section and fill the following form inputs:

  • Provider: Choose Acumatica from the dropdown list

  • Token: Pre-Populated, no changes needed

  • Endpoint Url: Pre-Populated, no changes needed

  • Enable Live Pricing For All Accounts: Toggle to enable live pricing for any accounts created via the API or EvoLink

EHF Checkout Fees

With the Acumatica App installed, we do a live lookup of Environmental Handling Fees (EHF) on each items in a Cart during checkout. The EHF Live Lookup happens after the Shipping Option Tab in Checkout, and adds fees to the Cart based on the following conditions:

  1. For each order item, a live call is made to Acumatica to get all fees related to the item.

  2. From the related fees gotten, a fee is then added as external line item on the order WHEN:

    1. The fee is a provincial fee and the province on the shipping address of the order is the same as the fee. A provincial fee would have the Province Code as the first two letters of the Fee Name e.g (BC0045 is a British Columbia Only Fee with BC meaning British Columbia).

      OR

    2. The fee is a country wide fee and the Country on shipping address of the order is the same country as the fee. A country wide fee for Canada would have the Fee Name starting with CX e.g (CX0025) while for the United States starts with UX e.g (UX0040)

Did this answer your question?