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.
Modules Integrated 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 the sync for only some Accounts by setting one or more prefix values in the Account Code.
Account & department sync is also performed when an account is added or saved in the EvolutionX Admin (targeting the saved customer account only).
Pricing and Contracts
Live price lookup for all items appearing on screen.
Staff can 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 yet supported, but quick lists can be created by users.
Quick order supports adding offline products (products that don't exist on your online store). This allows any item that exists, in that customers contract in DDMS, to be added to the cart.
Live Price Badges can be set with the DDMS ERP. If an item displayed has an associated live badge source, delivered from your ERP, a badge can be shown against an item automatically! Read more
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.
Read Ship to records on the Department which can be filtered by an Attention ID if saved to the user seller reference field in Admin.
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.
Optionally allow users to specify a preferred delivery date for their order.
Storefront My Account Live Integration to DDMSPLUS
Live Order History
Live Invoices due
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 (regardless of country) 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.
Starting November 19th, 2024, if the Order Printer ID is left blank in the DDMS App, the printer information won’t be sent. Instead, DDMSPLUS settings will decide which printer to use based on the customer’s record.
The printer will be chosen in this order:
The printer set in the DDMS App.
If not set in the app, DDMSPLUS will check the customer record.
If no printer is found there, the default printer for the site (based on their Terminal ID) will be used.
We recommend no printer is set in the DDMS App.
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.
Notify orders On Hold on DDMS: Enable this option to receive an email notification whenever an order is placed On Hold upon creation in DDMS.
Order Tax, Budget, Credit, and Past Due Checks
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).
When this toggle is turned on, it shows the follow configuration options:
DDMS Account Budget Limit — there are two points where an order can be checked for exceeding a Budget Limit, in the checkout and on submit of the order to DDMS. The default value is the "DDMS Check after Ordering". Here are how the options work:
Skip Check in DDMS — This will not check the order against the budget limit in DDMS in checkout or when submitting the order. No orders are prevented or put on hold for this reason.
Checkout Prevents Ordering — In checkout an order that fails this check will be prevented from continuing and the order cannot be placed.
DDMS Check After Ordering (default) — In checkout this check is skipped and order is allowed to be placed but the order submit to DDMS will put the order in DDMS is put on hold (DDMS Order Status 0) for staff review. This must be manually reviewed by staff in DDMS. Note that this will not effect the EvolutionX Order status in Admin.
DDMS Account Credit Limit: there are two points where an order can be checked for exceeding a Account Credit Limit, in the checkout and on submit of the order to DDMS. The default value is the "DDMS Check after Ordering". Here are how the options work:
Skip Check in DDMS — This will not check the order against the budget limit in DDMS in checkout or when submitting the order. No orders are prevented or put on hold for this reason.
Checkout Prevents Ordering — In checkout an order that fails this check will be prevented from continuing and the order cannot be placed.
DDMS Check After Ordering (default) — In checkout this check is skipped and order is allowed to be placed but the order submit to DDMS will put the order in DDMS is put on hold (DDMS Order Status 0) for staff review. This must be manually reviewed by staff in DDMS. Note that this will not effect the EvolutionX Order status in Admin.
DDMS Account Past Due Check: there are two points where an order can be checked for exceeding a Account Past Due, in the checkout and on submit of the order to DDMS. The default value is the "DDMS Check after Ordering". Here are how the options work:
Skip Check in DDMS — This will not check the order against the budget limit in DDMS in checkout or when submitting the order. No orders are prevented or put on hold for this reason.
Checkout Prevents Ordering — In checkout an order that fails this check will be prevented from continuing and the order cannot be placed.
DDMS Check After Ordering (default) — In checkout this check is skipped and order is allowed to be placed but the order submit to DDMS will put the order in DDMS is put on hold (DDMS Order Status 0) for staff review. This must be manually reviewed by staff in DDMS. Note that this will not effect the EvolutionX Order status in Admin.
Customer Account Sync Filter
Customer Number Prefix For Sync: Specify Customer Number prefixes 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. Each customer prefix can be any character length. An example, if a dealer wants to only sync accounts starting with B,R or T, then the customer number prefix should be B,R,T
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;
Set your Cart Limit
DDMS has a limit for how many lines can be added to the cart. So be sure to set your limit to 100 or less.
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.
Department sync is create-only, meaning that if a department is disabled in DDMS, it will still appear as active in the EvolutionX admin screen. However, on the storefront, this department will not be available to users, as its status is checked in real-time during login and checkout.
If needed, the department can be manually disabled in EvolutionX through the admin screen
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. A once-off, manual, address can be written into the order but we do not support saved address unless they are added to DDMS as a ship-to address and the lookup is enabled in the app store.
Customer Address Roles
Customer Roles should set Address as view only. Other settings are not currently supported with DDMS integration because addresses are live lookup only.
Customer Login and Account Switch
When logging in or changing a user's account, a request will be made to the DDMS/DDMSPLUS /customer endpoint to check the value of the DDMS PO Required field. If it has the value "D" (allows purchases only in departments), only the departments will be listed.
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.
⚠️ Note: Only orders processed through the EvolutionX checkout process or Punchout orders are supported with the DDMS integration. Orders Processed through the admin are not supported.
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.
datedOrderDate - EvolutionX uses the Requested Delivery Date selected by the user during checkout (in case dealer has enabled the Requested Delivery Date setting).
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).
Example: Order from a guest customer shipping to California, USA, will go to the Guest Account Code as defined in the App Store Settings and the Department "CA" (the State code of California).
Example: Order from a DDMS account customer shipping to a once-off address in the checkout will use the same Account and Department as the customer is registered to (it does not change based on the ship-to address).
If there is no account number assigned to an account (the account number field being blank), orders made by that account will be assigned to the guest account by default. Reason: a DDMS account number is required to sync order info to DDMS, so if this is missing, it reverts to the assigned guest account number.
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"
Volume Discounts
Volume discounts (see here) are discounts set up on DDMS that are looked up in real time during the checkout process. If a customer is eligible for a volume discount, the discount will be displayed at checkout. This display also includes information on how much more the customer needs to spend to reach the next discount level. These discounts can also be displayed through a widget.
Important: This feature is currently under pre-release. Ask customer success to enable it for your store.
Order On Hold
Whenever DDMS returns a response code other than 0, we place the order on hold. A response different from 0 means there was an error or warning communicated by DDMS.
Example:
"returnCode": 16,
"returnDescription": "Hold, due to credit card authorization",
The order will contain a timeline with "Dealer Note: Order Processed by ERP with Errors".
Contract Pricing From DDMS
With the DDMSPLUS app installed, dealers can create a DDMS contract in EvolutionX, which would import the items and pricing of that contract 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 Pricing → New 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:
⚠️Note: The fields set in EvolutionX contract pricing page much match exactly to those set in DDMS. For example - if you have an account number associated with the price plan in DDMS, you must also enter this into the setup in EvolutionX or a match will not be found.
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
Note: In the "Ship To Name field", you can select one value "Select the first value found: shipping_address.company or .title or .name
", that maps based on the following priority: shipping_address.company, shipping_address.title, shipping_address.name
.
This setup is recommended for B2C stores.
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. Using this process automatically issues rewards points or discards them based the DDMS Order status.
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
Requested Delivery Date in EvolutionX Checkout
Dealer can allow users to specify a preferred delivery date for their order by enabling the Requested Delivery Date functionality. When an order is placed with a requested delivery date, EvolutionX will send this date to DDMS.
Users have the freedom to select any date as their requested delivery date, provided it is not a date in the past. To ensure clear communication and manage user expectations effectively, we strongly suggest using trust blocks to highlight any restrictions or limitations on the selectable dates.
This feature is only available for dealers using API Order submission (N.B The ECI API Order submission requires DDMSPLUS release 3.48 and above).
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.
Exempt from min order charge in EvolutionX Checkout
The 'exempt from min order charge' feature allows certain customers to be exempt from minimum order charges.
Enable Exempt from min order charge in Checkout
To enable the Exempt from min order charge in checkout, go to the DDMS API app on EvolutionX appstore and enable the toggle "Enable DDMS Exempt From Min Order Charges"
When a customer is in checkout, EvolutionX makes a request to DDMS to get the customer exemptFromMinOrderCharge, if set to true, EvolutionX will override the shipping options with "Free Shipping", if the value is not set or is false, the shipping options will be maintained according to the options available for purchase.
Enable the customer account on DDMS/DDMSPLUS
To set a customer account as exempt from small order fees in DDMS/DDMSPLUS, follow the steps below:
Open the Customer database and retrieve the customer as you normally would.
Go to the Order Entry 2 tab.
Click
Exempt from Min Order Charges
.Save your changes.
Additionally, you can mass change the customer minimum order charge exempt status by following detailed steps in the text-based Master Menu.
For more detailed instructions, refer to the Understanding Small Order Fees document.
DDMS Cost Center Sync
The DDMS Cost Center Sync allows a 2 way syncing cost center information between EvolutionX and DDMSPLUS. The EvolutionX store will be the owner of the cost centre record but bi-directional sync functionality is included as follows:
Cost Centers in DDMSPLUS and changes to these records are pulled only on staff request using EvolutionX. This pull sync is triggered by staff using:
App Store Sync
EvolutionX Account Save and Sync in EvolutionX Admin
EvolutionX Pushing of Cost Center Information to DDMSPLUS is automatic on create, update, and delete of cost centers in EvolutionX.
Setup of EvolutionX to Match DDMS Cost Centers at Parent (required)
DDMS stores customer cost centers at the parent customer account and not at child accounts (departments). A new toggle in the Settings → Store Preferences → Customer allows the customer record to manage cost centers on the storefront at either the current customer account or the parent customer account only. This is recommended to be on for DDMS Customers.
When toggled on:
Cost centers at the child account will not be used in the storefront.
Cost center restrictions will only work if the user and cost center are managed on the parent account.
EvolutionX Pulling of Cost Center Information from DDMSPLUS
This sync process involves EvolutionX making requests to DDMSPLUS to get cost center information for all accounts in EvolutionX(Parent Accounts only).
To trigger this sync process, go to App Store → ECI DDMS PLUS APP and click on "Sync Accounts"
The sync account modal has two sync options: Account Only Sync, Account & Cost Center Sync. Select the Account & Cost Center Sync option
This process fires off a background process that pulls the cost center information from DDMS and writes those records to EvolutionX. The sync process cab be monitored using the event logs. You can access the event logs by clicking on the "View Sync Logs" link under the "Sync Accounts" button
N.B: This sync process takes over two hours to be completed and can be more depending on the number of parent accounts available for the dealer. We recommend that this sync process is used as a first time sync of cost center data from DDMSPLUS to EvolutionX and allow EvolutionX be the data source to drive New record creation / update of existing records between EvolutionX and DDMSPLUS (explained in the second sync process below)
EvolutionX Pushing of Cost Center Information to DDMSPLUS
This sync process involves EvolutionX sending cost center information to DDMSPLUS. The process works by listening to cost center events (new cost center creation, cost center update, cost center deletion) in EvolutionX and make the corresponding changes in DDMSPLUS.
The process listens to cost center events across three EvolutionX services:
All Cost Center Changes Made From The Dealer's Admin
All Cost Center Changes Made From The Dealer's Storefront
All Cost Center Changes Made From The API
This process is an automated process and is turned on by default for all dealers.
N.B: We recommend having EvolutionX as the primary data source. After the initial puling of cost center information from DDMSPLUS into evolutionX, all subsequent cost center changes should be done from EvolutionX and this process will ensure data reconciliation with DDMSPLUS.
DDMS Order Mapping For Items Cost Center
During checkout, users can now select cost centers for each item on the order and EvolutionX will send the item cost center information to DDMS during submission of order into DDMSPLUS
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 obtained from ECI are filtered primarily by account number.
Additionally, invoices can be filtered by the department based on the logged-in user.
The filter options a user has available will be based on their access to departments. If the user has no restrictions on departments, they can filter invoices by selecting either "All Departments" or a specific department from a dropdown menu. However, if they have restrictions, only the departments they’re allowed to access will appear.
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.
⚠️ Note: When a credit card processor such as Net1 is installed and available to pay invoices is activated all user with access to view invoices will also have access to pay invoices. EvolutionX does not currently support limiting access for some user to pay invoices and others to only view invoices.
Translations for Invoices
To change the "Invoice Due" menu label, make use of the Translations menu, where you can update default labels and adjust language settings to fit your needs.
The key for DDMS will be erp.ddms_invoices:
Live Order History 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
Order Delivery Status
ECI Order Status | EvolutionX Storefront Delivery Status |
1 = “all out for delivery” if no backorders | Out for Delivery |
2 = “some out for delivery” if backorders | Out for Delivery (some) |
3 = “all delivered” if no backorders | Delivered |
4 = “some delivered” if backorders | Delivered (some) |
5 = “not on a shipping manifest” | In Progress |
6 = “dated shipment that is not yet released for processing” | Delayed or Dated Shipment |
Live Inventory and Live Pricing Setup
Steps required on Admin to enable live inventory lookup for your store:
Enable Inventory in Admin → Products → Inventory → Settings
Only global settings are required.
Edit your supplier in Suppliers and add a default location, seller reference in the location must be set for 'default'
Store Settings
In Admin → Store Settings → General → Store Preferences, in section Live Pricing
Select the Provider DDMS
Enable toggle Live Pricing
Set the default GL Ledger (99 will be used if empty)
Enable toggle Live Inventory
In Inventory Endpoint URL add your url:
https://api.ecinteractiveplus.com/products/
or
https://api.ecinteractiveplus.com/products/itemStockList
Read more in live inventory endpoint options
In Global Account add the account number for guest users.
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]
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
Save
Live inventory endpoint options:
You can set your live inventory endpoint in two ways:
Get products/ endpoint: This setting will retrieve your own inventory count from DDMS without reading inventory counts from other suppliers.
https://api.ecinteractiveplus.com/products/
Get products/itemStockList endpoint:
Use this setting if you want to include a combined quantity from DDMSPLUS which incudes Own and Supplier counts. The quantities returned are dependent on the dealer’s DDMSPLUS settings and will be combined into one total for each item.
There are DDMS settings for the following that a dealer can enable:
Dealer’s on hand quantity for the location requested.
Dealer’s on hand quantity combined for all locations.
Wholesalers’ quantity (can be multiple wholesalers each having multiple facilities). Note: These are live calls to the wholesaler through PSN.
https://api.ecinteractiveplus.com/products/itemStockList
The endpoint uses the following fields as filters:
gl_location: This filter represents the general ledger location. The current default value for this field is '99'.
inventory_location: This filter is used to specify the location of the inventory. The current default value for this field is '1'.
is_drop_ship: This filter indicates whether the item is a drop-ship item or not. The current default value for this field is 'False'.
ship_to_zip_code: This filter represents the zip code of the customer's branch.
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.
Adding off catalog items to the cart from Quick Order
When live pricing is set up, the quick order module for DDMS will allow the adding off catalog items to the cart. If a SKU is entered and found in the live pricing response, it will be added to the quick order list, regardless of whether it exists in the catalog.
These items will be added to the list using the SKU as the name. Pack and price will be provided by the live pricing response.
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.
How do I add a New Account Manually to EvolutionX from DDMS
Click + New Account from the Accounts search grip page
Add the Account Name from DDMS to the Company Name field (note: this will update to exactly what is in DDDMS as it will always be the source of truth)
Add the DDMS Account Number in the Account Number Field.
Click Save. All synced departments will also sync.
Open the new parent account in edit mode. Toggle the Pricing Module field to Live Pricing. (Failure to do so will result in item pricing being shown as EvolutionX pricing vs Live Pricing)
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?
Yes, there is limited support for item swaps and subs. Currently, during the Live Price check on product list pages, DDMS swaps are checked and will change the "add to cart" behaviour and quick order in EvolutionX (quick order will replace forced swaps automatically for when adding products either manually or via csv import).
Live swaps are not checked and not supported in:
Restore saved cart (an item in a saved cart had no swap, meanwhile the item became a forced swap, restoring the cart will not swap this item)
Quote 2.0 - add to cart from quote - live swap check isn't being validated
Recurring orders - Swaps are not currently supported for recurring orders.
Note that there are other subs features in DDMS and ECPLUS that are not yet supported directly but have support in the EvolutionX admin.
How does a DDMS Force Swaps work in EvolutionX?
EvolutionX loads the original product on the screen and does a live price lookup. If the product is a hard swap then we set the price of the original item based on the alternative product. The hard swap product is only seen when the user clicks add-to-cart.
Hard Swap is based on the following DDMS response swap types:
DDMS swap type 2 — Forced by reference (preset code: R)
DDMS swap type 3 — Forced due to discontinued product (preset code: D)
DDMS swap type 4 — Forced while out of stock (preset code: O)
Note that EvolutionX does not determine if the item is out of stock for this forced swap, this is done by DDMS.
Note that EvolutionX Catalog container rules are not respected with DDMS forced swap.
When a hard swap is set but the product does not exist in EvolutionX, we generate a visual off catalog item with basic information to force the swap. This is a safety approach, and the hard swap product should exist in the catalog.
DDMS Swap types 2, 3 and 4 are supported
DDMS types 2, 3, and 4 adjust the item price by using the swap price instead of the original sell price, ensuring that the price reflects the value of the item being swapped in.
Note: Types 2, 3, and 4 swap types enforce the swap to occur.
DDMS Swap type 5 is supported
DDMS has a swap type 5 that affects the price of the swapped item. When a swap is of type 5, EvolutionX treats it as a suggestive swap, and the item price remains the same as the original item. Type 5 has a DDMS preset code of "S".
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?
Reward points (loyalty points) are pending until the EvolutionX order is updated to a status of "Completed" or "Cancelled" which causes the point to be added to the customer balance or discarded.
If you are processing orders using the API order process, then EvolutionX automatically checks DDMS nightly and updates the order status. Note that this is only done for orders that have an EvolutionX order status of "In Progress". Points are there for only added or discarded once per order.
If you are using the eprocurement setup for order processing (check your app store settings), and you implement a rewards program, you will need to update order status either daily or weekly to apply the points. 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.
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 seen in live pricing between 5 and 15min from the time the DDMS change is saved. 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, for example. DDMS support can validate the timing of the schedule and update if needed, to a more frequent schedule.
How does DDMS Price Rounding work?
DDMS pricing can round to two or three decimals and this is customisable per account and department record (parent or child account). We use the live price lookup and store the price with rounding that is provided by DDMS. Note that an online promotion could effect the final price on the line.
Here is a screenshot of the field that controls rounding on the DDMS customer record.
Price Rounding User Cases
Once an order is finalized at checkout, the price for each line item is processed and transmitted to the DDMS ERP in the following manner:
Evaluation of Web Promotions: When a EvoluionX discount is applied to a product group, each line item is reviewed for any web promotions that could impact the line subtotal. The line subtotal is then divided by the quantity and rounded to three decimal places, which is the highest precision supported by DDMS.
Please note that DDMS will either accept the unit price with three decimal precision or round it to two decimals, depending on the customer settings in DDMS.Web Promotion Absence: If no web promotion is applicable, we compare the raw unit price on the line with a fresh lookup of the DDMS customer price. If both prices match, we do not send a price on the line. However, if the raw unit price does not match the DDMS price, we transmit the raw unit price on the line to enforce the special price on the DDMS Order (without any rounding).
This process ensures that all line prices are accurately processed and communicated to the DDMS ERP, taking into account any applicable web promotions and customer-specific settings in DDMS.
To prevent rounding issues, adjust all users to three decimals.
My discounts aren't working?
First, read this part of the article. If you have put through a test order you can look to see if you have "Invalid item #", this means you didn't setup the discount code correctly in DDMS.
Check the order event:
Step 1
Step 2
Step 3
Step 4
If you see Invalid item # then you need to setup the item code properly in DDMS. Discount Setup
How does Customer Sync update the customer credit enabled and override add to cart values?
When the customer sync runs and creates an account it sets both credit enabled and override add to cart based on defaults. The credit enabled flag is later checked as a live lookup in checkout but in Admin it would always appear off.
The override add to cart setting of a customer record can be set to on if you want to prevent ordering on the parent account. This setting is not adjusted during the customer update sync, only on creation of the customer record. You can safely enable this and the add to cart button will not appear when a user is in the parent account. Note that the DDMS field PO Required, with a value of "D", would normally be expected to have this result but it is not yet supported in the DDMS API.
How do I authorize payment on the web but capture the payments in DDMS? (DDMS Integrated Payments)
This can be done through the Net1 Payment integration. Contact our support team to get more on details on the Net1 Payment Integration setup.
How it works
Net1 (Paya Connect integrated with DDMS). When an order is placed it will tokenise the card and send it with the order but DDMS will do the pre-auth and charge. This change switches you from a "third-party" setup to the DDMS integrated setup.
Install the App
Then enable the Payment and Set to Preauth and Capture later
Now orders will show Preauth status when they arrive but will be captured inside DDMS
How can I hide the Terms from Orders PDF?
To hide the "Terms" from Contact Details section in Orders PDF, follow these steps:
Go to EvolutionX Admin → Store Settings → Checkout
In the Print Order - Footer section, click on Tools → Source code
Paste the following code there
<style>
.pdf-header-terms {
display: none;
}
</style>
Is it possible to make Requested Delivery Date a required field on Checkout?
No. This feature is not supported by DDMS. The Requested Delivery Date feature, when enabled, introduces a 'Requested Delivery Date' field in the 'Review & Pay' section of the checkout process, but users have the option to leave this field blank.
Order Tracking Details for an order
Order tracking is a supported feature of DDMS and EvolutionX, providing tracking details in two areas: against each line item in the orders list and in the order tracking modal on the store front when logged in as a user. Tracking numbers, delivered dates, signature and image of delivery will be shown only when they are available for the order.
How can I hide the Address Restriction controls in the User Advanced Settings of storefront?
When users with a role that allows them to manage users are in storefront, they can see the address restriction settings in the user advanced settings area of user management in the storefront. This can be hidden for DDMS integrations because addresses are already managed by live lookup to DDMS. Add this code to your CSS in Theme Options of the Admin if you want to hide these controls:
/* Hides the address restriction controls in the storefront super admin user advanced settings view */
form#useradvancesettingsform1 div#Addresses {
display: none;
}
If you wish to hide other sections of the user advanced settings area of user management here are additional CSS rules you can add for each sections for Cost Centers, Departments and Budgets.
/* Hides the cost center controls in the storefront super admin user advanced settings view */
form#useradvancesettingsform1 div#costCentres {
display: none;
}
/* Hides the department controls in the storefront super admin user advanced settings view */
form#useradvancesettingsform1 div#departments{
display: none;
}
/* Hides the budget controls in the storefront super admin user advanced settings view */
form#useradvancesettingsform1 div#budgets{
display: none;
}
What Fees Does DDMS Support?
DDMS Integration currently supports specific fees associated with items in the Bill of Materials (BOM). These include:
California Redemption Value (CRV) Fees:
Applicable to items identified with an
itemListType
of type B within the DDMS ERP.These fees are displayed during the order process and are updated in the Checkout Summary when transitioning from the shipping step to the payment step.
CRV fees are listed immediately after the parent item that incurs them, ensuring transparency in the total cost.
Colorado State Fees
DDMS supports Colorado state fees, CO fee, which associated with items identified with an
itemListType
of type F.Like CRV fees, these state fees are reflected in the order and checkout process, however appearing only in the Checkout Summary at the end of items list.
For details on how to set up this fee refer to the DDMS document: DDMSPLUS®/ECinteractivePLUS®: Setting Up the State Delivery Fee