The ERP module is a very important part of eZ Commerce Advanced. By default the shop communicates with the Web-Connector which offers a realtime communication to different ERP systems such as Microsoft Dynamics NAV, AX and SAP.
eZ Commerce Advanced uses the logic of an ERP system in different situations:
The shop comes with a predefined set of messages:
|calculate_sales_price||Calculates prices using the business logic of the ERP|
|createsalesorder||Creates an order|
|select_customer||Gets customer data from th ERP|
|select_contact||Gets contact data for a person from the ERP|
|create_contact||Create a contact in the ERP|
|updatecustomer||Updates a customer in the ERP|
|orderdetail||Gets details about an order|
|invoice_detail||Gets details about an invoice|
|delivery_note_detail||Gets details about a delivery note|
|orderlist||Gets an list of orders|
|invoice_list||Gets an list of invoice|
|delivery_note_list||Gets an list of delivery notes|
|creditmemolist||Gets an list of creditmemeos|
|creditmemodetail||Gets details about a creditmemo|
|readdeliveryaddress||Gets data of a delivery address for specified party ID|
|updatedeliveryaddress||Updates the ERP data of an existing delivery address|
|createdeliveryaddress||Creates a new delivery address for a specified party ID|
|deletedeliveryaddress||Deletes a specific delivery address|
You will find the standard message defined in your installation in vendor/silversolutions/silver.e-shop/src/Silversolutions/Bundle/EshopBundle/Resources/config/messages.yml
Each bundle can extend messages or define own messages if required.
The ERP module uses specifications based on XML definition files to model the data which is sent to the ERP and received by the ERP. The request and response can be mapped used XSL files. This allows to adapt ERP-systems which are using non UBL based communication.
Learn more about the concept:
Please make sure you have symlinks in app/Resources folder:
For more information about the ERP message mapping, please have a look at ERP Component: Mapping.
Log message are logged to the database. A commandline tool offers a feature to check which messages where exchanged with the ERP system.
This command waits for the next message and displays the request and result as XML:
If you want to search for a message you can use a fulltext search as well:
If you want to dump the latest 100 messages:
Removing messages from the Database:
This command removes messages older than 3 days.
Known ERP software packages:
Extract from Wikipedia (https://en.wikipedia.org/wiki/Universal_Business_Language):
Universal Business Language (UBL) is a library of standard electronic XML business documents such as purchase orders and invoices. UBL was developed by an OASIS Technical Committee with participation from a variety of industry data standards organizations. UBL is designed to plug directly into existing business, legal, auditing, and records management practices. It is designed to eliminate the re-keying of data in existing fax- and paper-based business correspondence and provide an entry point into electronic commerce for small and medium-sized businesses.
This example describes how to get product data from the ERP system:
Example output of selectItem method:
For information about mapping see Guide - how to get product data from the ERP
When the message has been generated a new yml file has been produced.
The yml file has to be included. usually all yml files generated by the ERP command line script will be defined in the parameters.yml file in your bundle.
This file has to be loaded e.g. in your app/config/config.yml file.
Find recipes in the guides: