External Fulfillment

External Fulfillment



Target release

Epic

https://openlmis.atlassian.net/browse/OLMIS-639

Document status

DRAFT

Document owner

@Sam Im (Deactivated)

Technical Lead

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

#

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

https://openlmis.atlassian.net/browse/OLMIS-401

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

https://openlmis.atlassian.net/browse/OLMIS-829

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

https://openlmis.atlassian.net/browse/OLMIS-227

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

https://openlmis.atlassian.net/browse/OLMIS-1386

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

https://openlmis.atlassian.net/browse/OLMIS-988

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

https://openlmis.atlassian.net/browse/OLMIS-1467

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

https://openlmis.atlassian.net/browse/OLMIS-350

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

https://openlmis.atlassian.net/browse/OLMIS-240

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

https://openlmis.atlassian.net/browse/OLMIS-1555



Known Bugs







https://openlmis.atlassian.net/browse/OLMIS-2827

https://openlmis.atlassian.net/browse/OLMIS-2828

https://openlmis.atlassian.net/browse/OLMIS-2837

https://openlmis.atlassian.net/browse/OLMIS-2724

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

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

  1. One order file generated per Requisition

  2. Quantity Ordered = Packs to ship

  3. Any product with Quantity Ordered as zero is excluded from the file

  4. 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

  1. One Shipment file can accept multiple orders

  2. If any order has error, complete file is errored out

  3. Any other columns in shipment file are ignored

  4. Mandatory fields required for success processing

  5. Valid Order number, Product code is checked

  6. Quantity Shipped – If decimal,is trimmed to Integer and accepted

  7. File with duplicate entry of order number and product code combination – Accept the last entry





Dependencies

Description

Link

Description

Link



Open Questions

Below is a list of questions to be addressed as a result of this requirements document:

Question

Outcome

Status

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