User Manual - eConnect and ION Messaging Service- V20.1.0

eConnect bnner

Table of contents

1.0 System Overview

LeanSwift eConnect for Infor M3 provides a powerful, seamless integration between Magento and Infor M3 ERP. The product consists of a base Magento extension that extends standard Magento functionality and offers several transactions to ensure your eCommerce websites contain up-to-date information from your M3 ERP. There exist a number of optional add-on extensions too for additional functionality

LeanSwift eConnect for Infor M3 is available for Magento Open Source and Magento Commerce and for Infor M3 version 7.x and above. It is also compatible with multi-tenant cloud editions of Infor M3 (CloudSuite).

LeanSwift eConnect for Infor M3 employs a layered architecture to allow flexibility in supporting different versions of Magento and Infor M3 and to allow independent upgrades.

New in this version

Architecture with eConnect Base

With 20.1.0, The part of eConnect functionality dealing with connectivity to Infor OS and data processing has been moved out of eConnect extension into a new extension named, eConnect-base.

From 20.1.0 onward, eConnect will require the eConnect-base extension to function.

eConnect 20.1.0 is compatible with eConnect-base 2.0.0.

eConnect-base v2.0.0

architecture-withebase

Transactions

eConnect 20.1.0 includes the following set of standard transactions like its previous versions:

User Interface

During setup, the Magento Admin panel is used to configure which transactions should be used and how they should function.

Validated Versions

Points Of Contacts

This document and the software details are provided by LeanSwift Solutions Inc. For additional information regarding support, licensing, functionality etc. please contact LeanSwift Solutions Inc via contact form at http://www.leanswift.com or email info@leanswift.com

Organization Of The Manual

This manual is not intended to cover any standard Magento functionality or user experience. The Magento user experience is customized and slightly different in each eCommerce implementation – though the general workflow is similar.

This manual describes the various standard transactions included in the base offering of LeanSwift eConnect for Infor M3.

Acronyms And Abbrevations

Go to Top

Standard Transactions

LeanSwift eConnect comes with a number of standard transactions included. This section provides a detailed walkthrough of each of them.

Please refer to Part I of the User Manual for the required configuration behind each of the transactions.

Summary

LeanSwift always uses two key principles as guiding lights when we develop new features for eConnect.

This sometimes leads to certain limitations being imposed due to the simple fact that Infor's M3 ERP by nature is a far more versatile and complex system by definition being an ERP, especially in areas such as order processing, dispatch management etc.

There are of course also examples where Magento's functionality is more specific, and similar limitations have to be put in on the M3 side. Gift cards, Coupons, Cross & Up-sells are great examples of functionality that within Magento is far more tailored for a B2C environment.

Assumptions And Limitations

This section provides a listing of all key assumptions that form the basis for LeanSwift eConnect 20.1.0

If any changes at all need to be made to an order placed via Magento, the order needs to be cancelled and re-entered. The corresponding order in M3 needs to be cancelled separately. There is no validation within Magento that the order in M3 is eligible cancellation/change, this needs to be manually verified.

No additional charges (such as Freight) are added within M3 once the order has been created. If this is done, eConnect won't synchronize this additional amount to Magento and as a result the invoice amount will differ between the two systems. Furthermore – if the freight isn't added upfront within Magento and the order is paid via credit card, the freight will not be included in the amount that's authorized against the customer's card.

Go to Top

Product Setup and Information

From a product perspective, eConnect relies on the 'External Item#' value. This value must be equal to the corresponding M3 item number for all of the eConnect transactions to function as they should.

product set up information

The Product Information transaction offers the ability to sync select fields from the M3 Item master (MMS001/MITMAS) to Magento's Product attributes.

The synchronization is initiated when there is change on the product's attribute/details in M3. Whenever there is a Add/Update/delete operation* performed on the product in M3, Sync.ItemMaster, Sync.LS_ItemMasterDetails BOD gets generated. The BOD is received by magento and the new information gets updated to the respective product.

*Refer smart rules to know which change in field triggers BOD.

With this transaction it is possible to keep in sync discrete values within M3's Item Master (MMS001/MITMAS) with Magento's product attribute. Examples of applicable fields are Name, Description and any of the item categorizations such as Item Group, Product Group etc.

Manual Sync Process

This feature enables manual sync of Products with M3. We can choose multiple products that require sync with M3 and choose 'Sync Items with M3'. Clicking on Manual sync triggers 'Show' BODs. Once the BOD reaches Magento, the information gets updated in respective tables in the DB. Multiple products can be chosen to sync with M3.

product set up information

Go to Top

Price

Depending on the situation and configuration within Magento and M3, two different types of prices that serve two different purposes can be synchronized:

Single Price List

This price synchronization is normally used to bring over a single MSRP/List price value per product from M3 to Magento. This is in Magento stored in the regular 'Price' field within the Product Information > Prices section.

A different M3 price list can be defined for each website View via Magento Admin.

The Price list & Currency that should be used are defined [per website View or on Default Config] within the Basic Data section of the eConnect configuration.

product set up information

The item price in M3 for this example in price list '02' is $59.00:

Price list in m3

Whenever there is an Addition/Update/deletion of price in M3, Sync.LS_ItemMasterDetails BOD gets triggered and the same gets updated in magento.

Once the information is received, the correct price from M3 is also displayed within Magento Admin.

Price in magento

Customer Specific Price

The customer specific price transaction is normally used in a B2B scenario, when individual negotiated prices for different customer/item combination need to be displayed within the web shop.

Whether or not to enable this transaction is controlled within the LeanSwift Magento extension LS > eConenct_ION > Configuration > Price Synchronization

Price Synchronization

  1. Setting 'Enable' to 'Yes' enables the Customer specific price transaction in frontend
  2. Setting 'Enable in Admin' to 'Yes' enables the Customer specific price transaction in backend.

Customer specific price is carried by Sync.LS_PriceList BOD. Like other BOD's this BOD gets triggered when there is an update or new entry in OIS017 table in M3, provided the corresponding customer has price associated to him

Please note that the price that is displayed by default upon product detail page load is the 'Price' value for the Store view in question from within the product details in Magento. In a Fashion environment with Styles & SKU's (Configured and Simple products connected in Magento), the detailed SKU specific price won't be displayed in a product detail page until all applicable options have been selected by the user.

For a Customer specific price, the price displayed on the product detail page is always the price for 1 unit of the product in question.

User can choose to send or not, Price to M3

Sales

When the 'Allow Item Price' is set to Yes, Price will be sent to M3 from magento

When the 'Allow Item Price' is set to No, Price will not be sent to M3 from magento

Go to Top

Inventory

Inventory synchronization with M3 is done via Sync.LS_ItemStock BOD.

Inventory Value Selection

eConnect now offers a possibility to select which quantity value from M3 should be used as 'Quantity'. The setting can be found under the 'Inventory Synchronization' section of the eConnect configuration:

Inventory Synchronization

The available options are:

  1. AllocatableNet
  2. On-handbalance
  3. Availableinventory

Where 'Allocatable Net' is the default setting with the eConnect install.

Inventory Sync

When there is an Add/Update/delete in stock for an item in M3, Sync.LS_ItemStock BOD gets generated. If there is a corresponding item in Magento, the stock gets updated based on the BOD information.

Go to Top

Customer Registration

The Customer registration feature was specifically added to cater for a B2B scenario where new customer sign-ups are accepted from the front-end.

The functionality is enabled via LS > econnect-ION > Configuration > Customer General Configuration > ERP Customer Registration:

Customer registration

  1. 'Enable Registration' set to 'Yes' enables the functionality.
  2. 'Customer Template Id' contains the value of the M3 customer number that the new

customer creation should be based on.

Please note that the 'Customer Template Id' field is only visible when 'Enable Registration' is set to 'Yes'.

For each successful customer signup from the front-end, a new customer record will be added within both Magento and M3. The customer in Magento is tied to the M3# via the External customer# as usual.

Within M3, the customer is created in a preliminary status (10). The process to approve the customer within M3 is manual, i.e. a user would [outside of the system] perform any required validations, credit checks etc. of the new customer. Once completed and if the new customer is approved as a new B2B account – the status would manually be changed to '20' within M3.

On the Magento front-end, the customer will be able to log in, shop around, add products to the cart and save the cart without being approved. They will however not be able to complete the check-out process and place the order unless the corresponding M3 customer number has been approved first, as a real-time check of the M3 customer status is performed.

Go to Top

Customer Addition/Synchronization

The Customer Addition feature is designed to fetch the customers from M3 into Magento.

The functionality is enabled via LS > eConnect-ION > Configuration > Customer Addition/Synchronization:

Customer addition/synchronization

  1. 'Enable' set to 'Yes' enables the Module.
  2. 'Enable Customer sync' set to 'Yes' to enable Customer Sync
  3. 'Enable Customer Addition' set to 'Yes' to enable Customer Addition
  4. 'Customer Group Id' contains the value of the M3 customer group that the customer creation is based on.

  5. 'New Account Email Notification' This feature will send an e-mail notification when a new customer gets added into magento from M3
  6. Customer Master Mapping
  7. Customer Address Mapping

This feature imports all the customers from M3 into Magento irrespective of customer status in M3. A default email address is created if there is no email address associated to a customer in M3. Customer's email address will get updated only once from dummy email to valid email address. Once valid email address (xxx@leanswift.com) gets updated, any further changes to email address will not make an update in our eConnect

When a customer is created in M3, Customer gets added into magento if 'Customer Addition' is enabled. This process triggers Sync.CustomerPartyMaster and Sync.LS_CustomerDetails. If customer has addresses added in M3, it triggers Sync.BillToPartyMaster and Sync.ShipToPartyMaster BODs.

Go to Top

Customer Information Sync

Transaction Overview

This functionality enables customer details and addresses to be synced over to Magento from M3.

In this version, the functionality assumes that the Customer exists in both M3 & Magento as active & approved customers. With this pre-requisite fulfilled, type 1 & 3 of customer address that's defined within M3 can be synchronized over to Magento.

The following information is available to synchronize between M3 & Magento:

  1. Basic& financial customer details from 'Customer. Open'(CRS610):

Transaction overview

  1. Any customer address defined in 'Customer. Connect Addresses'(OIS002). Note that only address type 1 and 3 will be synced

Customer address

Synchronization Process

The synchronization of the customer information is done with the help of multiple BOD's.

The Customer details (basic- & financial data) (OCUSMA) comes from Sync.CustomerPartyMaster and Sync.LS_CustomerDetails

The Customer Addresses (OCUSAD) comes from Sync.BillToPartyMaster and Sync.ShipToPartyMaster

Similar to CustomerPartyMaster BOD, when there is Add/Update operation in OCUSAD,Sync.CustomerPartyMaster, Sync.BillToPartyMaster and Sync.ShipToPartyMaster BODs triggers* and the same gets synced into Magento. Depending on which address/detail gets updated in M3, corresponding BOD gets triggered.

The Address tab within the Customer Information in Magento has two additional fields to store the origin of the address in M3.

DEFAULT: The main address from the Customer master (CRS610/E) is now not available in ION version. 01_DELIVERY: The shipping address from 'Customer. Connect Addresses' 03_INVOICE: The billing address from 'Customer. Connect Addresses' (OIS002)

Synchronization process addresstype1

Synchronization process addresstype3

Manual Sync Process

This feature enables manual sync of customer with M3. We can choose multiple customers that require sync with M3 and choose 'Sync customers with M3'. Clicking on Manual sync triggers 'Show' BODs. Once the BOD reaches Magento, the information gets updated in respective tables in the DB.

Manual Sync Customers

Go to Top

Order Creation

Alongside Price & Inventory, the Order Creation transaction is one of the core transactions within eConnect. LeanSwift have then on top of this added a number of features to be able to better manage the creation of sales orders within M3 when initiated from Magento.

Transaction Overview

There are multiple steps involved in creating an order in M3, and these are covered later on in this section. The B2B order creation section provides details of the order process from both Magento front-end as well as Magento Admin. The differences in the B2C scenarios are discussed in the related sections.

At the beginning of the process, a check is always made to ensure the order hasn't previously been created in M3 in order to avoid the risk of duplicates.

The order creation process can be initiated in a number of different ways – both manual and automated background (cron) jobs.

To manually initiate the order creation in M3 following the creation of an order from the Magento front-end (or from within Admin), the action 'Sync Order with M3' should be used. This option can be found within the Sales order grid (Sales > Orders).

Transaction overview

Sync Order with M3

This option performs the steps required to push the sales order from Magento in to M3's batch order entry. Provided that there are no errors [and with the correct supporting configuration within M3], the order would be created as a final customer order.

The validation within Magento consist of feedback of what the temporary [batch] order number is ( Temp Ord# ), the final M3 customer order number ( Final Ord# ) as well as the order status ( Status ).

This option also creates any new Shipments & Invoices in Magento based on what's in M3. For more information on status, shipment & invoice synchronization.

The verification message displayed to the user also contains a wealth of information [besides the temporary order number] such as

To schedule order creation via the background jobs, make sure to configure the following cron job to run with appropriate intervals under LS > eConnect ION > Configuration > Cron:

cron setting to send ERP

Order Creation–B2B

The order creation in a B2B scenario assumes the customer in Magento is already associated with an approved (status 20) M3 customer number via the 'External Customer number' connection.

Please note

This process can still result in a sales order that's not fully created within M3. In cases where some additional error/warning is found when the order details are being processed through the batch order entry function – a manual check & validation step (or multiple steps) need to be performed within 'Batch Customer Order. Open' (OIS275).

If the order was manually synchronized as described in the previous section, the confirmation message displayed to the user will indicate that the complete order creation in M3 was unsuccessful and direct the user to 'Batch Customer Order. Open' (OIS275)

Order entry-Magento Frontend

Please note that orders normally are synchronized between Magento & M3 via the background cron job, but that the manual option used in this example can be used whenever needed on individual orders.

In this example, a test customer with e-mail ID deepthi.tadikamalla@leanswift.com is used. This customer is associated to a test B2B site and to M3 customer# LEAN000399 :

Customer details

After logging in on the front-end, and order is placed for 1 EA of item Roller Bearing is added to cart. The customer specific price is already applied at this point (based on 1 EA of the item in question):

order addition

Proceeding to checkout we at the last step get to order summary information regarding subtotal for items, Shipping & Handling and Tax:

order Placement

In this example, eConnect has been configured to transfer Sales tax, and a line charge 'TAX1' will be used. In the same way, Shipping & Handling should be added as an order header charge using charge ID 'SHIP'.

order charges

After pressing 'Place Order' at the final step of the checkout process, a confirmation is received detailing the Magento order#.

order placed

In Magento Admin, the order can now be found in the Order grid (Sales > Orders), and the most recent order is at the top of the list.

orders page

To manually initiate the order sync, select the order/orders (1) and under Actions on the upper right hand side of the grid header select 'Sync Orders with M3'.

orders page

Once a manual synchronization is complete, the user is presented with a confirmation message in the header of the order grid. The confirmation contains information on temporary- & final order numbers as well as whether any shipments or invoices were added to Magento (more details on the Shipment and Invoice sync can be found in respective sections).

Temp order number generated

The temporary (batch) order number ( Temp Order # ) is brought back from M3 as soon as the order has been successfully sent to M3. If some validation fails in M3 that leads to the final order not being fully created, this can be related to missing/incorrect information within M3. As such, the temporary order number is displayed in Magento along with a message to the user to review the errors in M3's batch order entry (OIS275).

If the order creation progresses successfully [as in the example above], the final customer order number from M3 is also populated and displayed right in the order grid in the Final Ord # field.

Order Creation–B2C

Order creation in a B2C environment can be handled in two different ways within eConnect, and they differ with regards to how the Customer is managed from an M3 perspective.

Which Customer approach is used is handled via the eConnect configuration within LS > eConnect-ION > Configuration > Customer General Configuration.

Common Customer

Common customer is used when all orders from a Store view/Site should be created in M3 under a single Customer number.

The Create New Customer parameter is then set to 'No', and the parameter below it ( Common Customer ID ) then contains which [common] customer# to use for all orders.

Discrete Customer

Discrete customer is the opposite. In this case, each order created within M3 should be added with a unique customer number.

For this scenario, the Create New Customer parameter is then set to 'Yes', and the parameter below it (now called Customer Template ID) then contains which M3 customer# to use as a template to create new customers from (via an additional Copy function preceding the creation of each order).

In the Discrete Customer scenario, eConnect always as a first step validates whether the customer has placed an order previously. If so, the already existing customer# is used.

Besides the customer creation step when discrete customer is used in a B2C scenario, the additional parts of the order creation process are the same as for the B2B scenario.

Shipcomplete

The Ship Complete functionality offers customers an option to allow end-customers to during ordering select to have the entire order shipped "complete", i.e. in a single shipment.

This functionality is enabled in LS > eConnect-ION > Configuration > Sales, by setting Enable Ship Complete to 'Yes'. If this has been enabled, the customers on the site/store in question will have the option to during the checkout process select 'Ship Complete' for their order:

Enable ship complete

This will with the correct setup in M3 (parameter 290 in 'Dispatch Policy. Open' – MWS010/G must be set to '1') ensure that a picking list isn't released for the order until all of the lines are fully allocated. To enable this, eConnect will ensure each order line is created with the same "Joint Delivery Code" value:

Joint delivery code added in m3

Gift Wrapping

The first step in adding this support focuses on the detailed information on order- and/or line level charges for Gift Wrapping, as well as information regarding what type of gift wrapping should be applied.

Magento Enterprise Edition is required to take advantage of the Gift Wrapping functionality in eConnect as Magento Community Edition doesn't contain any Gift Wrapping functionality.

Within the eConnect configuration (LS > eConnect-ION > Configuration > Order Charges), it's possible to turn on or off the transfer of Gift Wrapping charges to M3 – as well as decide whether any resulting charges should be added as charges or non-stock items.

Pre-requisites

** In this version, costs assigned to printed cards in Magento as well as gift wrapping messages are not supported and will as such not be transferred to M3.

For the example in this section, eConnect has been configured to use order header & line charges to represent the Gift Wrapping within M3.

Gift wrap configurations

Furthermore, at least one Gift Wrap needs to be defined for the website under Stores > Gift Wrapping:

Gift wrap

To illustrate the functionality, an order is placed for two test items.

Gift wrap

In the 'View and Edit cart' page, we can choose the gift options:

Gift wrap

Magento offers the ability to gift wrap the entire order and/or individual items only, as well as send a gift receipt and include a printed card with the order. As noted earlier – if the Printed card setup in Magento carries a cost, this cost will in this version not be reflected in M3.

For this example, we'll add gift wrapping to both the entire order as well as one product on the order:

Giftwrap header and line level charges

Once the Gift options is chosen, click on 'Update' button for changes to reflect on the order. On the Order Review panel, a summary of the order is provided – where the Gift Wrapping for the order and items are shown.

Giftwrap viewcart

Click on 'Go to Checkout', choose the shipping address and shipping method and click 'Next'. Choose the payment option and press 'PLACE ORDER' in the checkout page yields the confirmation panel with the Magento order#.

Giftwrap viewcart

Validation of the order within Magento Admin reflects the correct situation as well:

Giftwrap magento

Order is manually synchronized with M3:

Giftwrap ordersync

Giftwrap temporder

A review of the order in M3 validates that the $26.00 order level gift wrap charge, as well as the $26.00 line gift wrap charge for the line item are both in place correctly. The name of the Gift wrap charge is also transferred to the name of the corresponding charge.

Giftwrap Charges

Giftwrap Charges

Should eConnect have been configured to instead use non-stock items, the result in M3 would instead have been the following:

Giftwrap Charges

The current logic places the non-stock item for each line-related gift-wrapping charge right after the line it belongs to, and the order total gift wrapping item at the very bottom.

Giftwrap Charges

Credit Card Management

A key component of any B2C [and most B2B] implementation/s is the processing of credit card payments.

The authorization performed by Magento is transferred over to eConnect without the need to perform any additional reference authorization from within M3.

It's still possible to configure Magento to perform a "Direct sale", i.e. to both authorize & capture the funds as a single step when the order is placed if that's the desired.

There is no credit card related information (i.e. transaction verification/authorization numbers, security codes, tokens etc.) passed from Magento to M3. All interaction with the payment gateway of choice (any of those supported by Magento), is handled by Magento.

This means that the standard M3 credit card functionality is not utilized.

The single credit card related configuration option within the Lean Swift extension can be found under LS > eConnect-ION > Configuration > Sales-Capture Payment online

Credit card management-sales

The authorization of the customer's card takes place as usual upfront when the order is placed.

Once the entire (or part of) the order has been picked, packed, shipped & invoiced – an invoice will be generated within Magento. Once the invoice is created, the capture transaction (depending on the setting above) will be initiated from within Magento.

It is also possible to opt to handle the capture from within M3 via the standard batch process that can be initiated following invoicing of the order. In this case, the above 'Capture Payment Online' parameter should be set to 'No' within Magento.

Order Charges

Base eConnect comes with support for three types of order charges:

  1. Freight (Shipping)
  2. Invoice fees
  3. Giftwrapping

Each of these are in M3 added as an order header charge (i.e. can in M3 be found within 'Customer Order. Connect Charges' (OIS103).

Freight(Shipping)

The configuration for which charge ID (defined in 'CO Charge. Open' – OIS030) to use for the total freight amount per order is now defined as a configurable charge code.

User can choose to send or not, the shipping charges to M3, which is controlled by a Yes/No option

Freight charge

The freight (Shipping & Handling) amount within Magento is always invoiced in full on the first invoice issued for the order in question. M3 offers different configuration options for how to invoice freight (and other charges) to for example repeatedly invoice the same freight charge multiple times. Please note that if a configuration within M3 is used that would invoice the same freight charge more than once – the invoice amount in M3 will not correspond to the invoice amount in Magento. The Shipping information/details are available in Sync.SalesOrder BOD.

Invoice Fees

The configuration for which charge ID (defined in 'CO Charge. Open' – OIS030) to use for an Invoice fee (if applicable). An Invoice fee charge code can be connected to a Magento Payment method.

Gift Wrapping

An order level charge corresponding to the Gift-Wrapping price is added when Order-level Gift wrapping is applied to an order [and Gift Wrapping has been configured to be transferred over to M3]. The charge ID for these charges is also defined within 'CO Charge. Open' – OIS030).

Line Charges

Base eConnect comes with support for two types of order line charges:

  1. Sales Tax

  2. Giftwrapping

The following order provides an example of where these two charges are present within Magento, and how they are represented within M3:

Giftwrap magento

Giftwrap m3

Sales Tax

As of this version of eConnect, Sales Tax is passed as a line charge per order line. Whether or not to pass Sales Tax to M3 is controlled via LS > eConnect-ION > Configuration > Order Charges.

'Tax Transfer' controls whether to pass tax amounts to M3. Setting this value to 'Yes' enables the transfer and opens the second related field below.

Gift Wrapping

If Gift Wrapping has been enabled to be sent to M3 within LS > eConnect-ION > Configuration > Order Charges, and charges have been selected to be used – any line-level Gift Wrapping cost in Magento will be passed over as a line charge to the corresponding order line in M3.

Manual Sync Process

This feature enables manual sync of orders with M3. We can choose multiple orders that require sync with M3 and choose 'Sync orders with M3'. Clicking on Manual sync triggers 'Show' BODs. Once the BOD reaches Magento, the information gets updated in respective tables in the DB. The order is sent to M3, once order is created, order status is updating on receiving respective Bods.

Go to Top

Order Information

This section and the following two contain details on the synchronization of order statuses, deliveries & invoices from M3 to Magento. All the order information is carried in Sync.SalesOrder and Sync.LS_SalesOrderDetails BODs.

Transaction Overview

The synchronization of the status of the customer order within M3 with the corresponding order in Magento is one of the basic features needed to properly be able to follow the progress of an order within Magento Admin.

The following provides a brief background on order statuses within the two systems.

Magento

A Magento order has a state. The order state is what defines the position of the order in the order processing workflow. Order statuses are assigned to order states. There can be more than one status assigned to a state, but one of these statuses is set to be the default one. When the state of an order changes the default, status assigned to it is displayed. Status could be user defined, while state is used by Magento internally for processing order.

The state is used to define/drive Magento functionality and new states cannot be added using simple configuration.

Order Management in Magento

Source : Magento via www.magentocommerce.com

The following Magento states & statuses exist in a new standard installation (Statuses & States listed independently):

Statuses in Magento

Initial Load/ Import

This feature allows to import data from M3 into Magento. Data can be imported for the following:

Initial load/import

Import can be based on certain filter conditions.

Import Invoices

From Date: Date from which data has to be imported

To Date: Date upto which data has to be imported

Number of actions: Restricts the number of records returned from import

Query: Any conditions can be mentioned here. Once import is done, the last imported date is displayed

Import History This displays the history of imports done in the system. Clicking on this will navigate to a page that displays information on which module was imported and the corresponding conditions that were used.

Import History

M3

M3 has a similar, but different approach to order statuses. Each customer order has two different statuses; Highest- & Lowest status.

Simply put, the Highest status for an order illustrates the status of the order line that's been processed the furthest while the Lowest status illustrates the status of the order line that's been processed the least.

The sales order process includes these major steps:

Each Order Line has a two-position Line status field, that indicates the state of the order line. Since an order line can be partially processed throughout each stage, a single line can have multiple states.

The following is part of the order line status help text in M3:

Alternatives

05 = Quotation 10 = Preliminary 22 = Reserved 33 = Allocated - location and lot number selected 44 = Picking list printed 66 = Delivered 77 = Invoiced 99 = Flagged as completed, without delivery. 2 = Quantity remains to be allocated. This is displayed in field Remaining quantity. 3 = Allocated quantity exists. 4 = Picking list for the quantity is printed. 6 = Delivered quantity exists. 7 = Invoiced quantity exists. 9 = Quantity is manually flagged as completed when the picking list is reported.

The order status codes contain two positions. When the status is higher than 20, the first position indicates how far a partial quantity has progressed in the earliest stage of the order flow. The second position indicates how far a partial quantity has progressed in the latest stage of the orderflow.

Example :

If a customer order line has status 33, it only contains allocated quantity. If a customer order line has status 77, it only contains invoiced quantity. If a customer order line has status 37, it contains both allocated and invoiced quantities.

If a customer then has one partially allocated & invoiced line (status 37), and one fully invoiced line (status 77) – the Highest/Lowest status for the entire order will be 77/37

Go to Top

Magento and M3 Order Status Relation

Since Magento only supports order statuses on order level (not order line level), eConnect can only update the Magento order status based on the M3 order header status.

Magento also only support a single order status for each order (not lowest/highest status as in M3). Due to this, Lean Swift has chosen to use the Highest order status in M3 when updating the Magento order status.

When the Highest status is changed in M3 – the Magento order status will be updated per the following table:

M3 Highest Status Should update Magento status to Magento State Status Text
22 erp_sts22 Processing 22-Order sent to warehouse
23 erp_sts23 Processing 23-Order sent to warehouse
24 erp_sts24 Processing 24-Order being packed
26 erp_sts26 Processing 26-Order partially shipped
27 erp_sts27 Processing 27-Order partially invoiced
33 erp_sts33 Processing 33-Order sent to warehouse
34 erp_sts34 Processing 34-Order being packed
36 erp_sts36 Processing 36-Order partially shipped
37 erp_sts37 Processing 37-Order partially invoiced
44 erp_sts44 Processing 44-Order being packed
46 erp_sts46 Processing 46-Order partially shipped
47 erp_sts47 Processing 47-Order partially invoiced
66 erp_sts66 Shipped 66-Order shipped
67 erp_sts67 Processing 67-Order partially invoiced
77 erp_sts77 Complete 77-Order invoiced

The installation of eConnect adds all of the custom statuses listed in the second column above. Please note that all of these statuses are required to be used within Magento, i.e. it's not possible to selectively choose not to map certain statuses.

The value of the 'Status Text' can be changed within each Magento installation.

Magento standard functionality will then change an order from state Processing to Complete when all order lines have been shipped andinvoiced.

Go to Top

Shipment

The Shipment synchronization is the second key within eConnect to within Magento be able to properly reflect the complete state of the order as it is in M3. The shipment details are carried in Sync.SalesOrder BOD.

Shipments In Magento

Each Magento order can have multiple shipments associated with it.

Shipments

Each shipment can have several tracking numbers associated to it.

Shipment Handling Information

Click on Track order to view the tracking info.

Shipment Tracking Info

The shipment includes delivery address and items delivered. When creating the delivery, only items on the order can be selected. Order comments can be added. A new shipment can automatically generate an email notification to the customer.

Shipment information is carried in 'Sync.Shipment' BOD.

Deliveries In M3

Within M3, each order is broken down in one or multiple deliveries. These deliveries act as more manageable "sub orders" from a logistics perspective. Any pick, pack and other dispatch activity within M3 is handled on the delivery level.

Deliveries for customer orders are within M3 managed in two different places – the Delivery Toolbox and the CO Deliveries function. The Delivery Toolbox has a heavy focus on Supply Chain activities. The delivery is generated by M3 here as soon as the final customer order is available in the system. The CO Deliveries doesn't get the delivery added to it until it has been reported as shipped (pick list reporting completed). This function provides a key link to for example the invoicing logic within M3, and the delivery can for example optionally be held for approval via the DO Delivery function prior to being eligible for invoicing.

A delivery is also in M3 made up of a number of the lines (or part of the lines) on the associated customer order.

Note

There is also in M3 a concept called 'Shipments', where several deliveries can be combined in to a single entity. The current version of eConnect only supports synchronization on the delivery level, and validation has not been performed with Shipments inM3.

Tracking Numbers

eConnect is also prepared to also synchronize any tracking numbers that are entered on the delivery within M3. With the assumption that Shipments in M3 are not supported, tracking numbers can be entered in two different ways depending on the dispatch process used. The tracking details are carried in Sync.SalesOrder BOD.

Delivery Tracking

A single tracking number can be entered for the entire delivery on detail panel F of the delivery in 'Delivery. Open Toolbox' (MWS410).

Shipment Tracking Info in M3

Package Tracking#

If a delivery contains one or multiple packages, the tracking number can also be added at the package level (if delivery is sent as small parcel for example).

eConnect will search for tracking numbers in both of these places, starting with the delivery. A base assumption is that tracking numbers are not entered at both the delivery and the package level, but either or.

Once shipment is created, shipment BOD updates the information into magento and order gets updated with the information, each delivery that is created within M3 will be synchronized over to Magento, and pegged with the M3 delivery number as a reference within the 'Shipment History' section.

Shipments

Shipment history

The synchronization of the M3 delivery is possible only following pick reporting, i.e. after the quantity on the delivery has been issued (at corresponding status moved to '6' in M3) and the delivery appears in 'CO Delivery.Open' (OIS150).

Go to Top

Invoice

The third and final key piece related to order information is the ability to synchronize over invoices from M3 to Magento.

The same two options for performing the synchronization as described for Shipments in the previous section apply.

When invoices are synchronized from M3 to Magento, each invoice in M3 (OINVOH/OINVOL) creates a separate new invoice (billing address, Shipping address, payment info, M3 invoice #, items, charges) in Magento.

The invoice creation is limited to the functionality provided by Magento. This means that no additional charges can be added in M3 that does not exist on the Magento order, nor can changes be made within M3.

Each invoice in Magento references the corresponding invoice in M3 within the 'InvoiceHistory' section.

Invoice information/Details are available in Sync.Invoice Bod and in Sync.ReceivableTransaction BODs.

Invoice tab in Orders

Invoice display in m3

Invoice history in orders

Invoice information is carried by Sync.Invoice BOD and Sync.ReceivableTransaction BOD.

Go to Top

Order History

The Order History section within the Magento front-end has been re-designed, and additional filter options have been added together with a simple way to separate orders that originates from Magento vs. M3.

In the case where a common customer number is used in a B2C setup, the functionality remains the same in that only order history from within Magento is displayed.

For a B2C or B2B configuration where individual (discrete) customer numbers are used, the Order History is accessed via the 'My Orders' link in the menu on the left on the account home page after a user has logged in to the Magento front-end.

Order history recent orders

Order history my orders

The new Order History view presents the users with two pre-defined views (1) ERP Orders and

  1. Magento Orders. There're also additional optional filters (3) that can be applied in the _ERP Orders_view.

Order history erp orders

When the ERP Orders view is selected, every sales order in M3 for the M3 customer number that the Magento user logged in is associated with is displayed.

The following Additional filter capabilities are available within the ERP Orders view:

Order history Filters

  1. Search for a specific Magento order number
  2. Search for a specific M3 order number
  3. Filter on a range of dates the orders were created
  4. Search for a specific Customer PO/Ref# from the order inM3
  5. Filter orders with a specific status

Go to Top

Invoice History

The invoice history view is accessed via the customer's 'My Account' view on the front-end.

Invoice History

Some filter capabilities exist also for the 'My Invoice' view.

Invoice Filters

  1. A specific Invoice Number can be searched out
  2. A specific M3 order number can be searched out
  3. A From-To date range can be applied to the 'InvoiceDate'

  4. A certain Customer PO# can be filtered

In the case where a common customer number is used in a B2C setup, only invoice history from within Magento is displayed. All orders related to customer is shown up in the page irrespective of how old the order is.

Go to Top