Ctrl+K

Material Requisition

A Material Requisition (MR) is the formal request from a project site for materials needed during execution. MRs are the starting point of the procurement cycle — they link material needs back to the job budget and drive the downstream RFQ, Purchase Order, and Material Receipt processes.

Material requisition workflow from creation to purchase order
Material Requisition workflow — from site need through approval, stock check, and procurement (RFQ → PO → MRN).

MR Header Fields

Each MR is stored in omni_mr_header (23 columns):

FieldDB ColumnTypeDescription
MR Code mr_code varchar Auto-generated unique requisition number
Description mr_desc varchar Purpose or description of the requisition
MR Date mr_date datetime Date the requisition was raised
Job job_id int (FK) The project requesting materials
Authorised By authorised_by / authorised_on int / datetime Approver and approval timestamp
Authorised Notes authorised_notes varchar Comments from the approver
Is Collated is_collated_mr bit Whether this MR was merged from multiple individual MRs
Collated To collated_to_mr_id int (FK) Parent MR ID if this MR was collated into another
Filled from Stock is_filled_from_stock bit Materials fulfilled from existing inventory (no purchase needed)
Stock Transfer is_stock_transfer bit Inter-site transfer (source job specified in transfer_source_job_id)
Is Cancelled is_cancelled bit Soft-delete flag
Attachment attachment / dms_document_id varchar / int Supporting documents attached to the MR

MR Detail Fields

Each line item in the MR is stored in omni_mr_detail (11 columns):

FieldDB ColumnTypeDescription
Material material_id int (FK) Material from the Material Master catalog
UOM item_uom int (FK) Unit of measure for the material
Quantity item_qty money Quantity requested
Rate item_rate money Estimated unit rate (optional, from last purchase or rate contract)
Value item_value money Estimated total: qty × rate
Discount % item_discount_percent float Expected discount percentage
Notes notes varchar Line-item specific notes or specifications
Material Requisition tab showing MR listing with status and action buttons
Material Requisition tab — MR listing with code, description, date, created by, and status columns, plus Collate and Add MR buttons.

Creating a Material Requisition

  1. Navigate to the Job and click Material Requisition (or access from Operations → Material Requisition)
  2. Click Add MR
  3. Fill in the MR header:
    • Job — select the project
    • MR Date — date of the request
    • Description — purpose of the requisition
  4. Add material line items:
    • Select Material from the Material Master dropdown
    • Enter Quantity needed
    • Optionally enter estimated Rate and any Notes
  5. Attach supporting documents if required
  6. Click Submit to send for approval
Budget Check: When an MR is submitted, the system checks the requested materials against the approved estimate budget. If the MR would exceed the budget, a warning is raised for the approver.

MR Approval

After submission, the MR goes through the configured approval workflow:

ActionResult
Approve MR is authorized. Proceeds to procurement or stock fulfillment.
Reject MR is sent back to the requester with notes. Can be revised and resubmitted.

Fulfillment Options

Once approved, there are three ways to fulfill an MR:

OptionWhen to UseNext Step
Fill from Stock Materials are available in the project or central warehouse Material Issue from stock → delivered to site
Stock Transfer Materials are available at another project site Inter-site transfer (transfer_source_job_id set)
Procure (RFQ → PO) Materials need to be purchased from vendors RFQPurchase OrderMRN
Collated MRs: Multiple small MRs from the same or different jobs can be collated into a single combined MR. This enables bulk procurement, better vendor negotiation, and reduced purchase order overhead. Use the is_collated_mr flag to identify collated MRs.

MR Lifecycle

StateDescriptionActions
Draft MR created, items being added Edit, add items, submit
Submitted Sent for approval Approve, reject
Approved Authorized for fulfillment Fill from stock, create RFQ, stock transfer
In Process RFQ/PO raised, procurement in progress Track PO status, receive materials
Fulfilled All items received or issued View only
Cancelled MR no longer needed (is_cancelled = 1) View only (audit trail preserved)

Integration with Other Modules

ModuleHow MR Connects
Estimates MR quantities checked against material budget from approved estimates
Procurement (SCM) Approved MR triggers RFQ → PO cycle in the Procurement module
Logistics Stock fulfillment via Material Issue; procurement via MRN
Finance PO and MRN generate accounting voucher entries for cost tracking
Dashboard MR status and material spend visible on Job Dashboard KPIs
Important: MRs should always be raised against the correct job. The material budget validation, cost tracking, and reporting all depend on accurate job assignment. Cross-job material transfers use the Stock Transfer option with the source job specified.