A multi-bin multi-store order unpacking and warehouse distribution delivery system

By using a multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system, the problems of unclear rule effective boundaries and uncertain order splitting decisions in multi-warehouse, multi-store scenarios have been solved. This system has achieved reliable implementation of fulfillment parameters after order splitting and a closed loop for anomaly handling, thereby improving the system's operational stability and fulfillment efficiency.

CN122199105APending Publication Date: 2026-06-12SHENZHEN TENGFEI XUNTU TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN TENGFEI XUNTU TECHNOLOGY CO LTD
Filing Date
2026-03-19
Publication Date
2026-06-12

Smart Images

  • Figure CN122199105A_ABST
    Figure CN122199105A_ABST
Patent Text Reader

Abstract

The application relates to the field of electronic commerce order processing and logistics performance, and discloses a multi-warehouse and multi-store order splitting and warehouse and distribution delivery performance system; the system comprises an order access module, a rule management module, a rule execution module, an order splitting and warehouse and distribution decision module, a performance generation module, an exception processing module and a suspension processing module. The order access module standardizes multi-store orders into unified order objects. The rule execution module hits unique activated workflow rules according to project identification, outputs judgment results and executes corresponding actions. When orders are split, sub-order objects are generated and warehouse identification, warehouse area identification, logistics channel codes and trade clause identification are written. Before a performance single is created, performance parameters are checked, if the parameters are missing, an exception record is generated, an exception information field is written back and automatic performance is prohibited; if the order amount is zero, the order is suspended and automatic performance is prohibited.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of e-commerce order processing and logistics fulfillment, specifically to a multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system. Background Technology

[0002] With the development of e-commerce platforms, cross-border businesses, and multi-channel operations, enterprises often operate multiple stores simultaneously and configure multiple warehouses and different logistics channels to meet the fulfillment needs of different regions, service times, and cost constraints. In such scenarios, after orders enter from multiple stores, they often need to undergo field standardization, rule judgment, order splitting, warehouse and channel selection, and fulfillment order generation. Abnormal orders also need to be blocked and supplemented to ensure the accuracy of warehousing and distribution and the stability of the fulfillment loop.

[0003] Existing order fulfillment systems typically process orders at the store or platform level, using rule tables, script rules, or manual strategies to handle order splitting and warehousing distribution. One approach directly converts store orders into internal orders, then executes rule-based judgments based on conditions such as receiving country, province, amount, tags, and product attributes to trigger fulfillment or order splitting. Key parameters such as warehouse, storage area, logistics channel, and trade terms are then manually or semi-automatically supplemented. Another approach, while possessing workflow or rule engine capabilities, often executes by parallel rule matching or multiple rule overlays. This results in incomplete records of the association between the split sub-orders and the original orders, and inadequate verification and blocking mechanisms for missing abnormal parameters, leading to high costs for subsequent traceability and error correction.

[0004] In multi-warehouse, multi-store scenarios, the above solutions are prone to problems such as unclear rules effective boundaries, multiple rules taking effect simultaneously under the same project causing action conflicts, resulting in duplicate order splitting or duplicate fulfillment. At the same time, there is no unified data landing method for writing the fulfillment parameters after order splitting into the records associated with the atomic orders, making it difficult to ensure that key parameters such as warehouses, storage areas, logistics channels, and trade terms are complete and reliable before the fulfillment order is created. In addition, there is no closed-loop processing for abnormal orders with missing parameters or zero-amount orders, which often relies on manual discovery and remediation, which can easily lead to incorrect shipments, increased rollback costs, and reduced fulfillment timeliness. Summary of the Invention

[0005] To address the shortcomings of existing technologies, this invention provides a multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system. This system solves the technical problems in existing technologies, such as unclear rule validity boundaries, lack of certainty in order splitting and warehousing and distribution decisions, incomplete fulfillment parameters that can lead to erroneous fulfillment, and lack of closed-loop processing mechanisms for abnormal orders.

[0006] The above-mentioned technical objective of the present invention is achieved through the following technical solution: A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system includes: an order access module, used to access order data from at least two stores and standardize the order data into a unified order object; A unified order object should at least include an order identifier, store identifier, project identifier, country and province of receipt, order amount, currency, order label, and product details; product details should at least include product identifier, quantity, and weight; The rules management module is used to maintain a set of workflow rules by project identifier, and only one workflow rule is allowed to be active for the same project identifier. Each workflow rule includes a trigger, a set of condition nodes, and a set of action nodes. The set of condition nodes is used to perform logical judgments on the order attributes of the unified order object and output the judgment results. The set of action nodes is used to perform fulfillment processing on the unified order object based on the judgment results. The rule execution module is used to obtain the activated workflow rule corresponding to the project identifier based on the project identifier when the trigger is triggered, and select and execute the action node that is pre-associated with the judgment result according to the judgment result output by the condition node set. The order splitting and warehousing decision module is used to generate at least two sub-order objects based on the product details when the action node is the order splitting action, and to determine the fulfillment parameters for each sub-order object. Performance parameters should include at least warehouse identification, warehouse area identification, logistics channel code, and trade terms identification; The fulfillment generation module is used to generate fulfillment orders for unified order objects or sub-order objects based on fulfillment parameters. The exception handling module is used to perform integrity verification on the performance parameters before the performance generation module generates the performance order. When any of the following performance parameters are missing: warehouse identifier, warehouse area identifier, logistics channel code, or trade terms identifier, an exception record is generated and the exception information is written back to the exception information field of the unified order object. The performance generation module is also prohibited from performing automatic performance on the corresponding order object. The order object can be a unified order object or a sub-order object.

[0007] Preferably, the trigger is an order creation event; After receiving an order creation event, the rule execution module selects the workflow rule that is uniquely active for the unified order object based on the project identifier, and executes it from the start node to the end node. The termination node is the performance order creation node, which is used to call the performance generation module to generate a performance order and write the performance order identifier into the order object.

[0008] Preferably, the condition node includes an attribute selector, a comparison operator, and a logic combiner; The attribute selector is used to select the attribute to be judged from a preset order attribute set. The preset order attribute set includes at least the receiving country, province, order amount, currency, order tag, store identifier, product quantity, product identifier set, quantity corresponding to a single product identifier, and product category. The comparison operator is used to perform at least one of the following comparisons between the attribute being judged and the judgment value: equal to, not equal to, greater than, less than, greater than or equal to, less than or equal to, including, and not including, and outputs the comparison result. The logic combiner is used to combine two or more comparison results according to logical AND or logical OR relations and output the judgment result of the condition node.

[0009] Preferably, the action nodes include fulfillment actions, order splitting actions, and interception actions; The fulfillment action is used to write the warehouse identifier, storage area identifier, logistics channel code and trade terms identifier into the fulfillment parameter field of the order object; The order splitting action is used to trigger the order splitting and warehousing and distribution decision module to generate the sub-order objects, and write the fulfillment parameters into the fulfillment parameter field of each sub-order object respectively; The interception action is used to set the status of the order object to an interception state and write the interception reason, and to prevent the fulfillment generation module from performing automatic fulfillment on the corresponding order object.

[0010] Preferably, when the rule management module performs an activation action on the target workflow rule, it automatically closes other activated workflow rules under the same project identifier besides the target workflow rule, and records the effective time of the target workflow rule and the rule identifier of the closed rule for rule tracing and rollback.

[0011] Preferably, the rule management module supports version switching of workflow rules, and the version switching includes: A copy operation is performed on the first workflow rule to generate a second workflow rule. The second workflow rule inherits the condition node configuration, action node configuration, and node connection order of the first workflow rule and generates a new rule identifier. Edit and save the second workflow rule; When the second workflow rule is activated, the first workflow rule is automatically deactivated, so that subsequent order creation events only match the second workflow rule.

[0012] Preferably, the order splitting and warehousing decision module includes a product identifier splitting unit, which is used to perform the following splitting based on the set of product identifiers carried by the order splitting action: The product details of the unified order object are divided into a first detail set and a second detail set. The first detail set includes the product details corresponding to the product identifier set, and the second detail set includes the remaining product details. A first sub-order object is generated based on the first detail set, and a second sub-order object is generated based on the second detail set. Generate a split order association record, which includes the correspondence between the original order identifier and each sub-order identifier; Then, write the corresponding fulfillment parameter fields to the first sub-order object and the second sub-order object respectively.

[0013] Preferably, the order splitting and warehousing decision module includes a weight splitting unit, which is used to divide the product details of the unified order object based on a preset weight range and generate at least two sub-order objects; The first weight range corresponds to the first sub-order object, and the second weight range corresponds to the second sub-order object; The preset weight range is defined by a lower threshold and an upper threshold. The weight-based splitting unit splits the order when the total weight of the unified order object meets the preset minimum weight threshold, and writes different logistics channel codes to the sub-order objects corresponding to different weight ranges.

[0014] Preferably, when generating the exception record, the exception handling module records the order identifier, the missing field type, the triggered workflow rule identifier, and the triggered action node identifier, and writes the missing field type and exception information into the exception information field of the order object, instructing manual completion of the fulfillment parameter field of the order object before triggering the creation of the fulfillment order.

[0015] Preferably, the system further includes a suspension processing module, which is used to determine whether the order amount of the unified order object is zero after the order creation event is triggered; When the order amount is zero, the unified order object is set to a suspended state and a suspended record is generated. The suspended record includes at least the order identifier, the reason for suspension and the suspension time, and the fulfillment generation module is prohibited from performing automatic fulfillment on the corresponding order object. The suspension processing module supports suspending the entire order and suspending split orders. Suspending the entire order is used to prevent the original order from being automatically fulfilled as a whole, while suspending split orders is used to prevent automatic fulfillment only for at least one sub-order object generated by the split order action.

[0016] In summary, the present invention has the following main beneficial effects: This application standardizes the fields and derives order attributes from multi-store order data using a unified order object. After the order creation event is triggered, it identifies the uniquely activated workflow rule based on the project identifier. Combined with the set of condition nodes, it outputs a judgment result identifier and determines the unique action node through a pre-association mapping relationship. This achieves the effect of certain rule selection and non-conflicting action execution, avoiding the problems of duplicate order splitting, duplicate fulfillment, or overlapping actions for the same order under multi-branch conditions, and improving the consistency and traceability of multi-store and multi-warehouse fulfillment decisions.

[0017] This application generates sub-order objects and related records during the order splitting process. Under two splitting strategies—splitting by product identifier and splitting by weight range—warehouse identifier, storage area identifier, logistics channel code, and trade terms identifier are written into the fulfillment parameter fields of each sub-order object. This allows sub-order objects corresponding to different product sets or different weight ranges to be matched with different warehousing and distribution paths. As a result, fulfillment parameters can be implemented after order splitting, and warehousing and distribution can be layered. This improves the fulfillment flexibility and resource utilization efficiency of multi-warehouse collaboration, and reduces the probability of errors caused by manual splitting and manual warehouse and channel selection.

[0018] This application performs integrity checks on fulfillment parameters before fulfillment orders are created. When warehouse identifiers, storage area identifiers, logistics channel codes, or trade terms identifiers are missing, an exception record is generated and the exception information field is written back. At the same time, automatic fulfillment is prohibited, and when the order amount is zero, a suspension process is executed. In conjunction with the fulfillment retry event, a closed-loop recovery is achieved after the missing or cancelled parameters are completed. This achieves the effects of anomaly location, risk prevention, and process recovery, reducing the cost of incorrect shipments and rollbacks caused by missing parameters or zero-amount orders, and improving the system's operational stability and anomaly handling efficiency. Attached Figure Description

[0019] Figure 1 This is the rule entity relationship diagram of the present invention; Figure 2 This is a system overall structure diagram of the present invention. Detailed Implementation

[0020] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0021] Example 1 refer to Figure 1-2A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system includes: an order access module, used to access order data from at least two stores and standardize the order data into a unified order object; A unified order object should at least include an order identifier, store identifier, project identifier, country and province of receipt, order amount, currency, order label, and product details; product details should at least include product identifier, quantity, and weight; The rules management module is used to maintain a set of workflow rules by project identifier, and only one workflow rule is allowed to be active for the same project identifier. Each workflow rule includes a trigger, a set of condition nodes, and a set of action nodes. The set of condition nodes is used to perform logical judgments on the order attributes of the unified order object and output the judgment results. The set of action nodes is used to perform fulfillment processing on the unified order object based on the judgment results. The rule execution module is used to obtain the activated workflow rule corresponding to the project identifier based on the project identifier when the trigger is triggered, and select and execute the action node that is pre-associated with the judgment result according to the judgment result output by the condition node set. The order splitting and warehousing decision module is used to generate at least two sub-order objects based on the product details when the action node is the order splitting action, and to determine the fulfillment parameters for each sub-order object. Performance parameters should include at least warehouse identification, warehouse area identification, logistics channel code, and trade terms identification; The fulfillment generation module is used to generate fulfillment orders for unified order objects or sub-order objects based on fulfillment parameters. The exception handling module is used to perform integrity verification on the performance parameters before the performance generation module generates the performance order. When any of the following performance parameters are missing: warehouse identifier, warehouse area identifier, logistics channel code, or trade terms identifier, an exception record is generated and the exception information is written back to the exception information field of the unified order object. The performance generation module is also prohibited from performing automatic performance on the corresponding order object. The order object can be a unified order object or a sub-order object.

[0022] This system is used to perform rule-based order splitting, warehousing and distribution, and fulfillment order generation for orders from at least two stores. The system includes at least an order access module, a rule management module, a rule execution module, an order splitting and warehousing / distribution decision module, a fulfillment order generation module, an exception handling module, a suspension handling module, and a retry triggering module. Each module can be deployed on the same server or a distributed server cluster and interact through API calls or message queues.

[0023] To avoid ambiguity, this article refers to the standardized original order as a unified order object, and the orders formed after splitting the order as sub-order objects. The unified order object or sub-order objects are collectively referred to as order objects. An order object includes at least a fulfillment parameter field, an exception information field, and a status field. The status field is used to indicate that the order object is in one of the following states: pending fulfillment, fulfilled, exception, blocked, or suspended.

[0024] The order access module is used to access order data from at least two stores. Order fields may differ between stores; the order access module standardizes and maps these fields to generate a unified order object. This unified order object includes at least: order identifier, store identifier, project identifier, receiving country, province, order amount, currency, order tag, and product details. Product details include at least the product identifier, quantity, and weight, where the weight is either the single-item weight or the billing weight. The system uses a fixed metric in its configuration and maintains consistency throughout the entire process.

[0025] The project identifier is used to assign orders to specific projects. The project identifier can be determined by the store identifier and a preset mapping table, or by the order access module based on information such as the order source channel and store site. After generating a unified order object, the order access module simultaneously generates an order attribute set and writes it into the unified order object for use in reading the condition node set. The order attribute set includes at least the product quantity, the product identifier set, the quantity corresponding to a single product identifier, and the product category.

[0026] To ensure feasibility, the order access module calculates derived attributes in the following way: Quantity of goods This is the sum of the quantities of all items listed in the order.

[0027] in, For the number of product details entries, For the first The quantity of each item in the product list.

[0028] Product Identifier Set A set of different product identifiers appearing in the order: ; in, For the first Different product labels, The number of different product labels.

[0029] Quantity corresponding to a single product label The total quantity of the specified product identifier in the order is the sum of the quantities of all the details corresponding to that product identifier.

[0030] The rule management module is used to maintain a set of workflow rules by project identifier, and only one workflow rule is allowed to be active for the same project identifier. The rule management module maintains information such as rule identifier, project identifier, rule status, effective time, and closing time for each workflow rule, where the rule status includes at least active and closed states.

[0031] When an activation action is performed on a target workflow rule, the rule management module performs the following steps: Retrieve other active workflow rules under the same project identifier; Set the rule status of the other workflow rules to the closed state and write the closed time; Set the target workflow rule to active status and write the effective time; Record the rule identifier and corresponding closing time of the closed rule for rule tracing and rollback.

[0032] To ensure that rule changes have clear effective boundaries, the rule management module supports version switching for workflow rules. Version switching uses a copy-based switching method. A copy operation is performed on the first workflow rule to generate a second workflow rule. The second workflow rule inherits the condition node set configuration, action node set configuration, and node connection order of the first workflow rule, and generates a new rule identifier. Edit and save the second workflow rule; When the second workflow rule is activated, the first workflow rule is automatically turned off, so that subsequent order creation events only match the second workflow rule.

[0033] Each workflow rule includes a trigger, a set of condition nodes, and a set of action nodes. The set of condition nodes is used to perform logical judgments on the order attributes of a unified order object and output a judgment result identifier; the set of action nodes is used to perform fulfillment processing on the order object based on the judgment result identifier.

[0034] To ensure the deterministic selection of action nodes from judgment result identifiers, the rule management module maintains a pre-association mapping relationship for each workflow rule. This pre-association mapping relationship maps judgment result identifiers to unique action node identifiers. The pre-association mapping relationship can be represented by a mapping table, which includes at least: rule identifier, judgment result identifier, and action node identifier. The judgment result identifier uniquely represents the output branch of the condition node set, and the action node identifier uniquely identifies the configuration instance of a fulfillment action, order splitting action, or interception action.

[0035] Among them, the judgment result identifier can be generated by the logical combination output of the condition node set, such as encoding the branch result as satisfying branch A, satisfying branch B, or default branch; the action node identifier is a unique identifier generated when configuring the rule, used to locate the specific action configuration in the action node set.

[0036] In this embodiment, the trigger is the order creation event. After receiving the order creation event, the rule execution module selects the workflow rule that is uniquely active for the project identifier of the unified order object, and executes it from the start node to the end node. The end node is the fulfillment order creation node, which is used to call the fulfillment generation module to generate a fulfillment order and write the fulfillment order identifier into the order object.

[0037] The execution flow of the rule enforcement module includes at least the following: Read the set of condition nodes and pre-associated mapping relationships of the activated workflow rules; Evaluate the set of condition nodes to obtain the judgment result identifier; Based on the pre-associated mapping relationship, the judgment result identifier is mapped to a unique action node identifier; The action node identifier is executed to identify the corresponding action node, and the fulfillment parameter field, exception information field, and status field of the order object are updated. When the order object status is neither blocked nor suspended and the exception information field is empty, proceed to the fulfillment order creation node to generate a fulfillment order.

[0038] The condition node includes an attribute selector, a comparison operator, and a logic combiner. The attribute selector selects the attribute to be judged from a preset set of order attributes. This preset set of order attributes includes at least the receiving country, province, order amount, currency, order tag, store identifier, product quantity, product identifier set, quantity corresponding to a single product identifier, and product category. The comparison operator performs at least one comparison (equal to, not equal to, greater than, less than, greater than or equal to, less than or equal to, contain, not contain) between the attribute to be judged and the judgment value, and outputs the comparison result. The logic combiner combines two or more comparison results using logical AND or logical OR relationships and outputs the judgment result identifier of the condition node set.

[0039] To facilitate implementation by those skilled in the art, a method for calculating logical combinations is provided: Let the comparison result be... ,in When using the logical AND relation: ; When using logical OR relational relationships: ; in, T The number of comparison results. The logic combiner is based on... Generate a judgment result identifier and output the judgment result identifier to the pre-association mapping relationship for action node selection.

[0040] Action nodes include fulfillment actions, order splitting actions, and interception actions.

[0041] 1) Fulfillment Action: This action is used to write the warehouse identifier, storage area identifier, logistics channel code, and trade terms identifier into the fulfillment parameter field of the order object. The fulfillment parameter field is a structured set of fields, including at least the four fields mentioned above. After the fulfillment action is completed, the order object has the parameter basis for generating a fulfillment order.

[0042] 2) Order splitting action: This is used to trigger the order splitting and warehousing and distribution decision module to generate sub-order objects, and write the fulfillment parameters into the fulfillment parameter field of each sub-order object. At the same time, it generates an order splitting association record to establish the correspondence between the original order identifier and the sub-order identifier.

[0043] 3) Interception Action: This action sets the status field of the order object to "intercepted" and writes the interception reason to the exception information field or a dedicated interception reason field. It also prevents the fulfillment generation module from automatically fulfilling the corresponding order object. The interception and suspension states are mutually exclusive. If the order object is already in a suspended state, it remains suspended, and the interception reason is written to the exception information field to prompt manual intervention.

[0044] The order splitting and warehousing / logistics decision-making module includes a product-identity splitting unit. Based on the set of product identifiers carried by the order splitting action, the product-identity splitting unit performs the following steps: The product details of a unified order object are divided into a first detail set and a second detail set. The first detail set includes the product details corresponding to the product identifier set, and the second detail set includes the remaining product details. The first sub-order object is generated based on the first detail set, and the second sub-order object is generated based on the second detail set. The sub-order objects inherit the store identifier, project identifier, country and province of receipt, currency, order tag and other fields of the unified order object. Generate a split order association record, which includes the correspondence between the original order identifier and each sub-order identifier, and records the split method identifier and timestamp; Write the corresponding fulfillment parameter fields to the first sub-order object and the second sub-order object respectively.

[0045] By linking order records, the source of sub-order objects and subsequent fulfillment paths can be traced, facilitating anomaly identification and auditing.

[0046] The order splitting and warehousing decision-making module includes a weight-based splitting unit. This unit is used to divide the product details of a uniform order object based on preset weight ranges and generate at least two sub-order objects. The first weight range corresponds to the first sub-order object, and the second weight range corresponds to the second sub-order object. The preset weight range is defined by a lower threshold and an upper threshold.

[0047] Breaking down units by weight within the total weight of a unified order object Meet the preset minimum weight threshold The split is executed when the following conditions are met: ,gross weight Calculated by the following formula:

[0048] in, For the number of product details entries, For the first The weight of each item in the product details list. For the first The number of item details. To ensure that the splitting is feasible and the output is deterministic, this embodiment uses an additive splitting strategy for detail allocation. The additive splitting strategy includes: The product details are arranged according to a preset sorting order, which is the order in which the product details appear in the unified order object. Calculate the weight contribution value for each item in the product list. ; Starting from the first item in the product list, accumulate the weight contribution value to obtain the accumulated value: ; When the accumulated value The lower limit threshold of the first weight range is reached. Furthermore, continued accumulation will exceed the upper limit threshold of the first weight range. At that time, the first The item details and subsequent item details are assigned to the second sub-order object, and the first item details are assigned to the second sub-order object. to The item details are assigned to the first sub-order object; Based on the two sets of product details, generate the first sub-order object and the second sub-order object respectively, and record the splitting method as split by weight in the splitting association record.

[0049] After the order is split, different logistics channel codes are written to the sub-order objects corresponding to different weight ranges. For example, the first sub-order object corresponding to the first weight range is written with the first logistics channel code, and the second sub-order object corresponding to the second weight range is written with the second logistics channel code, thereby realizing warehousing and distribution according to weight range.

[0050] The fulfillment generation module is used to generate fulfillment orders for order objects based on fulfillment parameters. A fulfillment order includes at least a fulfillment order identifier, associated order identifier, warehouse identifier, warehouse area identifier, logistics channel code, and trade terms identifier. After successful fulfillment order creation, the fulfillment order identifier is written to the order object.

[0051] The exception handling module performs integrity checks on performance parameters before the performance generation module generates the performance order. The integrity check verifies at least four fields: warehouse identifier, warehouse area identifier, logistics channel code, and trade terms identifier. If any field is missing: Generate an exception record. The exception record should at least record the order identifier, the type of missing field, the identifier of the triggered workflow rule, and the identifier of the triggered action node. Write the missing field type and exception information into the exception information field of the order object, and set the status field of the order object to exception; The fulfillment generation module is prohibited from performing automatic fulfillment on the corresponding order object until the exception information field is cleared.

[0052] The system includes a suspension handling module. This module determines whether the order amount of a unified order object is zero after an order creation event is triggered. When the order amount is zero, the status field of the unified order object is set to suspended, and a suspension record is generated. The suspension record includes at least the order identifier, the reason for suspension, and the suspension time, and prevents the fulfillment generation module from performing automatic fulfillment on the corresponding order object.

[0053] The system includes a retry triggering module. This module is used to trigger a fulfillment retry event when retry conditions are met. The retry conditions include: 1) The exception information field of the order object has been cleared; 2) The suspended status of the order object has been lifted.

[0054] The removal of the exception information field indicates that the fulfillment parameter field has been completed and the cause of the exception has been eliminated; the lifting of the suspended status indicates that the order amount has been corrected or manual confirmation has been given to allow automatic fulfillment to continue.

[0055] Upon receiving a fulfillment retry event, the rule enforcement module performs the following process: The exception handling module is invoked to re-execute the integrity check of the fulfillment parameters; When the verification is successful, the status field of the order object is set to pending fulfillment, and the fulfillment creation node is entered to call the fulfillment generation module to generate a fulfillment order; After a fulfillment order is successfully created, the status field of the order object is set to "fulfilled" and a fulfillment order identifier is written to it.

[0056] By using the fulfillment retry event mechanism, the system can automatically resume fulfillment after abnormal blocking and suspension, forming a closed loop and avoiding backlogs caused by process interruptions.

[0057] In a typical operation, the order access module receives order data from different stores, generates a unified order object, and writes a project identifier. After the order creation event is triggered, the rule execution module selects the uniquely activated workflow rule according to the project identifier, evaluates the set of condition nodes, outputs the judgment result identifier, locates the order splitting action through the pre-association mapping relationship, and executes it.

[0058] The order splitting and warehousing decision-making module generates sub-order objects based on the order splitting action, either by product identifier or by weight, and writes them into the fulfillment parameter field. Then, before entering the fulfillment order creation node, the exception handling module performs integrity checks on the warehouse identifier, storage area identifier, logistics channel code, and trade terms identifier; if any are missing, an exception record is generated, written into the exception information field, and automatic fulfillment is blocked. After manually completing the fulfillment parameter fields and clearing the exception information field, the retry triggering module triggers a fulfillment retry event. The rule execution module, after verification, calls the fulfillment generation module to generate the fulfillment order and writes the fulfillment order identifier, completing the fulfillment loop.

[0059] This invention uses a unified order object as the data carrier. After integrating orders from multiple stores, it standardizes fields and derives attributes to form a unified order object containing order identifier, store identifier, project identifier, delivery information, order amount, currency, order tag, and product details. Based on this, it generates order attributes such as product quantity, product identifier set, and quantity corresponding to a single product identifier, providing consistent data input for subsequent rule judgments.

[0060] After an order creation event is triggered, the rule execution module retrieves the unique active workflow rule under the unified order object's project identifier and calls the condition node set to evaluate the order attributes. The condition node set selects the attribute to be judged through an attribute selector, the comparison operator performs threshold comparison or set inclusion judgment, and the logic combiner logically combines multiple comparison results to output a definite judgment result identifier. Subsequently, the rule execution module maps the judgment result identifier to a unique action node identifier through a pre-association mapping relationship, thereby determining the path to execute fulfillment actions, order splitting actions, or interception actions, avoiding duplicate fulfillment or action conflicts caused by multi-branch concurrency.

[0061] When performing a fulfillment action, the system writes the warehouse identifier, storage area identifier, logistics channel code, and trade terms identifier into the fulfillment parameter field of the order object, enabling the order object to have the necessary parameters to generate a fulfillment order. When performing an order splitting action, the order splitting and warehousing and distribution decision module splits the product details according to the splitting rules and generates sub-order objects, recording the splitting association record between the original order identifier and the sub-order identifier. Specifically, splitting by product identifier separates the details corresponding to the target product identifier from the other details to generate different sub-order objects. Splitting by weight, under the premise that the total weight meets the minimum weight threshold, uses an additive splitting strategy to allocate the product details to the sub-order objects corresponding to different weight ranges, and writes different logistics channel codes into the sub-order objects of different weight ranges, thereby realizing warehousing and distribution based on rules and weight stratification.

[0062] Before entering the fulfillment order creation node, the exception handling module performs an integrity check on the fulfillment parameters of the order object, verifying at least four fields: warehouse identifier, warehouse area identifier, logistics channel code, and trade terms identifier. If any are missing, the system generates an exception record and writes the exception information into the exception information field. Simultaneously, the fulfillment generation module is prohibited from automatically fulfilling the corresponding order object to avoid incorrect order placement or shipment due to incomplete parameters. When the order amount is zero, the suspension handling module puts the unified order object into a suspended state and generates a suspended record, also prohibiting automatic fulfillment. After the fulfillment parameters are manually completed and the exception information field is cleared, or the suspended state is lifted, the retry trigger module triggers a fulfillment retry event. The rule execution module re-verifies the integrity of the fulfillment parameters. If the verification passes, the fulfillment generation module is invoked to generate a fulfillment order and write the fulfillment order identifier, thus forming a closed-loop fulfillment process from order access, rule judgment, order splitting and warehousing distribution, exception blocking, to retry recovery.

[0063] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.

Claims

1. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system, characterized in that, include: The order access module is used to access order data from at least two stores and standardize the order data into a unified order object; A unified order object should at least include an order identifier, store identifier, project identifier, country and province of receipt, order amount, currency, order label, and product details; product details should at least include product identifier, quantity, and weight; The rules management module is used to maintain a set of workflow rules by project identifier, and only one workflow rule is allowed to be active for the same project identifier. Each workflow rule includes a trigger, a set of condition nodes, and a set of action nodes. The set of condition nodes is used to perform logical judgments on the order attributes of the unified order object and output the judgment results. The set of action nodes is used to perform fulfillment processing on the unified order object based on the judgment results. The rule execution module is used to obtain the activated workflow rule corresponding to the project identifier based on the project identifier when the trigger is triggered, and select and execute the action node that is pre-associated with the judgment result according to the judgment result output by the condition node set. The order splitting and warehousing decision module is used to generate at least two sub-order objects based on the product details when the action node is the order splitting action, and to determine the fulfillment parameters for each sub-order object. Performance parameters should include at least warehouse identification, warehouse area identification, logistics channel code, and trade terms identification; The fulfillment generation module is used to generate fulfillment orders for unified order objects or sub-order objects based on fulfillment parameters. The exception handling module is used to perform integrity verification on the performance parameters before the performance generation module generates the performance order. When any of the following performance parameters are missing: warehouse identifier, warehouse area identifier, logistics channel code, or trade terms identifier, an exception record is generated and the exception information is written back to the exception information field of the unified order object. The performance generation module is also prohibited from performing automatic performance on the corresponding order object. The order object can be a unified order object or a sub-order object.

2. The order splitting and fulfillment system based on multi-warehouse and multi-store orders according to claim 1, characterized in that, The trigger is an order creation event; After receiving an order creation event, the rule execution module selects the workflow rule that is uniquely active for the unified order object based on the project identifier, and executes it from the start node to the end node. The termination node is the performance order creation node, which is used to call the performance generation module to generate a performance order and write the performance order identifier into the order object.

3. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 2, characterized in that, The condition node includes an attribute selector, a comparison operator, and a logic combiner; The attribute selector is used to select the attribute to be judged from a preset order attribute set. The preset order attribute set includes at least the receiving country, province, order amount, currency, order tag, store identifier, product quantity, product identifier set, quantity corresponding to a single product identifier, and product category. The comparison operator is used to perform at least one of the following comparisons between the attribute being judged and the judgment value: equal to, not equal to, greater than, less than, greater than or equal to, less than or equal to, including, and not including, and outputs the comparison result. The logic combiner is used to combine two or more comparison results according to logical AND or logical OR relations and output the judgment result of the condition node.

4. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 3, characterized in that, The action nodes include fulfillment actions, order splitting actions, and interception actions; The fulfillment action is used to write the warehouse identifier, storage area identifier, logistics channel code and trade terms identifier into the fulfillment parameter field of the order object; The order splitting action is used to trigger the order splitting and warehousing and distribution decision module to generate the sub-order objects, and write the fulfillment parameters into the fulfillment parameter field of each sub-order object respectively; The interception action is used to set the status of the order object to an interception state and write the interception reason, and to prevent the fulfillment generation module from performing automatic fulfillment on the corresponding order object.

5. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 4, characterized in that, When the rule management module performs an activation action on the target workflow rule, it automatically closes other activated workflow rules under the same project identifier, except for the target workflow rule, and records the effective time of the target workflow rule and the rule identifier of the closed rule for rule tracing and rollback.

6. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 5, characterized in that, The rule management module supports version switching of workflow rules, and the version switching includes: A copy operation is performed on the first workflow rule to generate a second workflow rule. The second workflow rule inherits the condition node configuration, action node configuration, and node connection order of the first workflow rule and generates a new rule identifier. Edit and save the second workflow rule; When the second workflow rule is activated, the first workflow rule is automatically deactivated, so that subsequent order creation events only match the second workflow rule.

7. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 6, characterized in that, The order splitting and warehousing decision module includes a product identifier splitting unit, which is used to perform the following splitting based on the set of product identifiers carried by the order splitting action: The product details of the unified order object are divided into a first detail set and a second detail set. The first detail set includes the product details corresponding to the product identifier set, and the second detail set includes the remaining product details. A first sub-order object is generated based on the first detail set, and a second sub-order object is generated based on the second detail set. Generate a split order association record, which includes the correspondence between the original order identifier and each sub-order identifier; Then, write the corresponding fulfillment parameter fields to the first sub-order object and the second sub-order object respectively.

8. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 7, characterized in that, The order splitting and warehousing decision module includes a weight splitting unit, which is used to divide the product details of the unified order object based on a preset weight range and generate at least two sub-order objects. The first weight range corresponds to the first sub-order object, and the second weight range corresponds to the second sub-order object; The preset weight range is defined by a lower threshold and an upper threshold. The weight-based splitting unit splits the order when the total weight of the unified order object meets the preset minimum weight threshold, and writes different logistics channel codes to the sub-order objects corresponding to different weight ranges.

9. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 8, characterized in that, When generating the exception record, the exception handling module records the order identifier, missing field type, triggered workflow rule identifier, and triggered action node identifier, and writes the missing field type and exception information into the exception information field of the order object, instructing manual completion of the fulfillment parameter field of the order object before triggering the fulfillment order creation.

10. A multi-warehouse, multi-store order splitting and warehousing and distribution fulfillment system according to claim 9, characterized in that, The system also includes a suspension processing module, which is used to determine whether the order amount of the unified order object is zero after the order creation event is triggered; When the order amount is zero, the unified order object is set to a suspended state and a suspended record is generated. The suspended record includes at least the order identifier, the reason for suspension and the suspension time, and the fulfillment generation module is prohibited from performing automatic fulfillment on the corresponding order object. The suspension processing module supports suspending the entire order and suspending split orders. Suspending the entire order is used to prevent the original order from being automatically fulfilled as a whole, while suspending split orders is used to prevent automatic fulfillment only for at least one sub-order object generated by the split order action.