External Fulfillment
Goals/Scope
- The goal of this requirements page is to document the feature of External Fulfillment and the associated user stories. External Fulfillment is the process of exporting a file to be filled using an external order handling system such as an ERP.
- Configure FTP
- Convert requisition to an order
- Exporting an order file
- Shipment File
Background
Assumptions
User Stories
# | Title | User Story | Label | Importance | JIRA Tickets |
---|---|---|---|---|---|
1 | Configure Order File Template | As an implementor, I want to configure the order file template so that my order files are generated with my desired columns and formats to enable transfer of data via an FTP. Acceptance Criteria: See JIRA ticket for more details. | Must Have | ||
2 | Configure Order Number for Export | As an implementor, I want to configure how order numbers are generated so that order numbers follow an to match the expected input for the ERP system. Acceptance Criteria: See JIRA ticket for details. | Must Have | ||
3 | Configurable FTP or local file folder properties | As an implementor, I want to set up the transfer properties (either FTP or local folder) by facility so that I can transfer order files via FTP/local folder for external fulfillment. In the end, the file will be consumed by an external ERP system. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
4 | Assign supplying depot | As a warehouse clerk, I want to assign a supplying depot to an approved requisition (final state before 'released') so that an order entity can be generated based on the order number template and order file template. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
5 | Add Configuration Settings for External Fulfillment | As an implementor, I want to edit fulfillment configuration so that I can manage configuration settings as needed. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
6 | View list of approved requisitions | As a warehouse clerk, I want to view the list of approved requisitions so that I can take the steps to convert requisitions to orders. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
7 | Notify requisition creator upon convert to order | As the requisition creator I want to receive notification when a requisition is converted to order so I know that the order is being processed. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
8 | Transfer Order file via FTP and Error Handling | As a warehouse clerk, I want the order file to transfer via FTP when there are FTP details available for the selected fulfillment warehouse so that the appropriate warehouse receives the orders and can send the correct stock. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
9 | Change Order status to Shipped | As a warehouse clerk I want an order status updated so that it reflects that the order has been shipped. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
10 | Create a POD from an Order | As OpenLMIS, I want to create and persist a POD populated with the data from the Order so that I can show the POD data to any client that asks for it; for example, the 'manage the POD' screen. Acceptance Criteria: See JIRA ticket for details | Must Have | ||
Known Bugs |
Diagrams
The following diagram for Fulfillment shows the two business process workflows for Convert to Order and Manage PODs.
Order file
Order File format
Fields | Labels |
---|---|
Order Number | Order Number |
Facility Code | Facility Code |
Product Code | Product Code |
Quantity Ordered | Quantity Ordered |
Pack Size | Pack Size |
Order file Name
Order file is generate with name ‘O’ + order number.csv
Validations
- One order file generated per Requisition
- Quantity Ordered = Packs to ship
- Any product with Quantity Ordered as zero is excluded from the file
- If Quantity Ordered for all product in an order is zero no file is generated
Insert the updated Order diagram here
Shipment file
Shipment File format
Fields | Labels | Mandatory? |
---|---|---|
Order Number | Order Number | Y |
Product Code | Product Code | Y |
Quantity Shipped | Quantity Shipped | Y |
Shipment file Name
Any file with .csv extension is Picked up for processing from configured folder
Validations
- One Shipment file can accept multiple orders
- If any order has error, complete file is errored out
- Any other columns in shipment file are ignored
- Mandatory fields required for success processing
- Valid Order number, Product code is checked
- Quantity Shipped – If decimal,is trimmed to Integer and accepted
- File with duplicate entry of order number and product code combination – Accept the last entry
Dependencies
Description | Link |
---|---|
Open Questions
Below is a list of questions to be addressed as a result of this requirements document:
# | Question | Outcome | Status |
---|---|---|---|
1 |
Out of Scope
- Stock Management is out of scope.
- Generating order file and placing it on configured FTP server.
- Logic to place file as per supplying depot.
OpenLMIS: the global initiative for powerful LMIS software