Welcome to the Industrial Automation website!

NameDescriptionContent
XING-Automation
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

OMS: The core of the retail e-commerce system

F: | Au:佚名 | DA:2023-12-15 | 530 Br: | 🔊 点击朗读正文 ❚❚ | Share:

1. OMS and middle console

1. OMS

OMS is mainly engaged in the "in-storage and out-storage" of various business documents to quickly transfer and process information with the upstream and downstream systems. Order is its core data, and it is also the part with the largest quantity and the highest efficiency requirements.

In the figure above, the first layer belongs to the internal related systems, such as the commodity system, procurement management, sales orders generated by the front-end shopping process, return orders initiated after sales, and business documents such as receipt - this we can call the "upstream system" or ERP; Of course, OMS should also be part of the ERP system.

OMS is mainly for the processing of orders, including the rapid flow of upstream systems; But the real production is in the warehouse. Therefore, OMS interacts most closely with the WMS system, and the information transmission with the WMS system is completed through the API interface of the warehousing system, which can be called the "downstream system".

OMS is the composition of an intermediate system service. Horizontally, it will transfer data with the financial invoices-inventory system, so it is surrounded by many systems in the middle, and it is not too much to call it an order center.

2. Middle Desk

The figure above is the system architecture introduction of an OMS product that I saw online. The order center here belongs to the business center.

The picture above is based on a friend sent me a plan for the middle desk, made some simplification; Order management is also part of the business center.

2. Related services and functions

1. Message delivery

Commodity information

The OMS is not only responsible for the issuance and upload of sales orders, but also the transmission of purchase order and return order data, as well as the underlying product information.

The receiving of goods is the initial work of WMS, and the inventory of goods can only be generated after the receiving of goods.

Before using WMS, it is necessary to initialize data, that is, basic information such as commodity information, category and supplier, and inventory initialization. In addition, it is necessary to create and maintain information such as reservoir area and cargo location in the WMS system.

If the warehouse needs to be processed and produced according to raw materials, it needs to be configured in the commodity system, such as the father and son commodity configuration, and the raw material configuration of processed products, which will be issued to the WMS system in advance in the form of BOM.

Supplier information

Supplier information is created in the supplier management module, which includes supplier ID, number, name and status. WMS needs to obtain this part of information when receiving goods for data verification.

In addition, there are supplier inventories in the upstream and downstream systems, and the calculation and statistics of the supplier's commodity costs should be carried out.

There are commodity batch data in the WMS system, and the batch code can be created according to the relevant rules to ensure that the commodity can be distinguished when a product is multiple.

receipt

The documents here refer to the business creation purchase order, return order, and also include the user's sales order, return and exchange order.

After the purchase order and return order are created in the SCM system, they need to be synchronized to the warehouse by the OMS, so that the data verification and statistics can be carried out in the WMS system according to the collected purchase order after the supplier arrives. At the same time, receiving arrangements can also be made when the supplier has booked the delivery application before.

After the sales order is paid and dismantled, it should be sent to WMS, and the warehouse can start processing, picking, packing and sending the invoice after receiving it.

The delivery of documents is generally divided into header and row data, and commodity data is verified according to BOM in the WMS system according to the information of the delivered documents.

All these are completed through the API interface, and our original system will save the message information every time the data is sent and uploaded, so that problems can be viewed, analyzed and solved.

Therefore, when data is synchronized between the OMS and WMS, the XML information sent or returned by the interface must be kept intact.

2. Information upload

There should be a return to the data.

In this example, the OMS receives the data and status sent back by the WMS system. After receiving the data and status, the OMS performs some service processing.

Take the purchase order as an example, when the warehouse completes warehousing, the actual warehousing quantity will be sent back; In this case, the OMS system needs to generate the warehouse entry order based on the returned data and update the inventory of the upstream system. At the same time, it is also necessary to calculate the cost and generate the storage flow, because the data flow to a node needs to be calculated, the system is generally through MQ to achieve asynchronous processing.

Similar to message delivery, the returned information details need to be retained. Some of the returned information needs to be parsed and saved in a relational database for statistical query and display.

3. Order distribution coordination

The rules and policies apply when sending and uploading information.

With the outbreak of services, the number of units increases very fast. Therefore, some rules should be configured in the OMS system to speed up data flow, speed up system response, and give users a better representation.

At the same time, there are a lot of states some of which are internal to the warehouse, some of which are business systems, which need to be set up during order processing, which need to be selectively shielded and converted.

4. Order number generation, pulling and dismantling

These services are familiar to everyone, and the single number product is to rely on defined rules to generate a single number that cannot be repeated, which is provided to the front-end shopping process or the background business system call.

At the same time, the rule of the single number will also be associated with the sub-library and sub-table service, so the rule of the single number is very important, it must meet the outbreak of a single amount of growth, can not be repeated, you can save and query order data of different dimensions through the single number.

The pull order is to pull the invoices generated by front-end users to the back-end production database, which is the source of sales order data. For the pull order, you can view the OMS| Order pull previously summarized. The description is not repeated here.

5. Invoice service

Now the paper invoice is less and less, the invoicing information of the electronic invoice does not need to be synchronized to the WMS system, but the calculation of the invoice amount is essential, and needs to be synchronized to the electronic invoice tax platform.

Invoicing services are also required to calculate some after-sale reissues, reissues involved in returns, etc. - although these are closely related to finance, they are inseparable from the OMS system, so they should be part of the OMS.

6. Status update and template

The status of the order is constantly changing according to the fulfillment process, there are changes in the upstream system, there are updates in the WMS system. The whole-process tracking of orders is the statistics and analysis based on the flow of states, and the business department will make improvements according to the life cycle of orders. Status change not only involves logical processing of other business processes, but also requires message notification, such as SMS, email, or wechat.

In the basic service layer of the retail e-commerce system, there is a corresponding gateway to interconnect with the SP. However, the interaction with the user needs to pay attention to the copy and format. Therefore, the template configuration needs to be set in advance so that the OMS can be invoked.

As long as it is related to the user, then we should pay attention to the user experience, not missing or multiple, nor disorderly, to set the relevant rules.

7. Running Water

Here I divide the incoming and outgoing warehouse flow into the OMS system, because it receives all the warehousing operation data, as long as there is an incoming and outgoing warehouse, it involves the increase or decrease of inventory; However, the API interface provided by WMS or the returned data may not distinguish the bill type, which needs to be reprocessed by the upstream system. This problem was needed several years ago when the inventory was checked with the LSCM "warehouse docking platform".

Although the WMS has document types, after LSCM, there are only two major types: outgoing and incoming. The specific information needs to be parsed according to XML packets and reprocessed by the upstream system.

Pipelining is also the basis for the interaction between SCM and the financial system. The financial department calculates the financial cost and generates related statements according to the input and exit process and inventory.

So if you are in charge of OMS, you need to pay attention to this part, some WMS is carried out in the form of adjustment orders, and the documents need to be generated upstream.

8. Inventory

In the retail e-commerce system, inventory is generally divided into three parts, internal ERP, WMS and finance. It has been said before that WMS comes first, ERP is increased or decreased by OMS according to the incoming and outgoing warehouse documents, and finance is generated again according to the incoming and outgoing warehouse flow of OMS.

Therefore, reconciliation is necessary, WMS and ERP work in real time, inventory changes in real time, and there will be time differences, and finance is generated according to the current flow, so there can be accurate ending inventory.

Contact with several WMS systems are through the snapshot backup of the end inventory, if the WMS system is not, need to be developed, as long as there is a pen of data can be calculated the end inventory.

However, when the number of SKUs and the amount of documents is very, very large, the calculation needs time, and the system design needs to be divided into warehouses, categories and other distributed calculation, of course, I only propose here; In the actual production system, we have encountered at most hundreds of thousands of single, hundreds of thousands of SKU scenes a day, and Jingdong and other platforms such as this design is certainly not satisfied, interested students can consider, you can exchange private messages.

Iii. Summary

We all know the term OMS, but in different companies OMS has different functions and covers different services; As long as it is more reasonable to plan according to the business and meet the changes in the business, it is not necessary to care too much about whether it is the order center.

Business-driven technology development, in the design to apply the domain model, which is recently learned from reading, business, technology, data, field, how to do, need to constantly refer to the application cases of successful enterprises combined with actual scenarios to practice.


  • Omron NS5-MQ00B-V2 Touch Screen HMI
  • Siemens 6DP1280-8AB SIMADYN D Control Module
  • Schneider HJA36060U43X PowerPact H Breaker
  • WITTENSTEIN LP120X-MF2-50-1I1-3X-SPE Planetary Gear
  • Omron G9SX-GS226-T15-RT Safety Guard Relay
  • Omron CPM1A-40CDT1-D-V1 Programmable Controller
  • ABB ACH550-01-05A4-4 HVAC Drive 2.2kW
  • Schneider TSXDMZ28DT Modicon TSX Micro I/O Module
  • Siemens 6DL1131-6BH00-0EH1 ET200SP HA DI Module
  • B&R X20IF10E3-1 PROFINET IO Interface Module
  • Siemens QBE3000-D4 Transmitter
  • Inovance H3U-3624MT PLC Controller
  • Inovance AM600-CPU1608TP PLC Module
  • Omron NS8-TV00B-V2 NS8-TV00B-ECV2 HMI
  • Phoenix ILC 151 ETH PLC Module
  • National Instruments NI-9242 Analog Input Module
  • Fanuc A16B-3200-0521 Main Board
  • NLT NL8060BC26-35F 10.4 LCD Screen
  • Pilz PSEN cs1.1P 540050 Safety Switch
  • Keyence VT-SW4 VT-7SR Touch Panel
  • Siemens 6ES7 131-1BL11-0XB0 Digital Input Module
  • Mitsubishi RJ71EIP91 Ethernet IP Module
  • Siemens 3RW4047-1BB14 Soft Starter 55kW
  • Mitsubishi AJ71C21-A PLC Programmable Controller
  • NL8060BC21-06 8.4 Inch LCD Module
  • Siemens 6ES7215-1HG40-0XB0 PLC S7-1200
  • Siemens 3VA2463-5HL32-0AA0 630A Breaker
  • Saginomiya E-UJ-44030-B Control Board
  • Schmersal MV10H330-11y-M20-1348 Safety Switch
  • Fanuc A16B-1211-0301-04A Control Board
  • Siemens 6SN1123-1AB00-0AA2 LT Module
  • A100005506 Compair Delcos 3100 Control Panel
  • Omron ZFV-CA40 Smart Sensor Amplifier
  • Fanuc A16B-2200-0660 I O Board
  • Omron CJ1W-NC471 Position Control Unit
  • Siemens 6SN1112-1AA00-0AA0 Simodrive PWM Module
  • Mitsubishi GT2708 HMI Touch Panel
  • Siemens 3TK2834-1BB40 Safety Switch
  • INSYS EBW-E100 Industrial Ethernet Router
  • Schneider LC1F400 Contactor TeSys F
  • Mitsui RYP-51 PCB Control Board
  • Tamagawa TS2620N941E172 Encoder
  • Pilz PZE 9 Safety Relay
  • Omron C1000H-CPU01-V1 PLC
  • Siemens 6SL3210-1KE21-3UP1 Frequency Converter
  • Allen-Bradley 440E-L22BNSM Rope Pull Switch
  • ABB CI868K01 Interface Module
  • Stein Sohn E 083.1 PLC Rack
  • Mitsubishi GT2508-VTBD GT2508-VTBA HMI
  • ABB 3BSE018161R1 Module
  • CAREL ASD100 PGD1AY0I00 Operation Panel
  • ABB EK370-40-11 Contactor 220-230V
  • Eaton 9PX1500IRTM UPS 1500VA
  • NCV-20NGNMP Programmable Controller
  • Mitsubishi LE-40MTA-E Tension Controller
  • Fanuc A16B-3200-0429 Control Board
  • Mitsubishi GT2310-VTBA HMI Touch Screen
  • 3A99184G 1C31170G PCB Module Rev 10
  • Schneider 140NOM25200 Modicon Quantum Adapter
  • Mitsubishi NV400-SW 400A Circuit Breaker
  • Applied Materials 0190-51102 Heater Controller
  • Omron C200H-DA003 Analog Output Module
  • Yaskawa JANCD-YCP21-E DX200 CPU Board
  • IAI 12G2-60-250-P-L-C1-SP Intelligent Actuator
  • NLT NL8060BC21-11 8.4 LCD Screen
  • Omron NX502-1300 Controller Unit
  • ABB RVT-6 Power Factor Controller
  • Schneider TM258LF66DT4L PLC Controller
  • NLT NL6448BC26-27D 8.4 LCD Panel
  • NLT NL8060BC21-09 8.4 LCD Screen
  • Keyence XG-8700L Multi-camera Imaging System
  • EPC 50 3183045486 I O Motherboard
  • Nidec Emerson M701-054-00270A CT Drive
  • Therma Wave 18-011040 Controller Assembly
  • Mitsubishi Q03UDECPU PLC CPU Module
  • Allen-Bradley 2002-NX70-MWLINK PLC Module
  • AS-2P-60M-B Industrial PLC Cable
  • Yaskawa JANCD-YCP21-E DX200 CPU Board
  • PASABAN MC-2006 03 CAN PLC Card
  • Mitsubishi RJ71PB91V PROFIBUS DP Module
  • Fanuc A20B-8100-0137 PCB I O Board
  • D0-06DD2-D PLC Module DL06 PLC
  • Kepco BOP100-4M Power Supply Amplifier
  • Allen-Bradley 1785-L60B PLC-5 60 Module
  • Siemens 7MH4900-3AA01 Weighing Module
  • Pilz 773100 PNOZ m1p Safety Controller
  • Omron NS12-TS00B-V2 Graphic Operation Panel
  • EC20-4040BTA Programmable Controller PLC
  • Fanuc A16B-1212-0100-01 Power Unit CNC
  • Siemens 6ES7151-3BB23-0AB0 ET200S Interface Module
  • ATTO Control DU-01 PLC Display System
  • Keyence KV-RC8BXR Programmable Controller
  • Lenze GST04-1GVCK-063C22 Servo Motor
  • CKD AX9000GH AX9210H Control Unit
  • ABB PG6310 DC Trigger Control Board
  • Cutler Hammer 10316H621C Type L Device
  • TAIYO AA-277 EM CY TRIP PCB Card
  • Schneider BMXCPS2010 PLC Power Supply
  • Schneider TSXMRPC007M PLC PCMCIA Card
  • 101182218 Safety Stop Relay SSW301HV-230V
  • Cutler Hammer 9-1875-3 Size 6 Contactor 480V
  • Nidec UNI3401 Drive Module Control Board
  • Delta AS06XA-A PLC Module Analog Mixed IO
  • Lenze EPL 10201 13408978 Servo Drive 24V DC
  • Sigmatek CCP612-K PLC Module DI DO Module
  • Schneider ATS48D38Q Soft Starter Altistart 48
  • Fanuc A20B-3300-0472 Main CPU Board Series 30i
  • Mitsubishi A171SCPU-S3 Servo CPU Module PLC
  • ABB 1SFL597001R7011 700A 100-250V Soft Starter
  • Yaskawa JANCD-YCP21-E DX200 CPU Control Board
  • Schneider NS630N Circuit Breaker 3P 630A
  • Honeywell DPCB21010002 Rack Slot PCB
  • Mitsubishi RJ71EIP91 PLC Module
  • Siemens 3VL5763-1DC36-0AA0 Circuit Breaker
  • Siemens 6GK7542-1AX00-0XE0 Communication Module
  • Siemens 6SL3130-6AE15-0AB1 Smart Line Module
  • HMS Anybus AB7646-F Gateway
  • Honeywell 621-0020 Analog Input Module
  • Siemens 6ES7212-1HF40-0XB0 PLC Controller
  • MAK 1.00.7-36.21.00-40 PCB Module
  • ABB 3BSE006503R1 PFSA140 Power Supply
  • SAACKE F-GDSA 143303 Burner Controller
  • ABB PFSC230 25m Cable Set
  • GE HYDRAN 201Ci-1 Controller
  • ABB NINT-42C main circuit interface board
  • B&R 3AT660 6 Thermocouple Input Module
  • Honeywell EC7850A1080 Programmable Logic Controller
  • Mitsubishi A2ACPU21 CPU Module MELSEC A Series