What is the difference and purpose of Requirement and Request in Moqui?
I will give my personal opinion first. So, from my perspective the flow should be:
Requirement → Request → Order
Example:
- The enterprise sold all shirts and the minimum stock is 5, so now it has a Requirement for 5 shirts. A client came in and said he needs another 2, so we have another Requirement for 2 shirts. Currently there is no supplier party involved, we just have a need here.
- We group requirements by product and send some Requests to different suppliers for prices for 7 shirts. In this case the Request is just a Requirement with a supplier party. This step is optional, as we could turn the Requirement into an Order directly.
- Pick a supplier(or multiple) and Order the shirts.
I also know that the data model was based on the book of Len Silverston, so here is an excerpt from the book regarding these 2 entities:
Requirements
An order occurs because a party has a need for something. Some enterprises will track these needs, and some may not. The enterprise may track its customer needs as well as its own needs. An example of a customer need is capturing a requirement of a customer to help build a system for him or her. An example of an internal need is a requirement to purchase certain office supplies.
The organization may be interested in tracking either customer or internal needs, or both, depending on the type of enterprise.
Requests
Instead of immediately ordering the products on a requirement, sometimes a process of requesting and receiving quotes is used. A request is a means of asking vendors for bids, quotes, or responses to the requirement. The request could be sent to the enterprise, or it could be sent out from the enterprise to solicit responses from suppliers.
So pretty much the same thing I said above. Also there is the Moqui documentation which seems to implement a structure similar to these cases above. Now the problem is that the documentation talks about a requirementMethodEnumId field on the ProductStore for automatic inventory replenishment, but this field is not present on the ProductStore in the udm. Leaving that aside, I found the mantle.request.requirement.Requirement entity in the udm, but I could not find any service in the usl for requirements. Also there seems to be no UI for requirements, the only screens I found are for requests.
So what is the status on the Requirement entity, is that abandoned? Was it considered that there is no need for a separate Requirement entity and just used the Request instead for everything?