Material Requisitions (MR)
A Material Requisition (MR) is the formal demand from a project site to procure materials needed for execution. It is the starting point of the standard procurement cycle in JobNext — every material purchase begins with an MR. The MR captures what is needed, how much, and when, and validates these requirements against the approved job budget before allowing procurement to proceed.
MR Decision Flow
When an MR is created, the system takes it through a series of checks and decisions before it reaches procurement. The flowchart below shows the full decision path:
Flow Summary
- Create MR — Select job, add materials from the budget with quantities and rates.
- Budget Check — System validates the requested qty and rate against the job estimate. If the MR exceeds the budget, it is blocked until the quantity/rate is revised or the budget is amended.
- Stock Transfer? — If the MR is flagged as a stock transfer between jobs, it goes directly to a Stock Transfer Note (source job → destination job) without procurement.
- Approve MR — Manager authorisation through the configured approval workflow.
- Stock Available? — After approval, the system checks if the materials are available in existing stock. If yes, a Stock Issue Note is created (filled from stock). If no, an RFQ is created to procure from external vendors.
Creating a Material Requisition
- Navigate to the job’s MR section — Go to Operations → Jobs, select the relevant job, and open the Material Requisition tab. This ensures the MR is linked to the correct job and budget.
-
Click “Create New” — The system creates a new MR header with an auto-generated code in the format
MR/{JobCode}/{MRId}(e.g.,MR/MSD44/12345). - Enter MR description — Provide a meaningful title (e.g., “Phase 2 Structural Steel”, “Plumbing Fittings for Block A”). This appears in all downstream documents (RFQ, PO) for quick identification.
-
Add materials from budget — Click Add Item to add materials. You can select from the job’s budgeted materials (ensuring budget linkage) or add materials from the Material Master. The system uses
omni_sp_Projects_CreateMRFromBudgetto auto-populate items from the job estimate. - Set quantities and rates — For each material, enter the required quantity, UOM, estimated rate, and any line-item notes. The system validates these against the budget — if the quantity or value exceeds the remaining budget, the item is flagged.
- Choose MR type — If this is a stock transfer between jobs (moving existing materials from one job to another), check the Stock Transfer flag and select the source job. Otherwise, leave it as a standard procurement MR.
- Attach documents — Optionally attach drawings, specifications, or reference images to help approvers and procurement teams understand the requirement.
- Submit for approval — Save and submit the MR. It enters the approval workflow and is routed to the designated approver(s).
The system validates every MR line item against the approved material budget for the job. If the requested quantity × rate exceeds the available budget for that material, the MR is blocked. To proceed, either reduce the quantity/rate, or ask the project manager to amend the job budget to accommodate the additional requirement.
MR Header Fields
The MR header captures the overall requisition details. Stored in the omni_mr_header table.
| Field | Description | Required |
|---|---|---|
| MR Code | Auto-generated requisition code. Format: MR/{JobCode}/{MRId}. | Auto |
| MR Description | Free-text title describing the requisition purpose. | No |
| MR Date | Date the requisition was raised. Defaults to today. | Yes |
| Job | The job/project this MR belongs to. Determines the budget that is checked. | Yes |
| Is Stock Transfer | Flag indicating this MR is a transfer of materials between jobs (not a new purchase). | No |
| Transfer Source Job | If stock transfer, the job from which materials will be transferred. | If transfer |
| Is Collated MR | Flag indicating this MR was created by collating multiple MRs from different jobs for bulk procurement. | Auto |
| Collated To MR | If this MR was collated into another MR, the ID of the collated MR. | Auto |
| Is Filled From Stock | Flag indicating the MR was fulfilled from existing stock (no new purchase was needed). | Auto |
| Attachment | File attachments (drawings, specifications, reference documents). | No |
| Authorised Notes | Comments from the approver when approving or rejecting the MR. | No |
MR Line Item Fields
Each MR contains one or more line items representing individual materials needed. Stored in the omni_mr_detail table.
| Field | Description | Required |
|---|---|---|
| Material | Select from the Material Master. Includes material code, name, and specifications. Can be filtered to only show materials from the job’s budget. | Yes |
| Quantity | The quantity of material needed. Validated against the remaining budget quantity for this material in the job. | Yes |
| UOM | Unit of measurement, auto-populated from the Material Master (e.g., Kg, Nos, Mtr, Bag, Ltr). | Auto |
| Rate | Estimated unit rate for budget comparison. This is used for budget validation, not for actual procurement pricing (which comes from vendor offers). | No |
| Value | Computed: Quantity × Rate. Used for budget comparison. | Auto |
| Discount % | Optional line-level discount percentage. | No |
| Discount Amount | Computed discount amount based on the discount percentage. | Auto |
| Notes | Line-item notes for special instructions, preferred brands, grade specifications, or delivery details. | No |
Stock Transfer MR
A Stock Transfer MR is used when materials are needed at one job site but are already available at another. Instead of purchasing new materials, existing stock is transferred between jobs:
- When to use — A project has excess stock of a material that another project needs. Instead of raising an RFQ and buying new material, you transfer the existing stock.
- How it works — Set the
is_stock_transferflag to true and specify thetransfer_source_job_id(the job that has the surplus stock). On approval, the system creates a Stock Transfer Note instead of routing to procurement. - Costing — The transferred materials are valued at the inventory cost rate from the source job. The source job’s stock balance decreases and the destination job’s stock balance increases.
Stock transfers avoid the time and cost of the full procurement cycle (RFQ, vendor negotiation, PO, delivery). Use this feature proactively when jobs are winding down and have surplus materials that can benefit active projects.
Approval Workflow
MRs follow the organization’s configured approval workflow. The approval process ensures:
- The requested materials align with the project scope and are genuinely needed
- Quantities are reasonable and justified for the planned work
- The requisition fits within the approved budget
- Duplicate or redundant requests are identified and consolidated
- Delivery timelines are achievable and coordinated with the project schedule
Approval Actions
| Action | Result |
|---|---|
| Approve | MR status changes to Approved. Approval timestamp and approver are recorded. The MR becomes available for RFQ creation or stock issue. |
| Reject | MR is returned to the creator with comments (stored in authorised_notes). The creator can revise quantities/materials and resubmit. |
| Cancel | MR is cancelled. No further action is possible. The is_cancelled flag is set. |
An MR must be approved before it can be used to generate an RFQ, create a stock issue, or initiate a stock transfer. Draft or rejected MRs cannot proceed to the next step in the procurement workflow.
MR Status Lifecycle
| Status | Description | Next Actions |
|---|---|---|
| Draft | MR is being prepared. All fields are editable. Not yet submitted for approval. | Edit, Add Items, Submit, Cancel |
| Submitted | MR has been submitted and is awaiting manager approval. | Approve, Reject |
| Approved | MR has been approved. Ready for RFQ generation, stock issue, or stock transfer. | Create RFQ, Issue from Stock, Stock Transfer |
| Rejected | MR was returned with comments. Can be revised and resubmitted. | Edit, Resubmit, Cancel |
| Partially Ordered | Some line items have been converted to RFQs or POs. Remaining items still need action. | Create RFQ for remaining items |
| Fully Ordered | All line items have been converted to POs or fulfilled from stock. | View only |
| Filled from Stock | The entire MR was fulfilled from existing inventory via a Stock Issue Note. | View only |
| Cancelled | MR was cancelled. No further action possible. | View only |
From MR to RFQ
Once an MR is approved, the procurement team creates an RFQ from it. The process:
- Open the approved MR — Navigate to the MR and verify it is in Approved status.
- Click “Create RFQ” — The system creates a new RFQ and auto-populates it with the MR’s line items (material, quantity, UOM, notes). If some items already have POs, their quantities are automatically deducted.
- Add vendors and details — On the RFQ, add the vendors to send quotation requests to, set the offer window dates, and specify delivery details.
- MR status updates — The MR status changes to Partially Ordered (if some items remain) or Fully Ordered (if all items are covered).
A single MR can generate multiple RFQs. For example, if an MR contains both electrical and plumbing materials, you might create separate RFQs for each vendor category. Conversely, multiple MRs from different jobs can be collated into a single RFQ for bulk procurement leverage.
Filling from Stock
If the required materials are available in existing inventory, the MR can be fulfilled directly from stock without going through the procurement cycle:
- Open the approved MR — Navigate to the approved MR in the job’s Material Requisition section.
-
Click “Issue from Stock” — The system calls
omni_sp_scm_ConvertMRToMaterialIssueHeaderand creates a Stock Issue Note for the requested materials. - Stock is deducted — The issued quantities are deducted from the warehouse stock lots. The MR is marked as Filled from Stock.
MR Collation
Collation is the process of combining multiple MRs from different jobs into a single consolidated RFQ for bulk procurement. This gives the organization better negotiating power by consolidating demand:
- How it works — From the RFQ creation screen, use the Collate RFQ option to select multiple approved MRs from different jobs. The system creates a single RFQ containing all items from the selected MRs.
- Tracking — Each collated MR has the
is_collated_mrflag set and links to the consolidated MR viacollated_to_mr_id. This maintains traceability from the consolidated RFQ back to each original job-level MR. - When to use — When multiple jobs simultaneously need the same materials (e.g., cement, steel, electrical fittings), collation lets you combine the demand and negotiate a single large order, often securing better pricing than individual small orders.
Bulk MR Upload
For large requisitions or data migration, MR line items can be uploaded in bulk from a spreadsheet via the omni_upload_mr_detail staging table. This is faster than manually adding items one by one when an MR has dozens or hundreds of line items.
MR Tracking & Reports
Track the progress of MRs across the procurement chain:
| Report / View | Description |
|---|---|
| MR Status View | Real-time view of all MRs with their current status (from omni_vw_GetMRStatus). Shows draft, approved, ordered, and filled-from-stock MRs. |
| MR Issue Progress | Tracks how much of the MR has been issued from stock (from omni_vw_MR_IssueProgress). Shows requested qty vs. issued qty per item. |
| MR Tracking | End-to-end tracking from MR creation through RFQ, PO, and MRN (omni_sp_Projects_GetMRTracking). Shows the full procurement pipeline for each MR item. |
| MR Register | Comprehensive register of all MRs for a job or date range (omni_sp_reports_ProjectsGetMRRegister). |
| MR to MRN Report | End-to-end report from Material Requisition through to Material Receipt (omni_sp_reports_projects_MRtoMRN). |
MR from Sales Order
For trading scenarios, an MR can also be automatically generated from a customer Sales Order using omni_sp_scm_CreateMRFromSalesOrder. This creates an MR with the materials and quantities specified in the sales order, linking procurement directly to customer demand.
Best Practices
- Plan requisitions early — Raise MRs well in advance of the required delivery date. The full cycle (MR → Approval → RFQ → Offers → PO → Delivery) typically takes 2–4 weeks for standard materials and longer for specialty items.
- Use budget-linked materials — Always add materials from the job’s budget rather than directly from the Material Master. This ensures budget tracking and prevents over-procurement.
- Group related materials — Consolidate materials that will likely come from the same vendor type (e.g., all plumbing fittings in one MR, all electrical items in another) for procurement efficiency.
- Check existing stock first — Review the Stock Statement report before raising an MR. Materials may already be available in the job’s warehouse or at another job site (use stock transfer instead of procurement).
- Include detailed specifications — Add specifications, grades, brands, or reference drawings in line-item notes. This reduces vendor queries and ensures correct material delivery.
- Leverage collation — If multiple jobs need the same material, coordinate with other project teams to submit MRs around the same time, enabling the procurement team to collate and negotiate bulk discounts.
- Monitor MR ageing — Use the MR Tracking report to identify approved MRs that have been sitting without RFQ action. Delayed MRs lead to delayed deliveries and project schedule impacts.