Purchase Requisitions
Purchase Requisitions (PRs) are internal requests to buy goods or services. They capture what is needed, who needs it, and why, before procurement creates a Purchase Order (PO) or runs a competitive Request for Quotation (RFQ).
Availability and access
Purchase requisitions are a feature-gated capability. Your organization must enable requisitions in procurement settings. If the feature is off, create and list actions return an error and the module is hidden from typical workflows.
Who sees what: Tenant owners and tenant administrators see all requisitions. Other users see requisitions they created or requisitions where they are the current pending approver on an approval step.
The index supports filters for status, urgency, department, and text search (PR number or title).
Creating a requisition
Open Requisitions and choose Create. The form is backed by structured validation: you need at least one line, a title, a department, urgency, and (when your tenant requires it) a justification.
Header fields
| Area | Purpose |
|---|---|
| Title | Short name for the request (required). |
| Description | Optional narrative context for reviewers. |
| Justification | Business case; required when require_justification is enabled for the tenant. |
| Department | Cost center or owning unit (required). Defaults to your user’s department when applicable. |
| Project | Optional link to an active project. |
| Request type | Optional; classifies the kind of request (e.g. capex vs opex style), using active request types. |
| Spend category | Optional classification (active spend categories). |
| Suggested vendor | Optional preferred supplier at header level (active vendors). |
| Urgency | One of low, normal, high, critical. |
| Needed by | Optional target date (must be after today when provided). |
| Currency | Optional; defaults to SAR on update when omitted. |
Line items
Each line requires:
- Description (required)
- Quantity (greater than zero)
- Estimated unit price (non-negative)
- Optional unit, category, suggested vendor, specifications, and notes
Line totals roll up to the requisition estimated total.
Supporting documentation
The standard PR API captures rich text in description, justification, specifications, and notes. Use these fields to reference drawings, catalogue numbers, or external documents. If your tenant adds file uploads to the requisition UI, use those controls for binary attachments; otherwise keep references explicit in text so approvers can audit the request.
Statuses
Requisitions move through discrete states:
| Status | Meaning |
|---|---|
| draft | Editable by the requester; not yet in the approval chain. |
| submitted | Submitted and moving into workflow handling. |
| pending_approval | Waiting on the current approval step. |
| approved | Cleared for sourcing (PO or RFQ). |
| rejected | Closed negatively by an approver. |
| converted_to_rfq | Linked to an RFQ for competitive quotes (see below). |
| converted_to_po | Linked to a created purchase order. |
| cancelled | Withdrawn by policy. |
Submit for approval
While status is draft and you are the requester, you can submit the requisition. Submission creates or advances the approval workflow (implementation depends on configured workflows and request types). If submission fails (for example, no workflow match), the UI surfaces an error.
Approval, rejection, and return
Approvers are determined per step. The user who matches the current pending approval row may:
- Approve — optional comments (up to 1000 characters).
- Reject — reason required; ends the request negatively.
- Return for revision — reason required; sends the requisition back so the requester can correct it.
Only the designated approver for the active step can perform these actions.
Editing and cancellation
- Edit is allowed only in draft, and only for the original requester. Lines can be added, updated, or removed; totals are recalculated on save.
- Cancel is available for draft, submitted, or pending_approval states. The requester or a tenant admin may cancel. Successful cancellation redirects to the requisition list.
Convert to Purchase Order
When a requisition is approved, has no PO yet, and your role is tenant owner or tenant admin, you can convert to PO. The action requires selecting a vendor. On success, you are redirected to edit the new purchase order to finalize commercial terms and lines.
Convert to RFQ (competitive sourcing)
For approved requisitions without an RFQ link yet, the data model and services support creating an RFQ that copies PR lines, sets purchase_requisition_id, invites vendors, and moves the PR to converted_to_rfq with rfq_id populated. That path requires RFQ to be enabled for the tenant. Use your organization’s UI entry point (or coordinate with procurement) to trigger conversion when available; the lifecycle outcome is traceable on the PR detail (linked RFQ).
Tips for requesters
- Align department and category with finance rules to avoid rework.
- Use urgency honestly; it affects prioritization and reporting.
- Keep justification concise and decision-oriented when the field is mandatory.
- After return for revision, update lines or text, then resubmit when the workflow allows.
Related topics
- Purchase Orders — fulfillment after approval or RFQ award.
- RFQs — competitive quotations when RFQ is enabled.