Skip to main content
This page lists all IT purchase requests and provides filtering tools. Navigate to it at /it/procurement.

Overview

The Purchase Requests page displays a filtered list of purchase requests using the PurchaseRequestTable 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 requires IT_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.view permission to see this page.

Steps

  1. Navigate to IT > Purchase Requests, or go directly to /it/procurement.
  2. Use the search box to find requests by title or number.
  3. Use the Status, Type, and Priority filters to narrow results.
  4. Click a request row to open its detail page.
  5. 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.
  1. Navigate to IT > Purchase Requests and click a request row, or navigate directly to /it/procurement/:id.
  2. Review Request Details: type, priority, quantity, needed-by date.
  3. Review Vendor & Pricing: vendor name, unit cost, and calculated total cost.
  4. Review Budget & Justification: budget code, delivery site, and business justification.
  5. Review Approval History: creation, submission, and approval timestamps.
  6. 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).
Key fields:
  • approval_status — lifecycle values: draft, submitted, pending_approval, approved, rejected.
  • request_typehardware | software | service | other.
  • prioritylow | 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.
SME: The full wizard step definitions live in src/cores/it/components/procurement-wizard. The steps were not enumerated in the source — please verify and update this document.
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.
  1. Navigate to IT > Purchase Requests and click New Request, or go directly to /it/procurement/new.
  2. Follow the procurement wizard steps to enter request details.
  3. Complete all required fields and click the wizard’s final confirmation action.
  4. 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.
  1. Navigate to /it/procurement/:id/edit from the procurement list or detail page. If the request is not in draft status, you will be redirected automatically to the detail view.
  2. Complete or modify the ProcurementWizard steps to update the purchase request.
  3. Upon successful completion, the page navigates to the updated request’s detail page.
Key concepts:
  • ProcurementWizard — Multi-step wizard component shared between create and edit flows for purchase requests.
  • approval_status — Only draft requests are editable; all other statuses are read-only.
  • Navigate replace — Non-draft requests are redirected without adding to browser history.

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.
  • 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