Batch Requisition Approval

Target release3.2

OLMIS-2187 - Getting issue details... STATUS

Document status


Document owner
Technical LeadNick Reid (Deactivated)


  • Provide a way to review and edit information on the requested and calculated order quantities across multiple requisitions waiting for approval. 
  • Ability to see total cost for the selected requisitions (batch of requisitions in the view) to support budgetary decision making.
  • Allow for review of requisitions from all facilities within a geographic/administrative area


An implementation raised the need to view across requisitions versus approving requisitions one by one.


  • Users will need the appropriate supervisory rights to approve
  • All requisitions must be from the same program

User Stories

#TitleUser StoryLabelImportanceNotesJIRA Ticket
1Batch Approval for Requisitions

As a district-level (or any mid-level) requisition approver, 
I want to review and adjust all the requisitions for my supervisory node at once 
So that I can more efficiently review, adjust approved quantities, and fit within budget guidelines.

  • able to see the total order quantities and cost for all the facilities selected so that I can ensure the total is within the district budget.
  • see what each facility is requesting per commodity so that I can make adjustments to ensure the total is within the district budget.
  • total costs update when adjustments are made
MalawiNice to have

Core placeholder, implemented in Malawi

OLMIS-2187 - Getting issue details... STATUS

Offline support

As a requisition approver, I want to start my approval process and be able to work on it over a number of sessions to approve the entire budget.

This requires that I am able to work on the page while offline, and that I can trust the data will not disappear or become lost when turning off the computer.

OLMIS-3072 - Getting issue details... STATUS

Findable errorsAs a requisition approver, I need to be able to view and remove errors from the large table that is hard to navigate.

OLMIS-3181 - Getting issue details... STATUS

Open Questions


Really large table

The batch requisition screen can be extremely large. Malawi estimates that a DIVO might have 20 facilities to approve, and some programs with over 300 orderables.

There is no internal navigation to orient the user (ie how does a user find a specific orderable, or facility)

  • Would a user want to search, sort, or filter the list of orderables
  • Is there a simpler way to display so much data
  • Can groups of data be made to allow a user to "open" collapsible areas of content
  • Would adding pagination to the table make it easier for a user to read and understand?

Open Tickets

key summary type created updated due assignee reporter priority status resolution


Here is a high-level overview of the batch approval process:

District-level requisition approver has approval role for the Essential Meds Program and the following Supervisory nodes:

Requisitions are submitted and authorized for the Essential Meds program for different facilities:

Go to LMIS Forms > Approve, to view all requisitions awaiting approval. 

Select the checkbox next to the requisitions that will be approved. Then click "View selected LMIS forms" button at the bottom of the page to compare both requisitions before approving.

This is the Batch Approval screen. If there are many requisitions, the user can scroll to the right to view more information. The Product Code, Product, Total Quantity and Total Cost columns on this page are sticky columns; so they remain visible on the page while the user is scrolling. The user can edit the approved quantities for any requisitions on this page. The total cost for each requisition and the total for both requisitions appear on the bottom of this page as well. The user has the option to Revert or Approve these requisitions using the buttons shown below.


Refactor of validators so approval can be done in batch

MW-397 - Getting issue details... STATUS

Out of Scope

  • Other roadmap features also called "Aggregate Requisitions" have been discussed but are not part of this current ticket. That includes the following:

    • Creating a new, aggregate requisition that will go through its own submission/authorization/approval workflow (including using its own higher level set of supervisory nodes).
    • Aggregating multiple requisitions from facilities in this geographic region up into a new, single requisition that the region will send to the next level up, such as to the central warehouse.
    • Aggregating a group of requisitions that are for different programs together into a single requisition that encapsulates multiple programs.
  • More extensive budgeting features
  • Including facility or district level budgets
  • Rationing SOPs/rules
  • Validation for adjustments

OpenLMIS: the global initiative for powerful LMIS software