More Related Content Similar to Magento Order Management Workshop - Meet Magento India 2019 (20) Magento Order Management Workshop - Meet Magento India 20191. © 2018 Magento, Inc. Page | 1
Get started with Magento
Order Management
Philippe Bernou
@philbernou
3. © 2018 Magento, Inc. Page | 3
The Magento Commerce Suite
• Time to market
• Low TCO
• Competitive and expanding
feature set
• Extensible
CustomerTouchpoints
OrderFulfillment
Online Stores
Mobile
Retail Stores
Marketplaces
Social
Call Centers
Drop
Shippers
Distributio
n Centers
Store
Networks
Warehouses
Marketplace
Social
Order
Management
Shipping
Commerce
Business
Intelligence
Marketplaces
4. © 2018 Magento, Inc. Page | 4
Magento Order Management
Distributed Order
Management
•Order & event management
•Partial shipments, order splitting
•Presales, backorders, returns
Global Inventory
•Track entire stock of inventory
•In-transit inventory
•Intelligent sourcing and allocation
Store Fulfillment
•Ship-from-store
•Buy online, pickup in store
•Ship-to-store
•Pick-and-pack
•Carrier integration
Customer Service
•Order details / status lookup
•Order modification & cancellation
•Appeasements / refunds/ credits
•Order escalation workflow
Magento Business Intelligence
5. © 2018 Magento, Inc. Page | 5
Roadmap
Core DOM
Inventory
& Sourcing
Store
Ecosystem
Platform
• Core order and event management, order flow configurability
• Supporting complex ordering scenarios, returns
• Magento Store Fulfillment module enhancement
• SI Tools to integrate, test, configure and ultimately customize and extend
• Scalability & security
• API coverage
• Sourcing engine & optimization
7. © 2018 Magento, Inc. Page | 8
Benefits & Value
increase velocity, higher turn, lower inventory carrying cost
Improve Inventory Utilization
higher conversions rates, increase AOV, lower cart abandonment
Increase Sales
same day sales, footfall, reduced lost sales, reduced out-of-stock
Increased Sales in Retail Stores
Improve customer engagement, brand loyalty, repeat sales
Improved Consumer Experience
Lower Total-Cost-Ownership (TCO), Faster Time-to-Market (TTM)
8. © 2018 Magento, Inc. Page | 9
Modern Order Management Systems Fills Critical
Gaps Key OMS Functions ERP eComm POS OMS
1 Multi-node Inventory
2 Intelligent Inventory Allocation per Channel
3 Support Multi-selling Channels
4 Complex Orders: pre-sale, back order, etc.
5 Intelligent Order Sourcing
6 Store Fulfillment: BOPIS/SFS/STS
7 Endless Aisle
8 Store Associate UI, pick/pack/ship tools
9 Order Modifications
10 Customer Service Tools
= some capabilities
with
customizations
= limited support
customizations
= fully supported= not supported = may have
minimal
support
9. © 2018 Magento, Inc. Page | 10© 2018 Magento, Inc. Page | 10
Case Studies
10. © 2018 Magento, Inc. Page | 11
ERP
Enterprise Resource PlanningWMS
Warehouse Management System
Magento Commerce
Magento Order Management
Magento Commerce
POS
Point Of Sale
WMS
Warehouse Management System
WMS
Warehouse Management System
11. © 2018 Magento, Inc. Page | 12
Common usage scenarios for Order Management
Multi-channels / Brands
Consolidate and manage
complex businesses, multiple
webstores, brands and
geographies
Store Fulfillment
Deliver omnichannel experiences
with instore pickup, ship to store,
ship from store and provide endless,
aisle
12. © 2018 Magento, Inc. Page | 13
Business Challenge:
• Traditional bricks and mortar family business
• Had no experience with online commerce
• Lost sales due to limited assortment in stores and
lack of access to overall inventory
1200 eyeglass
retail outlets
Store Fulfillment
Results:
• All store inventory now available online
• Turned “out of stock” situations into sales
1200 eyeglass
retail outlets
“The difference that Magento brings is its flexibility, To service our
customers we can now ship-from-store, ship-to-store, and click and
collect. We believe we have a very compelling offer that is truly
more omnichannel than any of our competition”.
- Andrew Devlyn, Director of Innovation
13. © 2018 Magento, Inc. Page | 14
Leverage OMS to save
sales by enabling
additional stock channels
ü In-store stock
aggregation
ü Stock sourcing and
routing (including via
labs for custom work)
ü In-store pick and pack
14. © 2018 Magento, Inc. Page | 15
• Expanded its omnichannel shopping experience
• Needed to automate critical busness processes
• Wanted a 360-view of their digital oprations
• Deliver more products at a higher ROI
Highlights:
•Dramatically improved order tracking, inventory management, fulfillment, and reporting.
•Orders automatically routed to the proper shipper or made available for free in-store pick-up.
•Buy Online Pickup In Store (BOPIS) increased store traffic in 95 percent of Rural King stores.
•Saved time and money using existing fulfillment trucks to deliver products to the right store at the right time,
•Implemented MBI and now Rural King can easily gather data and generate reports for the first time.
Provider of Outdoor sports
apparel and footwear
Store Fulfillment
Selling farm
supplies in 110
locations in the
Midwest US
15. © 2018 Magento, Inc. Page | 16
• Marketplace that unifies inventory across all partners
• Branches are now mini distribution centers
• Gabor sells 10M pairs of shoes per year
• Bringing the retail stores back into the business while building direct to consumer business online
• Need to have at least 10 percent of Gabor stock in store to participate
• Deployed on Magento 2.2 and Order Management
High Quality Ladies
Fashion Shoes and
Accessories
16. © 2018 Magento, Inc. Page | 17
Webshop
MOM Allocation
Allocation
Accepting
Fulfillment Request
Fulfillment
Retailer
Gabor
Purchase Order Marketplace Commission
BUSINESS MODELThe Business Model
17. © 2018 Magento, Inc. Page | 18
400 by the end of the year
80 Stores on board
+100%
Revenue
every month
50%
Of Online orders
go to
Brick & Mortar
+30%
Turnover in
Stores
participating
18. © 2018 Magento, Inc. Page | 19© 2018 Magento, Inc. Page | 19
Solution Design
19. © 2018 Magento, Inc. Page | 20
Concept: Multi-node Inventory Management
Order Management
AGGREGATES SOURCES
AGGREGATE 2
AGGREGATE 3
AGGREGATE 1
SALES
CHANNE
LS WAREHOUSE
STORE 1
STORE 2
STORE 3
ES
webstore
PT
webstore
FR
webstore
• Ability to pool stock
from multiple source
into stock aggregates
• Ability to link stock
aggregates to different
sales channels
S
o
u
r
c
i
n
g
L
o
g
i
c
20. © 2018 Magento, Inc. Page | 21
Example: Stock Aggregate Design
WMS UK
QTY: 10
MC MOM Sources
WMS IT
QTY: 10
Store IT
QTY: 10
UK
QTY: 20
DE
QTY: 10
IT
QTY: 20
UK
QTY: 20
DE
QTY: 10
IT
QTY: 20
Store IT
QTY: 10
Pushed
Browsing Stock
ISPU lookup
21. © 2018 Magento, Inc. Page | 22
Inventory Exercise
Client Notes
• We have a warehouse at which we maintain good stock levels for the current
season’s range
• The warehouse stock is also used to replenish the physical stores
• Real-time notification to MOM of store replenishment shipments from the
warehouse to stores can not be provided and only daily snapshots will be
submitted
• The POS platform provides in-store stock data
• Click & collect will be supported
22. © 2018 Magento, Inc. Page | 23
– Potential Solution
ERP
Enterprise
Resource
Planning
WMS
Warehouse Management System
CRM
Customer Relationship
Management
MC
Magento Commerce
MOM
Magento Order Management
PIM
Product
Information
Manager
Inventory
Inventory
POS
Point of Sale System
Inventory
Inventory
lookup
Inventory Exercise
23. © 2018 Magento, Inc. Page | 24
Stock Aggregate Exercise
Client Notes
• We wish to avoid all cross-border shipping in and out of Switzerland
• We wish to start cautiously with store stock until we’re more comfortable
• However we’re a little more comfortable with the Swiss store
• The warehouse provides reliable real-time inventory
• The Italian stores may only ship within Italy, however the warehouse
can ship to the EU
24. © 2018 Magento, Inc. Page | 25
– Potential Solution
MC MOM Sources
WMS IT
QTY: 10
Safety:
Store IT
QTY: 10
Safety:
Store CH
QTY: 10
Safety:
EU
QTY: 10
Safety:
IT
QTY: 15
Safety:
CH
QTY: 7
Safety:
EU
QTY: 10
IT
QTY: 15
CH
QTY: 7
Store IT
QTY: 5
Safety:
Stock Aggregate Exercise
0
0
0
0
0
5
3
25. © 2018 Magento, Inc. Page | 26
• Which is cheaper, shipping from warehouses or shipping from stores?
• What may restrict the ability of a store to ship an order?
• My prospect is a huge department store. What do I need to verify to ensure MOM
is a fit?
• My client wants to include paper vouchers in orders over $100 in value. What can
MOM do to help?
Sourcing Discussion
26. © 2018 Magento, Inc. Page | 27
Order data flow exercise
Client Notes
• The client uses MC as a sales channel
• The client uses their POS system as a sales channel
• Orders may be fulfilled from the warehouse
• Orders may be fulfilled in-store using the MOM interface
• The CRM is not a sales channel but is used for by CS agents for order
management
27. © 2018 Magento, Inc. Page | 28
Order data flow exercise
ERP
Enterprise
Resource
Planning
WMS
Warehouse Management System
CRM
Customer Relationship
Management
MC
Magento Commerce
MOM
Magento Order Management
PIM
Product
Information
Manager
Orders
Order
Actions
Order
Lookup
Orders
Order
Updates
Order
Actions
Sales
Data
Shipment
Requests
Shipment
Results
POS
Point of Sale System
Order
Lookup
Orders
Order
Lookup
Order
Actions
– potential solution
28. © 2018 Magento, Inc. Page | 29© 2018 Magento, Inc. Page | 29
Order Management API
29. © 2018 Magento, Inc. Page | 30
What is an integration? - Integrations
An integration is a software used to transform messages from one system to another. The
code is hosted and maintained by the SI and can be written in any programing language as
long as it supports communication in JSON-RPC over HTTP.
An Integration can be a:
● Custom Integration created from scratch (need to implement Oauth authentication,
registration to Api Gateway and communication HTTP) and hosted in the location of your
choice
● MC extension (Oauth authentication, registration already implemented), the code will be
directly with your MC instance.
30. © 2018 Magento, Inc. Page | 31
I
JSON RPC 2.0 over
HTTP
✓ Commands
✓ Events
✓ Queries
Queues
Lightweight API layer
Magento Order Management Application
Integration
Order Management API
Outside
Architecture
31. © 2018 Magento, Inc. Page | 32
JSON RPC 2.0 - Order Management API
Request Object (http://www.jsonrpc.org/specification)
{
"id": "1",
"jsonrpc": "2.0",
"method": "magento.inventory.source_stock_management.update",
"params": {
"snapshot": {
"created_on": "2017-12-01T19:00:21+01:00",
"mode": "DELTA",
"source_id": "Warehouse_1",
"stock": [
{
"quantity": 9,
"sku": "TEST"
}
]
}
}
}
32. © 2018 Magento, Inc. Page | 33
JSON RPC 2.0 - Order Management API
Response Object (http://www.jsonrpc.org/specification)
{
"jsonrpc": "2.0",
"id": "1",
"result": null
}
{
"jsonrpc": "2.0",
"id": "1",
"error": {
"code": -32700,
"message": "Parse Error"
}
}
In case of success, HTTP status code 200
In case of error, HTTP status code 200
33. © 2018 Magento, Inc. Page | 34
Authentication - Order Management API
curl -X POST
https://auth.bcn.magento.com/oauth/token
-F grant_type=client_credentials
-F client_id=stress
-F 'client_secret=6f1c$UAJPZw4BkNE'
Oauth 2.0 (https://oauth.net/2/)
{
"access_token": "TOKEN",
"token_type": "Bearer",
"expires_in": "3600"
}
Oauth Response
34. © 2018 Magento, Inc. Page | 35
Authentication - Order Management API
curl -X POST
https://api.mcom.magento.com/luma/delegate/oms
-H 'Authorization: Bearer TOKEN'
-d '{
"jsonrpc": "2.0",
"method": "magento.inventory.source_stock_management.update",
"params": {
"snapshot": {
"source_id": "Warehouse_1",
"mode": "DELTA",
"created_on": "2017-12-01T19:00:21+01:00",
"stock": [
{
"sku": "TEST1",
"quantity": 9
}
]
}}}'
Pass the token into the request to Order Management API
36. © 2018 Magento, Inc. Page | 37
Command / Event / Query - Order Management API
• Command
is a request to only one system (normally source of truth) to make a change (examples:
cancel order to Magento Order Management, request shipment to Warehouse). Can be
synchronous or asynchronous.
• Event
is propagated from the source of truth to any system subscribed to it (example: order
created from OMS), outgoing communication in asynchronous way.
• Query
is a request to only one system (source of truth) to get information in a synchronous
way (example: source stock find in OMS)
37. © 2018 Magento, Inc. Page | 38
Internal Queues
Lightweight API layer
Magento Order Management
Create Order
Order
Order
Order.Create
command
New order queue
Order
New order processor
Retry queue
Error handler
Order
• Ability to retry on fail
Asynchronous Command - Order Management API
38. © 2018 Magento, Inc. Page | 39
Synchronous Command - Order Management API
Internal Queues
Lightweight API layer
Magento Order Management
Cancel Order
Order
Order.Cancel
command
Order processor
• Direct call to our APIs
• No retry available
Response
39. © 2018 Magento, Inc. Page | 40
Internal Queues
Lightweight API layer
Magento Order Management
Items Shipped
Shipment processor
Shipment.Shipped
queue
Event handler
Shipped
Event
• Ability to retry on fail
• Ability to trigger other
events
Shipment.Shipped
event
Shipped
event
Shipped
event
Shipment
Event - Order Management API
40. © 2018 Magento, Inc. Page | 41
Internal Queues
Lightweight API layer
Magento Order Management
Source Stock Find
Source Stock Find
Stock Service
• Query are
synchronous direct
call to our APIs
• No Retry available
Stock Query
Stock
Response
Query - Order Management API
42. © 2018 Magento, Inc. Page | 43
Registration - Logistics Integration
curl -X POST
http://api.mcom.magento.com/client/ -H 'authorization: Bearer TOKEN
-d '{
"id": 1,
"jsonrpc": "2.0",
"method": "magento.service_bus.remote.register",
"params": {
"id": "my-logistics-integration",
"url": "http://my-logistics-integration-url/endpoint",
"subscribes": [
"magento.sales.order_management.updated",
"magento.postsales.return_management.received"
],
"contracts": [
"magento.logistics.warehouse_management"
]
}
}'
To register to the Order Management API
43. © 2018 Magento, Inc. Page | 44
Registration - Logistics Integration
Important! For each attempt to register a new application, a probe will be
made against the registered URL using the OPTIONS HTTP verb.
The server should reply with an empty body including the following
header: X-Magento-Service-Bus: *.
This process is called “URL probing” and should prevent the Magento
Integration Bus from making calls to URLs which are not meant to be
used as Magento Integration Bus endpoints.
To register to the Order Management API
45. © 2018 Magento, Inc. Page | 46
Example - Logistics Integration
Magento Order Management
Warehouse
magento.logistics.warehouse_management.request_shipment
Logistics Integration
magento.logistics.warehouse_management.lines_shipped
XML, REST API, AMQP queues, etc
Create Shipment Package sent to carrier
46. © 2018 Magento, Inc. Page | 47
Example - Custom Payment Integration
Magento Order Management
Payment Gateway
magento.payments.payments_management.capture
Payment Integration
magento.payments.payments_management.notify_captur
ed
XML, REST API, AMQP queues, etc
Capture payment Payment captured
47. © 2018 Magento, Inc. Page | 48
Oren - Reporting Tool Integration
Magento Order Management
Magento Business Intelligence (MBI)
● magento.logistics.warehouse_management.lines_shipped
● magento.postsales.refund_management.updated
● magento.postsales.return_management.updated
● magento.sales.order_management.created
● magento.source_engine.sourcing_request_management.create
d
● magento.source_engine.sourcing_response_management.creat
ed
● magento.source_engine.sourcing_wave_management.complete
d
● magento.source_engine.sourcing_wave_management.started
Oren (internal)
48. © 2018 Magento, Inc. Page | 49
Example - Custom Reporting Tool Integration
Magento Order Management
Reporting Tool
Any kind of event sent from MOM
Reporting Tool Integration
XML, REST API, AMQP queues, etc
Any kind of information you want to save
49. © 2018 Magento, Inc. Page | 50
Example - Carrier Integration
Magento Order Management
Carrier Provider
Carrier Integration
XML, REST API, AMQP queues, etc
magento.logistics.carrier_management.request_shipping_details
50. © 2018 Magento, Inc. Page | 51© 2018 Magento, Inc. Page | 51
Integration Strategy
51. © 2018 Magento, Inc. Page | 52
An example setup
LSP
MOMMC
MOM
Connector
Extension
Payment
Provider
Extension
Logistic
Middleware
Payment Provider
Payment
Middleware
52. © 2018 Magento, Inc. Page | 53
Magento Order Management API is based on JSON-
RPC. There are three ways to integrate with
Magento Order Management API
Integration options
MC
Extensions
Custom
Middleware
53. © 2018 Magento, Inc. Page | 54
Limitations:
• Harder to scale
• Potential performance
impact between
middleware and Magento
Commerce
Audience:
• Cloud Commerce friendly
• One front-end
• MOM connector
Integrating with Magento Commerce
Extensions
Advantages:
• SI excels at Magento
Commerce Extension
• Runs in the same server,
easier maintenance
54. © 2018 Magento, Inc. Page | 55
Limitations:
• Need hosting apart from
the front-end
Audience:
• Most Sis
• Bigger clients
• Omnichannel setup
Integrating with the custom Middleware
Advantages:
• Full control over your solution
• Can be shared for multiple
brands/client/front-end
• Scale apart from Magento
Commerce
• Can reuse market-proven
middleware solution
55. © 2018 Magento, Inc. Page | 56
Our recommendation
Number of
Frontends
Integration Type
All order from
one frontend
Extension
Omnichannel
Many frontends
Middleware
If extension are easier to build but harder to scale, when is it mandatory
to start using a middleware?
56. © 2018 Magento, Inc. Page | 57© 2018 Magento, Inc. Page | 57
Backend Demo