Requisitions Improvement - Functional Specifications
The purpose of this project is to improve the functionality of Requisitions making easier the process to create purchase orders based on the Requisitions.
- The MRP module generate requisitions, after the changes are done it has to be tested that there is no regression.
- MRP Module can create Purchase Orders from Requisitions
- Assure that there is no regression in MRP module
- Assure that a Requisition Line can generate only a Purchase Order.
User roles & profiles
The user roles affected by this functionality are:
- Warehouse workers
- Typically these users do not have a high level of professional education and might not be computer literate. They tend however to spend a number of years with the same employer and after hiring they go through a few days of training to learn the processes within the warehouse. These users, therefore, need to be able to learn how to use the product in a few hours. These users can create requisitions when the level of inventory for a product is low.
- Purchase managers
- Typically these users have a high level of professional education, are computer literate and receive training in the product and business process. These users perform purchase orders from the requisitions, they have to select the correspondent vendor taking into account the different variables that can take part in the decision: price, discounts, availability,...
- Generic employee
- These are users that work for the organization implementing Openbravo in a variety of roles and that are involved in a given business process on an occasional basis. Because of the infrequent nature of their involvement in the process, their primary concern is ease of use, defined as the ability to perform a new task without having to read any documentation. In the case of requisitions, employees request products and services that they need in their job using requisitions.
Business process definition
- The requisitions are created when some material needing is detected.
- They can be entered manually when the stock level is low or is expected a high demand in short time.
- They are also an output of the MRP for raw materials.
- The Purchase Manager reviews the new requisition and can create automatically a Purchase Order for it.
- The Purchase Manager can review all the requisitions lines and group them to create Purchase Orders.
- The user reviews the created Purchase Orders and complete them.
- John knows that in two weeks is going to start a production and there is not enough Product A and Product B in stock.
- He opens the Requisition window and creates a new one, he doesn't need to insert additional data in the header as the Document No is automatically filled.
- He creates a line for Product A, sets the Due Date for a day before the production starts and the desired quantity.
- He creates another line for Product B.
- After inserting all the products he completes the requisition.
- Mary reviews the completed requisitions and watches that there is a new one.
- She, after checking it, presses the Create Purchase orders button and run the process.
- The process ends with a message showing the created Purchase Orders numbers.
- She navigates to the newly created Purchase Orders and check them.
- She notices that the Product A can have a discount purchasing a little more quantity, so she reopens the PO
- She changes the quantity of the PO of Product A to get a discount and Processes it.
- Mary reviews the open requisition lines using the Create Purchase orders from Requisitions window.
- She filters the requisition lines by Product A
- She checks some lines that are needed shortly.
- She sets the vendor and the due date.
- She presses the Create Orders button.
- She navigates to the created Purchase Order and Processes it.
- Mike, a Sales Manager, prints some documents and realizes that the printer is running out of paper.
- He logs into the application and creates a new requisition for paper.
- Mary at the end of the day reviews the requisition and she reactivates it to set the correspondent vendor.
- After completing it again she creates a purchase order automatically from the requisition.
- Mary reviews the requisitions and watch one for product A.
- She goes to purchase order window and create a new one for product A.
- She returns to the requisition and links the newly created purchase order.
- As the Purchase Order is for more quantity that requested she closes the requisition.
- Mary reviews the requisitions and found one with several lines that is outdated.
- She close the requisitions so all the lines that still were opened are cancelled.
Functional requirements based on business processes
To achieve the desired functionalities are needed three windows and a new process:
- Requisitions: Based on existing window in MRP Management adapting to the new requirements. This window is used to enter new requisitions.
- Manage Requisitions: Based on the existing window in MRP Management adapting to the new requirements. This window is used to manage the completed requisitions, only the Purchase Manager should have access to it.
- Create Purchase Order from Requisitions: New manual window.
- Create Purchase Order: New button in Requisitions window.
|1.1||Ability to create new requisitions, minimum information is product, quantity and need by date||Must have||Completed|
|1.2||Ability to assign a requisition line to a preferred vendor||Nice to have||Completed|
|1.3||Block the requisition line when it has been completed||Should have||Completed|
|1.4||Ability to associate a requisition to a vendor and/or a price list||Should have||Completed|
|1.5||Ability to set a price for the product in the requisition line when no price list is selected in the header||Nice to have||Completed|
Manage Requisitions window
|2.1||Ability to manage the requisitions, close, reactivate,...||Must have||Completed|
|2.2||Ability to assign a requisition line to a preferred vendor||Nice to have||Completed|
|2.3||Ability to mark a requisition line when it has been ordered||Should have||Completed|
|2.4||Block the requisition line when the requisition has been completed||Should have||Completed|
|2.5||Ability to associate a requisition to a vendor and/or a price list||Should have||Completed|
|2.6||Ability to set a price for the product in the requisition line when no price list is selected in the header||Nice to have||Completed|
|2.7||Ability to associate existing purchase order lines to the requisition lines||Should have||Completed|
|2.8|| Ability to lock requisition lines when are being used. The requisition is automatically locked in two cases.
The lock has these attributes:
Create Purchase Orders from Requisition
|3.1||Ability to select requisition lines to create purchase order||Must have||Completed|
|3.2||Ability to select the vendor of the created purchase order||Must have||Completed|
|3.3||Ability to set the date of the Purchase Order.||Should have||Completed|
|3.4||If no date is set it takes the sooner date of selected lines||Nice to have||Not included|
|3.5||Ability to filter the requisition lines by product and date||Should have||Completed|
|3.6||Requisition appear grouped by product and ordered by date||Should have||Not included (1)|
Note (1): Not selected lines are ordered by need by date, product and attribute. Selected lines are grouped by vendor and price list.
Create Purchase Order process
|4.1||When the requisition doesn't have a vendor defined it takes the current vendor defined in the product||Must have||Completed|
|4.2||The process creates a purchase order line for each requisition line||Must have||Completed|
|4.3||The process creates only a purchase order for each necessary vendor with several lines||Should have||Completed|
|4.4||Ability to select the date of the Purchase Orders||Nice to have||Completed|
|4.5||Ability to select the vendor of the Purchase Orders. If a requisition line has a product not sold by the vendor the current vendor of that product is used||Nice to have||Completed|
|4.6||Output message with created Purchase Order's Document Numbers||Must have||Completed|
User Interface Mockups
- Create a new column in database to insert the button.
- Create a new procedure to create the purchase orders.