ECI DDMS ERP Integration

DDMS Sync App enables DDMSPLUS ERP integration with EvolutionX. We cover setup, use cases, customer sync and more.

Séamus Diamond avatar
Written by Séamus Diamond
Updated over a week ago

What is DDMS?

DDMSPLUS® ERP software by ECI Software Solutions which enables dealers worldwide to access information, analyze operations from multiple locations, improve efficiencies, and grow their businesses through additional business lines and vertical markets, in brick-and-mortar locations, and via ecommerce.

Integrations List with EvolutionX

Here is a summary of the DDMS areas integrated with EvolutionX from the perspective of DDMSPLUS. The remainder of the article goes into more details about these.

Parent and Child Customers Sync

  • Daily and on-demand sync reads the Accounts and Departments and updates EvolutionX Customers with their name as Parent and Child Customers.

  • Filter Accounts to sync to EvolutionX by one or more prefix values in the Account Code.

Pricing and Contracts

  • Live price lookup for all items appearing on screen.

  • Create a DDMS contract as an EvolutionX price rule, assign to customers or users, and read the items daily from DDMSPLUS. Note, laundry lists are not supported, but quicklists can be created by users.

Inventory

  • Live inventory lookup to DDMS for all items appearing on screen.

Checkout Live Integration to DDMSPLUS

  • Read Address fields on the Department to display as billing and shipping options.

  • Check Prepay and Status OE values to determine on-account payment option.

  • OE Exempt check to prevent orders.

  • Optionally read taxes from DDMSPLUS

  • Optionally check for account credit limit, account budget, account past due status of this order and the account. Doesn't include integration with DDMS for user or cost centre budgets.

  • Set DDMSPLUS "blanket PO" value as the default PO value on the order in checkout.

Storefront My Account Live Integration to DDMSPLUS

  • Live Order History

  • Live Invoice History

  • Live Account Balances

  • Optional Invoice Payments with email alert to staff to apply

Web Order processing

  • Optionally integrated Paya Connect payment processing for distributors inside the USA (use Net1 gateway).

    • Optional control the charging of a card once, or as items ship.

  • Optionally Send third-party payment details where distributors are outside the USA.

  • Optionally send Printer ID to control printer for web orders.

  • Optionally add or suppress shipping rule selected by the customer.

  • Off Catalog items support for items not found in DDMSPLUS.

  • Field mapping options for orders.

  • Guest orders in Canada are sent to departments using the Province/State code for routing.

Install from the App Store

Enable the ECI DDMS PLUS App from the App Store under the Erp category. Go to the EvolutionX Admin and click App Store → ECI DDMS PLUS Integration.

App Store Fields

All Implementations:

  • DDMS Guest Customer Account: Sets the Account number that is going to be used for guests users

  • Shipping Country Code: Sets the country code for all shipping user addresses when synchronizing DDMS customers with EvolutionX. ISO Alpha-2 code must be used

  • SKU prefix: Sets the SKU prefix that will be added to off catalogues products

    • This will be used if the item is not found in DDMSPLUS (Alternate Type has an X)

  • DDMS prepaid status: Set a value if you wish to consider as "pre-paid" one of the codes between G and Z in the DDMSPLUS Status O/E customer field. DDMSPLUS "Status O/E" value and the PrePay value are considered to determine if the customer must pre-pay for the order using a credit card (CC). Read More Here.

  • DDMS GL Location: Sets the GL location to be used when sending orders to DDMS. If left blank, DDMS will set the GL location as 1 for the order.

  • DDMS Inventory Location: Sets the inventory location to be used when sending orders to DDMS. If left blank, DDMS will set the location as 1 for the order.

  • ECI API ID: Sets the API ID provided by ECI

  • ECI Consumer ID: Sets the Consumer ID provided by ECI

  • ECI SITE ID: Sets the Site ID provided by ECI

  • ECI API Endpoint URL: Sets the API endpoint provided by ECI

Legacy Order Processing using E-Procurement CXML files

Leave these three fields bank if using the API to process orders. This E-Procurement method is only used for legacy distributors who have not yet moved to the API method of order processing.

  • ECI E-Procurement endpoint URL: Sets the E-Procurement endpoint provided by ECI. Leave blank to use the new ECI API for order submission. N.B The new ECI API Order submission requires DDMSPLUS release 3.48 and above.

  • ECI E-Procurement Identity: Sets the E-Procurement Identity provided by ECI. Leave blank to use the new ECI API for order submission. N.B The new ECI API Order submission requires DDMSPLUS release 3.48 and above.

  • ECI E-Procurement Secret: Sets the E-Procurement Secret provided by ECI. Leave blank to use the new ECI API for order submission. N.B The new ECI API Order submission requires DDMSPLUS release 3.48 and above.

All Implementations:

  • Evolution API key: Evolution API key to be used from the App, can be set in Create EvolutionX API key

  • Order Taker ID: The 4-character code for the dealer’s employee who entered the order. Leave blank and "EVOX" will be used as order taker ID.

  • Order Include Credit Card Payment Field: Turn on this toggle to add credit card information of orders with the XML tags sent to DDMS. The credit card information will be saved in the VaultInformation tag to DDMS. When placing an order, we capture the card details we pass the token ID with the order so that DDMSPLUS can charge the card as it processes the order. DDMSPLUS does not required the card number which protects you and the systems so they remain PCI compliant. The last four digits of the card are provided as a note for your reference.

    • Apply Order Credit Card Payments In DDMS: When the "Order Include Credit card Payment Field" toggle is turned on, you get this option to set how the order credit card payment will be applied in DDMS. Below are the options available

      • Use DDMS settings to apply credit card payment: with this option, the default dealer settings in DDMS will be applied. This is the default option selected.

      • Apply 100% of the credit card amount on submit: with this option, 100% of the order amount will be charged to the credit card when the order is received by DDMSPLUS. This is one single charge per order.

      • Apply credit card amounts only as items ship: with this option, the card payment will be charged as the order is shipped. This may cause multiple charges to be taken for a single order, which totals to the amount of the order.

  • Use Customer PO as Short PO and Long PO (false only uses Long PO): By default (false) the Checkout PO field is only sent as the Long PO in DDMSPLUS. When processing a new web order into DDMSPLUS, if this toggle is set a on (true) it sends the Checkout PO field value to both the DDMSPLUS order Short PO and Long PO.

    When on (true) the Customer can see, on the storefront, the column Short PO on the Order list and Invoice list.

  • Order Printer ID: Sends the two character code with the order submit to indicate which printer should be used for the order. If left empty, the value is not sent and ECPLUS settings or DDMS settings will control this behavior.

  • Suppress Free Shipping Rule Line: Default is off and results in the shipping rule for the order being added as a line item on the order to indicate the choice seen and selected by the customer in checkout. If enabled, and if the shipping rule has no charge, this line will not be added to the order. Enable this in cases where you don't charge shipping and don't have two or more options for customers and this will save a line on the orders.

  • 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.

  • Enable Checkout Integration For DDMS Taxes: Turn on this toggle to enable live item tax lookup from DDMS during the checkout (After the Shipping Option Step).

    N.B: Selling Off-Catalog items requires DDMSPLUS release 3.48 and above.

    When this toggle is turned on, it shows the follow configuration options

    • Prevent Orders in Checkout when over DDMS Account Budget: With this option set to "Yes", during the tax lookup, we inform DDMS to check if the order to be placed isn't above the DDMS Account and Department budgets and if it is above the account's budget, we prevent customers from moving on to the order payment option and inform the customer to update their cart. Default value is "No".

    • Prevent Orders in Checkout when over DDMS Account Credit Limit: With this option set to "Yes", during the tax lookup, we inform DDMS to check if the order to be placed isn't above the DDMS Account credit limit and if it is above the account's credit limit, we prevent customers from moving on to the order payment option and inform the customer to update their cart. Default value is "No".

    • Prevent Orders in Checkout when the DDMS Account is Past Due: With this option set to "Yes", during the tax lookup, we inform DDMS to check if the account is past due and if it is, we prevent customers from moving on to the order payment option and inform the customer. Default value is "No".

  • Customer Number Prefix For Sync: Specify Customer Number prefixes separated by comma and during the sync process, we will only sync customer records when their account number starts with the specified prefix. You can specify as many prefix you want and separate each with a comma or leave blank to sync all customer accounts

Setting Field Limits

DDMSPLUS ERP has some character limits that should be enforced in the Checkout of EvolutionX to ensure that customers stay within those limits as they enter values. Ask Our Customer Success Team to set these limits following this article and setting field limits as follows:

// Account options
var user_name = 30;
var user_phone = 25;

// Delivery Details
var address_name = 30;
var address_line_one = 25;
var address_line_two = 25;
var address_line_three = 25;
var address_county = 2;
var address_city = 20;
var address_postcode = 9;
var address_delivery_note = 150;

// Review and pay
var order_note = 150;
var po_number = 30;
var alternative_po_number = 10;

Customer Account and Department Sync

Each night a one-way sync of all accounts and departments reads data from ECI Interactive customer tables and will create or update customers on EvolutionX.

You can also trigger a one-way sync of all accounts and departments from the DDMS App Store in EvolutionX.

Customer Lookup

Before querying the customer, a request is made to ECPLUS to get the gl (general ledger) and inv (inventory location) values that will be used in the customer lookup.

If these fields are not returned or are empty, the DDMS GL Location and DDMS Inventory Location fields present in the ECI DDMSPLUS App configuration will be used if they have a value, otherwise, no gl and inv values will be sent.

Customer Addresses

Addresses are looked up in real time during the checkout process using the addresses obtained through customer lookup. Addresses are not synced and stored within the EvolutionX system.

Making Changes to Account and Department Names

Account and Department names are mastered in the DDMS ERP. Changes flow through the integration up to EvolutionX. The Account and Department names a synced from the DDMS Customer Screen "Dept Name" field.

Once the account has been updated inside DDMS the dealer can either manually run a customer sync within their EBS console or wait for the next scheduled run to complete typically within 24 hours. Then it would need to be synced with the dealer's Ecinteractive account management. (see below) once this is done then the changes should be reflected within EvolutionX.

⚠️Note: The same steps are taken when adding new accounts to EvoX.

Customer Field Mapping

Here are some important EvolutionX fields and how they are mapped with data from DDMS.

  • Customer Account Code — EvolutionX sets this value as the DDMS Customer Account Code.

  • Customer Seller Reference — EvolutionX sets this value as the DDMS Customer Department Code

  • Customer Address Title — EvolutionX sets this value as the DDMS Customer Department Name.

Customer Address Mapping (read more about addresses)

  • Address Line 1 — DDMS Address field Suite

  • Address Line 2 — DDMS Address Field Address

  • Address Line 3 — DDMS doesn't support this field. Mapping to the order is found below.

N.B - Accounts disabled through the sync process can only be enabled from the admin

Customer Credit Enabled Status Live Lookup Integration

The credit enabled status in the EvolutionX customer record can be ignored because EvolutionX does a live lookup on storefront in step one of the checkout. This check reads the DDMS Account & Department record's Prepay flag (If available) and the Status O/E.

Where either the Prepay or Status O/E indicate that the customer must prepay then they will not be offered the on-account payment method. If neither does then the the on-account payment method is offered if set up.

Prepay Value (requires DDMSPLUS release 3.49 and above)

Live lookup of Customer PrePay value to determine if the customer can order "on account" or "Credit card only". A value of TRUE means customer can only order with credit card while FALSE means customer can order "on account".

N.B: The Prepay Value check will only be available with DDMSPLUS release 3.49 and above

Status O/E in Checkout

Live lookup of Customer O/E Status to determine if the customer can order "on account" will allow values of "G" through "Z" as valid for ordering "on account" except for any value set as the "Prepaid Status" in the app store (as described above).

  • Customer Status O/E in DDMS

    • 1-9 or A-F — Credit Card only

    • G-Z — on account

    • The EvolutionX App Store value set as the DDMS Prepaid Status will also be Credit Card Only. For example: Set "P" value in the App Store will mean that G-Z except P is on account and other values, including P are Credit Card Only.

DDMS Customer O/E Status field:

OE Exempt in Checkout (requires DDMSPLUS release 3.49 and above)

DDMSPLUS Customer Department records include the OE Exempt (Order Entry Exempt) to prevent customers from placing orders. This is used when chasing payment from an account to prevent the customer placing new orders.

Note that in DDMSPLUS the OE Exempt status can have any letter in it but always results as OE Exempt set as True. If empty then OE Exempt is set as False.

How the OE Exempt check works in the checkout:

  • A storefront user clicks "checkout"

  • OE Exempt flag is checked on DDMSPLUS on the current department record and account master record.

  • If either record results in OE Exempt set as True, then EvolutionX will redirect them to their shopping cart with an error message:
    "Your account is on hold. Please contact our staff for assistance"

Customise O/E Exempt Error Message

Dealers are able to customise the OE Exempt message for their store. The default error message is "Your account is on hold. Please contact our staff for assistance".

To change the error message, make use of the Translation module provided in the EvolutionX Admin Portal.

On the translation module, search the "Key" field with the text "customer_on_hold" and press Enter. This provides you with a filtered list showing the default message set for the error message.

Provide your custom message in the Custom Translation box provided and click "Save Changes". With this, your custom message will be shown to the customer instead of the default message.

Default PO in Checkout

During the checkout process, EvolutionX reads the storefront user's PO value (longPoNumber) from DDMSPLUS and applies that as the default PO for the order (can be seen on the payment step in checkout).

N.B: Users can update the default PO to their own values for the order.

Order Processing to DDMS

EvolutionX will send orders to DDMSPLUS using the API Order submission (N.B The ECI API Order submission requires DDMSPLUS release 3.48 and above). Dealers can also configure on the appstore for order submission to use file in cXML format to ECI procurement for processing into DDMS.

Here are some notes about order fields.

  • Order ID — EvolutionX sets this as the thirdPartyOrderNumber and aaaaSpecialText1.

  • Phone — EvolutionX sets this as the zzzzSpecialText1.

  • Email — EvolutionX sets this as the zzzzSpecialText2.

  • Shipping Note — EvolutionX sets this on three lines:

    • Line 1 to 50 is set on the aaaaSpecialText3 field.

    • Line 51 to 100 is set on the aaaaSpecialText4 field

    • Line 101 to 150 is set on the aaaaSpecialText4 field

  • Order Note — EvolutionX sets this on three lines:

    • Line 1 to 50 is set on the zzzzSpecialText3 field.

    • Line 51 to 100 is set on the zzzzSpecialText4 field

    • Line 101 to 150 is set on the zzzzSpecialText5 field

  • Customer Name — EvolutionX sets this as the whoCalled.

  • glLocation and inventoryLocation - EvolutionX uses the generalLedgerLocation and inventoryLocation fields returned from customer lookup (read more about customer lookup).

  • creditCardType - EvolutionX maps the field based on the name of the credit card brand following the list below (If no value is found, '6' will be used):

    • '0' = Master Card§

    • '1' = Visa

    • '2' = American Express

    • '3' = Diners Club

    • '4' = Carte Blanc

    • '5' = Discover

    • '6' = Private Label

  • isDropShip - EvolutionX uses the isDropShip value returned from customer lookup.

  • ShiptoName — EvolutionX maps the customer company name on this field. If the current customer is a child account, then the parent's customer company name is used.

  • shiptoRoute - EvolutionX uses the shiptoRoute value returned from customer lookup.

  • AttentionName EvolutionX maps the shipping address name on this field.

  • Billing and Shipping Address (read more about addresses)

    • EvolutionX supports three address lines but DDMS supports two. EvolutionX will use the mapping:

      • Billing / Shipping Address Line 1 — DDMS Address field Suite

      • Billing / Shipping Address Line 2 — DDMS Shipping/Billing Address Field Address

      • Shipping Address Line 3 — DDMS Order Field aaaaSpecialText2

      • Billing Address Line 3 is not supported.

    • The DDMS Ship To Address Name for a Guest Order is set as the Shipping Address Name on the EvolutionX Order. Account Orders will set the DDMS Ship To Address Name as the EvolutionX Shipping Address Title.

  • Shipping Fees

    • EvolutionX shipping charges will be added as a line item when sending the order to DDMS. When configuring your EvolutionX Shipping rules add the item code with prefix (EX: OFCDELIVERY) to the Shipping rule name field. This item should exist in DDMS for use.

  • Product SKU

    • EvolutionX SKU is a string which consists of two parts from DDMS. The first three characters are used as the DDMS Item "Company" value. The remaining characters are used as the DDMS Item "Number" value.

      • Example: An EvolutionX Item with SKU "ABC10000" will be sent to DDMS on an order as a line item with Company = "ABC" and Number="10000".

    • Off Catalog Items

      • Items not found in DDMSPLUS will return Alternate Type value of X. EvolutionX will then prepend the SKU on the order line item with the Off Catalog prefix from the DDMS App Store settings.

  • Guest Orders

    • A guest order will go to the DDMS guest customer account as configured in the App Store Settings but the Department will be set dynamically as the State/Province code on the Shipping Address of the EvolutionX Order. This is because each state or province may have different tax treatment or routes in DDMS and this allows each to be configured in DDMS and then applied to the guest order correctly.

      • Example: Order from a guest customer shipping to Alberta, Canada will go to the Guest Account Code as defined in the App Store Settings and the Department "AB" (the Province code of Alberta).

  • Customer PO

    • Long PO — Used By default

    • Short PO — Used along with Long PO if enabled in the App Store Settings. Limit is 10 characters.

Order Subtotal Discount

EvolutionX order subtotal discounts will be added as a line item when sending the order to DDMS. This discount item should exist in DDMS for use.

When creating your discount item in DDMS, follow the follow rules:

  • Item Company: Item company should be the same as what is configured in the appstore for SKU prefix (see here). For example "OCU"

  • Item Number: The item number should be "DISCOUNT"

Contract Pricing From DDMS

With the DDMSPLUS app installed, dealers can import their contract pricing from DDMSPLUS to be used on their EvolutionX storefront.

N.B: Contract pricing import requires DDMSPLUS release 3.48 and above. Also, contracts to be synced must exist in DDMSPLUS and have items in it.

Creating New DDMS Contract Pricing

On EvolutionX Admin, click PricingNew Pricing. For dealers with the DDMSPLUS app installed, clicking the "New Pricing" button brings two options, New EvolutionX Pricing & New DDMS Contract Pricing. Select the New DDMS Contract Pricing option

On the New DDMS Contract Pricing page, you will see the following fields:

  • Price Plan: The price plan number of the DDMS contract you are importing.

  • Account #: The customer account of the DDMS contract you are importing. This field can be left blank if not applicable.

  • Dept: The department of the DDMS contract you are importing. This field can be left blank if not applicable.

  • Group: The group code of the DDMS contract you are importing. This field can be left blank if not applicable.

  • Start: The start date for when the imported contract should be made available.

  • End: The end date for when the imported contract should be discontinued.

  • Priority: Sets the priority for the imported contract in relations to other pricing rules.

  • Auto Deletion: Sets this toggle to auto delete the contract pricing rule when the end date has elapsed

  • Status: Sets this toggle to enable/disable the contract pricing rule

  • Who Is This For: Use this option to set who the contract pricing rule should be applied for. The options available are:

    • Global: Applies the rule for all accounts and users

    • All Non Account Users: Applies the rule for all users not associated to an account

    • Users: Applies the rule to selected users. can apply to multiple users

    • All Accounts: Applies the rule to all accounts

    • Accounts: Applies the rule to selected accounts. can apply to multiple accounts

    • Guests/Surfers: Applies the rules to guests users

  • Name: The name for the contract pricing rule. This field is auto populated by values provided in the DDMS key fields.

When the fields are filled and the Save button clicked, we first verify if the DDMS configuration fields provided for making the request to DDMSPLUS are correct, and if they are, we create the contract pricing rule then make a live request to DDMSPLUS to get the items in the contract pricing rule and automatically apply the DDMSPLUS items to the contract pricing rule created on EvolutionX

Contract Items Sync Schedule

For DDMS contract pricing rules created, we run a nightly background sync of the contract items to ensure the items in the contract pricing rules are always kept up to date with the items in DDMSPLUS. The nightly sync runs every night at 01:00 UTC.

N.B: For dealers who have updated items on a contract pricing in DDMS and would like to immediately see the changes in their EvolutionX pricing, they can run an on-demand sync by clicking into the pricing rule from their list of pricing rules and click the "Save" button in the pricing rule

Custom Order Field Mapping

With the ECI DDMS App installed, EvolutionX allow dealers set custom field mappings for orders sent to ECI using the API Order submission. To enable the API order submission, read more here

To use the custom order field mapping, click the "Setup Order Mapping" button on the ECI DDMS App

The custom order mapping page shows three rows, Order Header Field, Default and Custom Value.

  • Order Header Field: This row shows the ECI order fields

  • Default: This row shows the default mapping EvolutionX sends to ECI for the corresponding ECI order fields.

  • Custom Value: This row shows the dealer defined custom mapping to be sent to ECI, which will override the default EvolutionX mapping

N.B: Some Custom Value columns are Read Only, which means EvolutionX do no allow setting custom values for such fields

Setup Order Mapping

For ECI order fields that EvolutionX allow custom field mappings on, you will see a "Select Attribute" dropdown on the Custom Value column

The dropdown shows all available EvolutionX order data and dealers can select the order data attribute they want as the custom value to be mapped on the ECI order field

After selecting all the desired custom values, click the "Save Changes" button. Orders sent to ECI after the configuration will map values to the ECI order field using the custom value attribute instead of the EvolutionX default value. For the example, in the image provided above, EvolutionX will map the value of the Alternative PO to the ECI longPONumber instead of using the PO Reference value

Updating/ Removing Custom Order Mapping

Dealers can change their previously configured custom mapping by selecting a new attribute they want as their custom value and click the "Save Changes" button after making updates. Orders sent after the update will use the new custom value.

To remove a previously configured custom mapping, click on the "X" icon on the custom value and click "Save Changes". Orders sent after the configuration will default back to using EvolutionX default mapping for the order mapping to ECI

Order Status Sync

With the ECI DDMS App installed, EvolutionX makes scheduled requests to ECI and automates the update of EvolutionX order status in line with the order's status from ECI. This process is done so EvolutionX can correctly allocate reward points (Reward points are allocated when an order is marked as completed).

N.B: Order status sync is only available for orders processed using the API Order submission. To enable the API order submission, read more here

Order Status Look Up From ECI

When orders are processed using the API order submission, ECI sends back the order reference number which is then stored as the seller reference of the order.

During the order status lookup process, EvolutionX gets all orders that have seller reference (ECI Order Reference Number) set and order status of "In Progress". It then makes a request to ECI to lookup the order status using the reference number. It maps the retrieved ECI status to the appropriate EvolutionX order status and updates the order status and order timeline accordingly.

Below is a table showing the ECI Order Status - EvolutionX Order Status Mapping

ECI Order Status

EvolutionX Order Status

EvolutionX Status ID

H (Hold)

In Progress

2

O (Open)

In Progress

2

I (Invoiced)

Completed

7

** Not Found

Cancelled

6

** Not Found - Status for EvolutionX order not found on ECI, order cancelled.

Order Status Sync Schedule

The order status sync process runs three times daily:

  • 12:00 UTC

  • 17:00 UTC

  • 23:00 UTC

Ship To Addresses in EvolutionX Checkout

Dealer can enable this functionality to pull ship-to addresses for an account and allow the customer choose between the Account Shipping Address and the ship-to addresses for an order's shipping address.

Enable Ship-To Addresses In Checkout

To enable the Ship-To addresses in checkout, go to the DDMS API app on the EvolutionX appstore and enable the toggle "Enable DDMS Ship-To Addresses In Checkout"

When a customer is in checkout, EvolutionX makes a request to DDMS to get the customer addresses to use for checkout (Shipping & Billing Address), and if the ship-to addresses toggle is enabled, EvolutionX will also make an additional request to get the customer ship-to addresses and add to the list of shipping addresses which the customer can select from in checkout

Order Processing To DDMS With Ship-To Address

When an order is placed with the ship-to address selected as the shipping address, EvolutionX only sends the ShipToId attribute to DDMS with the address_id of the selected ship-To address and removes other shipping information attribute when sending the order processing data to DDMS.

Ship-To Address Attentions

Dealers can filter the ship-To Addresses a checkout user can see by using attentions. When an attentionId is assigned to a user, we make the ShipTo request to DDMS filtering it by the attentionId, and DDMS will respond back with only the shipTo address associated with the attentionId.

To set attentions on a user, set the attentionId on the user's seller reference field using the Admin screen or API.

Live Invoice view

EvoX pulls invoices from ECI and makes it available on the storefront.

The visibility of the invoice screen is controlled by roles.

Live invoice records gotten from ECI is filtered only by the account number. If active on a Users Role, they will see all Invoices for all accounts and its departments.

Live Invoice Payment

Live invoices can be paid by the users using the EvolutionX invoice checkout. A payment method that supports invoice Payments should be used to activate this feature. The payment status of the invoices will be sent to DDMS so their status can be set as paid.

Live Order view

EvoX also pulls order history from ECI. The visibility of the orders is also controlled by roles.

"View" allows a user to see orders for the account or department they are currently logged into.

"View All" will allow them to see (If they are a user of a parent account) the filter dropdown that enables viewing of all orders from all departments.

All users in the parent accounts can see orders for the parent account and if selected, can also see orders from the child accounts. Users in the child account however, can only see orders for the child account

Live Inventory and Live Pricing Setup

Steps required on Admin to enable live inventory lookup for your store:

  1. Enable Inventory in Admin → Products → Inventory → Settings

    1. Only global settings are required.

  2. Edit your supplier in Suppliers and add a default location, seller reference in the location must be set for 'default'

Store Settings

  1. In Admin → Store Settings → General → Store Preferences, in section Live Pricing

    1. Select the Provider DDMS

    2. Enable toggle Live Pricing

    3. Enable toggle Live Inventory

    4. In Inventory Endpoint URL add your url - should be the same as the Live Pricing ECI API ENDPOINT URL when editing your app ECI DDMSPLUS in the App Store:

      https://api.ecinteractiveplus.com/products/

    5. In Global Account add the account number for guest users.

    6. The Token is the same for Live pricing and Live Inventory. It is a string combinging your credentials with periods between each, like this: [ECI API ID].[ECI CONSUMER ID].[ECI SITE ID]

      1. An example for

        ECI API ID = 00000000-1111-AAAA-BBBB-CCCC22223333DDDD

        ECI CONSUMER ID = 444444-5555-EEEE-FFFF-6666GGGGHHHH

        ECI SITE ID = 99999999-ZZZZ-YYYY-8888-A1B1C1D1E1F1


        Your token would be:
        00000000-1111-AAAA-BBBB-CCCC22223333DDDD.444444-5555-EEEE-FFFF-6666GGGGHHHH.99999999-ZZZZ-YYYY-8888-A1B1C1D1E1F1

    7. Save

Live Search for product aliases

Searching for a product on an EvoX store with DDMS installed will automatically look for aliases.

Example: A product with the SKU TEST123 that has the alias ABC123 associated to an account will be found when a customer from that account searches for ABC123.

An alias created at the vendor level can also be found.

A search for a word, if found as an alias from DDMS will be replaced for the equivalent SKU and then found in the catalog.

👉 Please note:

  • The searched word must be an exact match to the alias.

  • By default, search for aliases for guest users is disabled. To perform searches for vendor aliases for guest users, enable the toggle Enable Vendor Alias Search for Guest Users in the Admin App Store

  • Product aliases are not displayed in the storefront, if a customer wishes to display product aliases, they must be loaded in the EvoX module Customer Product Codes (Alias).

Search for aliases will not run under the following scenarios:

  • The search term has more than 15 characters.

  • A user is not signed in and toggle Enable Vendor Alias Search for Guest Users in the Admin App Store is disabled.

  • A user is signed in but the account number is missing from the account associated to the user logged in (and the toggle above is disabled).

  • A crawler is performing the search.

Frequently Asked Questions (FAQ)

Why is my Customer Account or Department isn't updating when I save it and sync in EvolutionX?

DDMS stores customer account and department data in two places and when new records are added or updated it is important to run a Sync of data from Insight DB to MySql. When you save or run a sync of customers and department in EvolutionX, we read that data from the MySql database. If the MySQL is not up-to-date with the data from InSight DB then it causes this issue. You can also schedule this to happen on a schedule. Contact DDMSPLUS support for help with this.

Does DDMS integration have live inventory?

Yes, Live Inventory can be configured using the instructions above. Note that live inventory will only use the inventory quantity delivered by DDMSPLUS. DDMS can be configured to return a value which is combined from multiple sources, contact DDMS support for assistance.

Are automated item swaps/subs supported?

No, item swaps and subs will be supported in Q2 of 2023 based on the current integration plans between DDMSPLUS and EvolutionX. This data can be added using the EvolutionX admin as a work-around.

What happens with order over credit limits in DDMS?

EvolutionX will only use the credit enabled status to determine if an order can be taken on account. This is controlled by the DDMS field Status O/E as described above. If an order is over the credit limit it will be sent to DDMSPLUS and then it is handled under existing features of the ERP.

Is the Credit Account toggle controlled via the integration and what logic in DDMS controls the field?

The EvolutionX credit enabled status is controlled by the DDMS field Status O/E as described above. If an order is over the credit limit it will be sent to DDMSPLUS and then it is handled under existing features of the ERP.

Is a self registered user or a self registered business account supported with the integration to DDMSPLUS?

No, self registration is not supported. This would require a new feature which supports a customer account or user on the website which has no matching account in the ERP. A DDMSPLUS customer account must exist, then a web user can be created and invited. Until then they can only shop as a guest. Registration is only supported as an email form request to staff.

How does the rewards program work when using DDMSPLUS integration?

If you implement a rewards program you will need to update order status either daily or weekly to apply the points. Currently the DDMSPLUS integration doesn't support applying points automatically but this is planned as part of the Q2 roadmap in 2023. To implement rewards now you will need to use the Admin order list page to select all orders placed and change their status to "Completed". Here is the procedure:

  1. Update any web orders which were cancelled so they are "cancelled" status on EvolutionX. This will discard their points.

  2. Filter all remaining orders that have an "In Progress" status and then select all and update them to "Completed". This will allocate their points.

  3. Make manual adjustments to any customers who had partial returns or order edits if you want them to receive more or less points than on the original order.

Live Price Doesn't Provide a Price Even When It Should

Check if you have a hard sub configured for the item. In the live price call if a hard sub is configured the sub'd item number is returned in the live price request and doesn't match the item in the request. Due to this un-matching, the live price will not be displayed. You can use the Live Price lookup tool to identify this by requesting the logs and viewing the response logs such as the example below.

I've Added Pricing to a New Product and the Price is Failing to Show on the Website

Usually it is immediate, but the dealer may need to run what we call an EBS import to update the SQL tables, but they should have an automated schedule for that approx. every 5 minutes. DDMS support can validate the timing of the schedule and update if needed, to a more frequent schedule.

Did this answer your question?