DFA Magento System Training
This document serves as a guide to the DFA team on how their system has been configured and how to operate the system on a daily basis. Within the guide there are references to Magento's Admin User Guide. This is the official documentation from Magento. Where the DFA solution deviates from native Magento either in process or function is described within this document.
Table of Contents
- Customer Service
- System Management
- Magento Exports
- Configuration
- Shipping Program
- Admin Users & Roles
- Coupons
Customer Service
Admin Order Entry
Magento natively supports the ability for admins to take orders through an admin-only interface. This interface provides greater latitude to the admin to adjust order totals and calculations. This feature should NOT be used by DFA as this process does not interact with JDE for final pricing and ta calculations. Customer Service should continue to take orders through the existing JDE process already in place. Customer Service reps could assist users in completing orders by using the Login as Customer and Order as Customer features. This will require that the customer allow this privilege on their account through My Account as described in the Order As Customer section
Ordering
Login as Customer
The Login as Customer feature was enabled on your site as part of the build out process. This feature can optionally be disabled in the system configuration or can be limited to specific roles through admin privileges. The links below provide detailed information on this feature:
Supplemental Documentation
Order as Customer
The Order As Customer feature must be enabled on a per-user basis. This feature has not been customized. If the account allows it, an admin can follow the Login as Customer instructions and then can complete orders.
Supplemental Documentation
Final Calculations
JDE is responsible for determining if any additional product discounts apply for the customer and for calculating taxes for the order. The prices displayed in the mini-cart and while viewing the cart are the Magento-calculated prices but not this final pricing. When the customer clicks the Next button on the shipping page of checkout, a live call is made to JDE to get final pricing and to calculate taxes. Given the constraints of the JDE simulation, this process can take several seconds. To mitigate the delay to customers, a series of messages are displayed. Product prices are updated and any applicable tax is displayed on the final checkout page where the payment is collected.
Submitted Quotes to JDE
Magento orders are submitted to JDE as quotes through an API call in a process after the order is placed. Magento will try and retry in the background to send the Magento order to JDE. Orders in Magento cannot be edited so if there is a problem generating the quote within JDE, the quote will have to be manually created. To determine if a Magento order has been successfully received by JDE, you can go to Sales->Orders and check the Sent to JDE column. If the value is 1, the order should exist in JDE as a quote. If the value is 0, investigation will be required. See the logging documentation.
Order Modifications
Orders will not be modified within Magento. The Magento order is loaded into JDE as a quote. The JDE quote (and subsequent order) can be modified within JDE using normal business practices.
Order Emails
Customers will receive an order confirmation email from Magento when the order is placed. As part of the build out of the system, emails have been configured to be cc'ed on all customer emails. Configured emails can be found in Stores->Configuration->General->Store Email Addresses
Shipping Exceptions
Customer Management
Viewing Orders
Viewing Invoices
Address Changes
Correlating Magento/JDE Orders
Forgot Password
Reset Password
Send/Resend Invoices & Orders
System Management
JDE Integration
API Integration
SimulateQuote
SubmitQuote
Logging
Manual Order Export
JDE Imports
Firebear
Naming Conventions
Product Import
Customer/Company Import
Pricing Import
Order Import
Invoice Import
Logging
Magento Exports
Follow these steps to export the desired data in a spreadsheet format:
- In Admin Panel, go to System > Data Transfer > Export.
- Select desired Entity Type.
- Leave Export File Format as CSV.
- Select the Fields Enclosure checkbox to handle special characters.
- Select any entity attributes that should be excluded.
- Apply any desired filters to the entity attributes, to reduce the amount of data in the export.
- Click Continue at the bottom of the page to proceed with the export.
- The exported file is saved in the var/export/ folder on the server, and shown at the bottom of the main export page.
Configuration
API Integration
The API URL, credentials, and placeholder JDE values can be found in Stores->Configuration->JDE API->Quote Api.
- Base Url
- This is the public URL that Magento uses to connect to the API. This should not be changed.
- Username
- This is the account provided by DFA IT. This should only be changed under the direction of DFA IT
- Password
- This is a non-expiring password provided by DFA IT. This should only be changed under the direction of DFA IT
- Environment
- This is the specific JDE environment that the Magento instance is connecting to. This value should not be changed
- Role
- This is a value required for the API and was provided by the JDE team. This value should not be changed
- Device Name
- This is a value required for the API and was provided by the JDE team. This value should not be changed
- Shipping Item Number
- This is the item number that represents a freight item in JDE. In the event that the shipping item number is subsequently changed in JDE, the value would need to be similiarly updated in Magento. Magento will automatically create this line item based on calculated shipping for the order. It is not expected that this value will change.
- Shipping Exception Item Number
- This is the item number that indicates that freight must be quoted from within JDE. This item number will be used when a product within a shipping program does not meet the shipping program tiers (e.g. exceeds maximum #pallets). Magento will automatically submit this line item when submitting the quote to JDE. A notification is tied to this line item number and it is not expected that this value will change.
- Guest Ship To Address Number
- This is the Address Id within JDE that is used for the generic web user account. All orders submitted with this address no will include a corresponding shipping address override with the actual address to use with the order. It is not expected that this value will change.
- Logging Level
- When in production, the logging level should be set to Error. When in staging, the logging level should be set to Debug. If there are issues that need to be investigated in produciton, this logging level can be switched to Debug to monitor new calls and then switched back to Error after the investigation is complete. It is NOT recommended to disable all logging.
Order Export
The background process for submitting quotes to JDE can be configured in Stores->Configuration>JDE API->Order Export.
- Cron enabled
- If cron is not enabled, orders will not automically be pushed to JDE. This process should not be disabled. Cron could be termporarily disabled if JDE was having a problem receiving orders and you want to avoid all orders failing to send.
- Frequency
- Orders can be pushed in terms of minutes, hours, or days. The default setting is minutes and it is unlikely if this value should be changed.
- Interval
- Based on the frequency, the admin can specify how many minutes, hours, or days between syncs to JDE. Unless JDE is experiencing system overload by the volume, this value should remain at 5 minutes.
- Export Batch Size
- This is the maximum number of orders to send per sync with JDE. If the system is receiving large volumes of orders, this value may need to increase to ensure there is not a backlog of orders in Magento waiting to sync to JDE.
- Allowed Errors
- This is the maximum number of times that Magento should attempt to send an order when an error has been received. Once the max errors has been reached, Magento will no longer attempt to automatically sync an order to JDE and it must instead be done manually through a shell command
Email Recipients
Payment Processing
Shipping
Checkout Messaging
Checkout messaging can be configured in Stores->Configuration>JDE API->General. A single field called Checkout Message defines the sequence of messages to display while Magento waits to receive updated order information from JDE. The format is as follows: (Message, TransitionPoint);(Message, TransitionPoint);(Message). The final message does not have a transition point and will remain displayed until the JDE call returns and is processed. There is no limit to number of messages in the sequence and the minimum transition point is 1 sec. This means a new message could display every second if desired. The current JDE SimulateQuote call is taking 6-7 seconds. Given the value Determining best price ...,3;Calculating taxes ..,6;Finalizing order details the following sequence will occur:
- After JDE call initiated, Determing best price ... displays
- After 3 seconds, Calculating taxes ... displays
- After 6 seconds, Finalizing order details ... displays and remains until call returns and is processed
Contact Us Forms
Shipping Program
Admin Users & Roles
Coupons
Customer/Company Management
Customer Groups
Shared Catalogs
B2B/JDE-Controlled Accounts
B2C Accounts
Password Reset
Catalog Management
Product Status/Visibility
Editing Product Data
Shipping Program Hook
Every product on the website can be associated with a single shipping program. The automated product feed from JDE assigns a product to a shipping program. If a product has no specified shipping program code this indicates that the product does not have this value in JDE. A review of a product import feed can confirm this. On The DFA sftp server, there is an outbound/processed folder that will contain the recently generated product files to validate this. The shipping program code can be edited in Magento but will be overridden the next time a product import feed is processed that contains this item number.