【Product Design】E-commerce background system design--inventory

E-commerce background products involve many modules, and the core modules are commodity, order, and inventory, and there are a lot of interactions between modules. Inventory determines whether the product can be sold and whether the order can be placed successfully.

Inventory management in e-commerce is to ensure the normal sales of front-end products. Inventory management is inseparable from warehouses, and warehouses are related to sales and purchases. The following is a simple illustration of the factors affecting inventory changes.
insert image description here
 A. Sales order - reduce inventory; B. Sales order - lock inventory; C. After-sales return - replenish inventory; D. Warehouse transfer - increase/deduct inventory; E. Pre-sale - lock inventory; G. Purchase - increase inventory; H. Inventory profit and loss (inventory reconciliation, increase/subtract inventory). Let’s talk about the inventory profit and loss here. The inventory is mainly used to manage the difference between the actual value of the warehouse and the system value. Theoretically speaking, if the data of each link of the product is accurate, the actual value should be consistent with the system value. However, in practice, there may be some factors that cannot be detected by the system that affect the real inventory, which requires the warehouse to conduct periodic inventory. After the stocktaking, if the actual value is inconsistent with the system value, the system value needs to be corrected. At this time, the system value can be modified by manually or automatically generating the inbound and outbound form, and the modified part of the data needs to be marked , so as to facilitate the reconciliation after the financial affairs. (Of course, how to deal with this part of the difference in the actual design depends on the nature and needs of the business.)
According to the different application stages of the inventory, the inventory management system is divided into sales layer, scheduling layer, and warehouse layer. The main reason is that the functions of each layer are different. The basis for driving inventory changes is also different.

insert image description here
Sales Floor The inventory on the sales floor determines whether it can be sold and whether the order can be placed successfully. In the flash sale, the active inventory determines whether the flash sale can be successful; in the pre-sale, the pre-sale inventory determines whether the deposit can be booked.
◼︎Salesable inventory: The inventory displayed on the front desk of the website, the inventory that can be sold externally. When "saleable inventory > 0", the front website will display that the product is available for sale; and when "saleable inventory = 0", the front website will display that the product is out of stock.
◼︎Lock Inventory: The user places an order to lock the inventory, and the inventory will be deducted after payment. Locking inventory refers to occupying inventory when placing an order to ensure that all orders paid by customers after placing an order are available for delivery without conflicting with each other.
◼︎Sold inventory: Count the number of items sold. When the payment is successful, the product is considered as sold inventory. If you cancel the order or after-sales, you need to go through the corresponding inventory change process.
◼︎Activity inventory: Mainly when doing promotional activities (such as flash sales), a fixed quantity of goods is assigned to the corresponding activity. At this time, it is necessary to occupy the corresponding quantity from the salable inventory for the activity inventory. This part of the inventory also follows the corresponding lock and deduction logic.
◼︎Pre-sale inventory: This part is virtual inventory, which is mainly driven demand, such as B-end order, double eleven deposit pre-sale, etc. The pre-sale also follows the corresponding locking and deduction logic. The difference is that pre-sale orders need to be stocked and then pushed to the scheduling layer.

insert image description here
Among them, the salable inventory has only one place to maintain the inventory number in the commodity maintenance interface, that is, the actual salable inventory. For merchants settled on large platforms, manual entry is usually used (system docking is available for those with development capabilities), allowing merchants to maintain the sales volume of SKUs themselves. How much to fill in is up to the merchants themselves, and the number filled in is the actual sellable inventory. For self-operated platforms, the company usually has its own warehousing system, and each SKU has a clear storage record, and some SKUs participate in internal tasks (such as allocation, photography, strategic storage, etc.) so that they cannot be sold at the current time. Therefore, the actual SKU inventory may not be equal to all available for sale. The specific actual available inventory needs to be synchronized to the merchant module through the warehousing system through statistics, rather than manually maintained by the buyer.
insert image description here
scheduling layer

The scheduling layer is equivalent to the distribution center of the order, which converts the order into an invoice, and determines which SKUs will be delivered by which warehouse according to the scheduling rules. The inventory at the scheduling layer is divided into three dimensions: single warehouse, region, and total inventory. Regional inventory refers to the warehouses that only deliver to a certain region. goods. The total inventory is the total sku inventory of all warehouses.
◼︎Book inventory: The physical inventory in the warehouse, as long as it is not out of the warehouse, is counted in the book inventory.
◼︎Available stock: The stock in the warehouse that is ready to ship. This part of inventory is inventory available for dispatch.
◼︎Inventory in transit: The inventory that has placed a purchase order but has not yet been put into storage is theoretically partly available for sale. For example, T+1 in-transit inventory is a sku that can be put into storage after 1 day.
◼︎Used inventory: Inventory that has been allocated at the scheduling layer.
The scheduling layer overlaps with the front-end inventory in some respects, and the front-end inventory will also be divided into regions and total inventory, but the difference is that the scheduling layer corresponds to physical objects, and there will be no virtual inventory. Orders flowing to the scheduling layer are dispatched Push to warehouse for delivery.

Warehouse Layer (WMS Inventory)

The inventory at the warehouse layer corresponds to the physical inventory, and the inventory of the warehouse will cause changes in the warehouse inventory. The warehouse layer is particularly complex in the entire inventory management system. For the outbound process in the warehouse, please refer to the above figure - inventory relationship flow diagram. (Wave picking refers to combining several orders for picking, which can improve picking efficiency.)

◼︎Available inventory: After the invoice is pushed to the warehouse, the warehouse can use the inventory for delivery, excluding locked inventory.
◼︎Lock inventory: lock the inventory after the invoice is pushed to the warehouse, and lock the location inventory at the same time.
◼︎Outbound inventory: The physical inventory that has been confirmed out of the warehouse.
◼︎Unavailable inventory: Defective products found during the inventory need to be reported as damages, and converted from available inventory to unavailable inventory.

Guess you like

Origin blog.csdn.net/qq_41661800/article/details/130077284