What is DDMS?
DDMSPLUS® ERP software 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.
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.
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: Sets the status that is configured as prepaid in the erp
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
ECI E-Procurement endpoint URL: Sets the E-Procurement endpoint provided by ECI. Leave blank to use the new ECI API for order submission.
ECI E-Procurement Identity: Sets the E-Procurement Identity provided by ECI. Leave blank to use the new ECI API for order submission.
ECI E-Procurement Secret: Sets the E-Procurement Secret provided by ECI. Leave blank to use the new ECI API for order submission.
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 submitted.
Apply credit card amounts only as items ship: with this option, 100% of the order amount will be charged to the credit card when the items are shipped.
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.
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 required 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 account's budget 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 account's 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 = 0;
// Review and pay
var order_note = 0;
var po_number = 30;
var alternative_po_number = 0;
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 Addresses
Addresses are looked up in real time during the checkout process. 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 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 there 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.
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 we do a live lookup on storefront when we need this information. At Step 1 of the Checkout (address step) we check the credit status of the Account & Department. The following is how we support the on account status of a customer from DDMSPLUS.
Status O/E
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".
Customer Status O/E in DDMS
1-9 or A-F — Credit Card only
G-Z — on account
DDMS Customer O/E Status field:
O/E Exempt
Coming Soon: When O/E Exempt is set as true:
Department set as O/E Exempt can be disabled as the child account (will not be seen in the account list in storefront when switching)
Master set as O/E Exempt can disable the parent and all child accounts (no user can login as they are usually at this level, and so it disables all access)
New Order Processing to DDMS
EvolutionX will send order 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 aaaaSpecialText2.
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 Status Sync
With the ECI DDMS App installed, EvolutionX makes scheduled requests to ECI and automates the update of EvoX 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).
Status Sync Process
The order status sync can be classified into two process, Getting ECI Order Reference For EvoX Order and Order Status Look Up From ECI
Getting ECI Order Reference For EvoX Order
During this process, EvolutionX retrieves the ECI Order Reference Number for orders placed on the EvoX webstore. The ECI Order Reference Number is then stored as the EvoX Order seller reference and used to retrieve the ECI status for the order.
EvolutionX gets all EvoX orders without seller reference (ECI Order Reference Number) and whose order status are neither cancelled nor completed. It then makes a request to ECI to retrieve the Order Reference for each order and updates the seller reference field on the order.
If the ECI Order Reference Number for an EvoX order cannot be found after 10days, EvolutionX notifies the dealer through an email and also mark the order as cancelled.
Order Status Look Up From ECI
During this process, EvolutionX looks up the ECI status for EvoX orders and updates the order status accordingly.
EvolutionX gets all EvoX orders with seller reference (ECI Order Reference Number) set and whose order status are neither cancelled nor completed. 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 EvoX order status and updates the order status and order timeline accordingly.
Below is a table showing the ECI Order Status - EvoX Order Status Mapping
ECI Order Status | EvoX Order Status | EvoX Status ID |
H (Hold) | In Progress | 2 |
O (Open) | In Progress | 2 |
I (Invoiced) | Completed | 7 |
** Not Found | On Hold | 9 |
** Not Found - Status for EvoX order not found on ECI, order placed on hold.
Order Status Sync Schedule
The order status sync process runs three times daily:
12:00 UTC
17:00 UTC
23:00 UTC
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 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
Frequently Asked Questions (FAQ)
Does DDMS integration have live inventory?
No, Live inventory is on the roadmap of features for 2023. Note that only customers who do not wish to show managed stock from drop-shippers will be suitable for feature. Live inventory will only show stock on hand from DDMSPLUS, indicating the inventory on hand at the store-owners stock location.
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:
Update any web orders which were cancelled so they are "cancelled" status on EvolutionX. This will discard their points.
Filter all remaining orders that have an "In Progress" status and then select all and update them to "Completed". This will allocate their points.
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.