/it/procurement.
Overview
The Purchase Requests page displays a filtered list of purchase requests using thePurchaseRequestTable component. Filters include search, status, request type, and priority. The New Request button navigates to /it/procurement/new. This page wraps content in a RequirePermission check for it.procurement.view in addition to the outer module guard.
Who it’s for
This route requiresIT_PERMISSIONS.VIEW (it.view) via the module-level ITViewGuard and an inner RequirePermission for it.procurement.view.
Before you start
- You must have the
it.procurement.viewpermission to see this page.
Steps
- Navigate to IT > Purchase Requests, or go directly to
/it/procurement. - Use the search box to find requests by title or number.
- Use the Status, Type, and Priority filters to narrow results.
- Click a request row to open its detail page.
- Click New Request to submit a new purchase request.
Key concepts
- approval_status — lifecycle state of the request (draft, submitted, pending_approval, approved, rejected).
- request_type — classification: hardware, software, service, or other.
- priority — low, normal, high, or urgent.
Viewing a request
The Request Details page (/it/procurement/:id) shows the request number, title, approval status badge, request type, priority, quantity, needed-by date, vendor, pricing (unit cost and total cost), budget code, delivery location, business justification, and approval history timestamps. Draft requests show Edit, Submit for Approval, and Delete actions. Non-draft requests are read-only.
The list page requires it.procurement.view; the detail page has no additional per-route permission beyond the outer module guard.
- Navigate to IT > Purchase Requests and click a request row, or navigate directly to
/it/procurement/:id. - Review Request Details: type, priority, quantity, needed-by date.
- Review Vendor & Pricing: vendor name, unit cost, and calculated total cost.
- Review Budget & Justification: budget code, delivery site, and business justification.
- Review Approval History: creation, submission, and approval timestamps.
- If the request is in Draft status:
- Click Edit to modify it.
- Click Submit for Approval to advance it through the approval workflow.
- Click the delete icon to remove the request (with confirmation dialog).
- approval_status — lifecycle values:
draft,submitted,pending_approval,approved,rejected. - request_type —
hardware | software | service | other. - priority —
low | normal | high | urgent. - total_cost — computed as
quantity * unit_cost. - rejection_reason — displayed when a request is rejected.
Creating a request
The New Request page (/it/procurement/new) hosts the ProcurementWizard component. On completion the user is navigated to the new request’s detail page at /it/procurement/:id; on exit the user returns to /it/procurement.
Before you start: identify the type of request (hardware, software, service, or other); have vendor information and estimated unit cost available if known; know the budget code and delivery site if applicable.
Permission required: IT_PERMISSIONS.VIEW (it.view). The Purchase Requests list page additionally requires it.procurement.view; confirm whether the new-request form enforces the same permission.
- Navigate to IT > Purchase Requests and click New Request, or go directly to
/it/procurement/new. - Follow the procurement wizard steps to enter request details.
- Complete all required fields and click the wizard’s final confirmation action.
- On success you are redirected to the new request’s detail page.
Editing a request
The Edit Request page (/it/procurement/:id/edit) is only available for draft requests. If the request’s approval_status is not draft, the page immediately redirects to /it/procurement/:id using <Navigate replace>. For draft requests, the ProcurementWizard component is used. On completion, the user is navigated to the purchase request detail page. An error card is shown if the request cannot be loaded.
Permission required: IT_PERMISSIONS.VIEW via the outer ITViewGuard. No additional per-route gate.
- Navigate to
/it/procurement/:id/editfrom the procurement list or detail page. If the request is not indraftstatus, you will be redirected automatically to the detail view. - Complete or modify the
ProcurementWizardsteps to update the purchase request. - Upon successful completion, the page navigates to the updated request’s detail page.
- ProcurementWizard — Multi-step wizard component shared between create and edit flows for purchase requests.
- approval_status — Only
draftrequests are editable; all other statuses are read-only. - Navigate replace — Non-draft requests are redirected without adding to browser history.
Related
IT Service Management
IT Service Management overview.
Governance & parity
This page documents shipped product behavior. It is not medical, legal, or
billing advice. Verify against your organization’s policies and applicable
regulations before using it for clinical, compliance, or billing decisions.
Protected health information (PHI) shown in the product is governed by your
tenant’s access controls and is never exposed in this documentation.
Documentation sources
Documentation sources
- src/routes/it.tsx
- src/cores/it/pages/procurement/PurchaseRequestListPage.tsx
- src/cores/it/pages/procurement/PurchaseRequestDetailPage.tsx
- src/cores/it/pages/procurement/NewPurchaseRequestPage.tsx
- src/cores/it/pages/procurement/EditPurchaseRequestPage.tsx
- src/cores/it/hooks/usePurchaseRequests.ts
- src/cores/it/hooks/usePurchaseRequest.ts
- src/cores/it/hooks/usePurchaseRequestMutations.ts
- src/cores/it/components/procurement/PurchaseRequestTable.tsx
- src/cores/it/components/procurement-wizard/index.ts