Personal Equipment Requests¶
Last Updated: March 2026 Target Audience: All Employees, HR
Overview¶
The Personal Equipment Request module lets employees request work-related personal equipment (uniforms, PPE, tools, etc.) through a formal approval workflow. Employees create a request, list the items they need, and HR reviews and approves or cancels it. Once approved, HR validates and tracks each individual equipment allocation through its full lifecycle -- from issuance to expiration.
The module is provided by the OCA (Odoo Community Association) and lives under Employees > Personal Equipment in the main menu.
How It Works at a Glance¶
There are two connected records in this system:
- Equipment Request -- The container submitted by an employee. It holds one or more equipment line items and goes through a simple Draft / Accepted / Cancelled workflow.
- Equipment Allocation -- Each individual line item within a request. Allocations have a more detailed lifecycle: Draft > Accepted > Valid > Expired.
When HR accepts a request, all of its line items move to "Accepted" at the same time. From there, HR validates each allocation individually (marking it as issued) and can later expire it when the item is returned or no longer valid.
Menu Location¶
Navigate to: Employees > Personal Equipment
Under that menu you will find two sub-items:
| Menu Item | What It Shows |
|---|---|
| Personal Equipment Request | All equipment requests (defaults to showing Draft and Accepted) |
| Allocations | All individual equipment allocations (defaults to showing Valid items) |
Setting Up Products as Personal Equipment¶
Before anyone can request equipment, the products must be flagged in the system.
- Go to Inventory > Products > Products (or wherever products are managed).
- Open the product you want to make available for equipment requests.
- Check the Is Employee Personal Equipment checkbox (appears near the "Can be Sold" / "Can be Purchased" checkboxes).
- Save the product.
Once checked, the product becomes selectable in equipment request line items. A new tab called Employee Personal Equipment also appears on the product form for future extensibility.
Tip
Only products with the "Is Employee Personal Equipment" flag will appear in the product dropdown when creating equipment request lines. If you cannot find a product, go back to the product form and enable this checkbox.
Equipment Request Fields¶
The request form is the main record an employee fills out.
| Field | What It Means | Example |
|---|---|---|
| Employee | The employee making the request. Defaults to the current user. HR users can change this to submit on behalf of someone else. | John Smith |
| State | Current status of the request: Draft, Accepted, or Cancelled. | Draft |
| Observations | Free-text notes visible only to HR users. Use this for internal comments about the request. | "Rush -- starts Monday" |
| Allocations (count) | Stat button showing how many line items are on the request. Click to view them. | 3 |
| Personal Equipment (lines) | The embedded list of equipment items being requested. | See table below |
Equipment Line Item Fields (within a request)¶
Each line in the "Personal Equipment" tab represents one item being requested.
| Field | What It Means | Example |
|---|---|---|
| Product | The equipment item. Only products flagged as personal equipment appear here. | Safety Glasses |
| Quantity | How many of this item are needed. Defaults to 1. | 2 |
| Unit of Measure | Auto-filled from the product. Can be changed to another UoM in the same category. | Units |
| Start Date | When the allocation begins. Only visible to HR users. Can be set manually or auto-filled when validated. | 03/03/2026 |
| State | Current status of this individual allocation. Read-only on the request form. | Draft |
Equipment Allocation Fields¶
When you open an allocation record directly (from the Allocations menu or the stat button), you see the full form.
| Field | What It Means | Example |
|---|---|---|
| Employee | Inherited from the parent request. Read-only. | John Smith |
| Product | The equipment item. | Steel-Toe Boots |
| Quantity | Number of items allocated. | 1 |
| Unit of Measure | UoM for the product. | Pair |
| Equipment Request | Link back to the parent request record. | Personal Equipment Request by John Smith |
| Start Date | Date the allocation becomes active. Auto-set to today when validated (if not already set). | 03/03/2026 |
| Expiry Date | Date the allocation expired. Only visible once the allocation is in "Expired" state. Auto-set to today if not already set when expired. | 09/03/2026 |
| State | Full lifecycle status: Draft, Accepted, Valid, or Expired. | Valid |
Request Workflow¶
States¶
| State | Color in List | Meaning |
|---|---|---|
| Draft | Default (no color) | Request has been created but not yet reviewed by HR |
| Accepted | Green | HR has approved the request; allocations are ready to be validated |
| Cancelled | Gray (muted) | Request was declined or withdrawn |
Workflow Diagram¶
Actions¶
| Action | Who Can Do It | When Available | What Happens |
|---|---|---|---|
| Accept | HR users only | Request is in Draft | Request moves to Accepted; all line items also move to Accepted |
| Cancel | Any user | Request is in Draft | Request moves to Cancelled; all line items also move to Cancelled |
Warning
Cancelling a request cancels all equipment lines on it at once. There is no way to cancel individual lines from the request level -- you would need to manage allocations individually after acceptance.
Allocation Workflow¶
States¶
| State | Color in List | Meaning |
|---|---|---|
| Draft | Default (no color) | Part of a request that has not been accepted yet |
| Accepted | Blue | Request was accepted; allocation is awaiting validation (physical handoff) |
| Valid | Green | Equipment has been issued to the employee and is currently active |
| Expired | Red | Equipment has been returned, worn out, or is no longer valid |
| Cancelled | Gray (muted) | Allocation was cancelled along with its parent request |
Workflow Diagram¶
Actions¶
| Action | Who Can Do It | When Available | What Happens |
|---|---|---|---|
| Validate | HR users only | Allocation is in Accepted | Moves to Valid; sets Start Date to today if not already set |
| Expire | HR users only | Allocation is in Valid | Moves to Expired; sets Expiry Date to today if not already set |
Note
Allocations cannot be created directly -- they are always created as line items within an Equipment Request. The allocation list view has create="0" enforced.
Common Tasks¶
Requesting Equipment (Employee)¶
- Go to Employees > Personal Equipment > Personal Equipment Request.
- Click New.
- The Employee field defaults to your own record. Leave it as-is.
- In the Personal Equipment tab, click Add a line.
- Select the product from the dropdown, set the quantity, and adjust the unit of measure if needed.
- Repeat for additional items.
- Click Save.
- Your request is now in Draft and waiting for HR review.
Approving a Request (HR)¶
- Go to Employees > Personal Equipment > Personal Equipment Request.
- The list defaults to showing Draft and Accepted requests.
- Open the request you want to review.
- Optionally add notes in the Observations tab.
- Click Accept in the header.
- Confirm the dialog prompt.
- The request and all its line items move to Accepted.
Validating an Allocation (HR)¶
After a request is accepted, each allocation must be validated individually to confirm the equipment has been physically issued.
- Open the accepted request.
- Click the Allocations stat button (or go to Employees > Personal Equipment > Allocations).
- Open an allocation in Accepted state.
- Optionally set a Start Date (if left blank, today's date is used automatically).
- Click Validate.
- The allocation moves to Valid.
Expiring an Allocation (HR)¶
When equipment is returned, worn out, or needs to be replaced:
- Go to Employees > Personal Equipment > Allocations.
- Filter to Valid allocations (this is the default filter).
- Open the allocation you want to expire.
- Click Expire.
- The allocation moves to Expired and the Expiry Date is set to today (if not already set).
Cancelling a Request¶
- Open the request while it is still in Draft.
- Click Cancel.
- Confirm the dialog prompt.
- The request and all its line items move to Cancelled.
Tip
Only Draft requests can be cancelled. Once a request has been accepted, you cannot cancel it from the request level. Instead, manage individual allocations by expiring them.
Employee Profile Integration¶
The module adds two stat buttons to the Employee form (visible when the employee has relevant records):
| Button | Label | What It Shows |
|---|---|---|
| PE Request | Count of equipment requests | Opens a list of all equipment requests for that employee, grouped by state |
| PE | Count of active personal equipment | Opens a list of all personal equipment allocations for that employee (excludes Draft and Cancelled), grouped by state |
To view an employee's equipment:
- Go to Employees > Employees.
- Open the employee record.
- Look for the PE Request or PE stat buttons in the button box at the top.
- Click either button to see the relevant records.
Searching and Filtering¶
Request List Filters¶
| Filter | What It Shows |
|---|---|
| In Draft | Requests waiting for HR review |
| Accepted | Requests that have been approved |
Both filters are enabled by default when you open the request list, so you see all active (non-cancelled) requests.
HR users can also search by Employee name.
Allocation List Filters¶
| Filter | What It Shows |
|---|---|
| In Draft | Allocations not yet accepted |
| Accepted | Allocations accepted but not yet validated |
| Valid | Currently active allocations (default filter) |
| Expired | Allocations that have been expired |
Allocation Group By Options¶
| Group By | Description |
|---|---|
| State | Groups allocations by their current status |
| Product | Groups allocations by equipment item |
| Employee | Groups allocations by the assigned employee |
Security & Access¶
Record-Level Rules¶
| Rule | Applies To | Effect |
|---|---|---|
| Self-access (Requests) | All internal users (base.group_user) |
Employees can only see their own equipment requests |
| Full access (Requests) | HR Officers (hr.group_hr_user) |
HR users can see all equipment requests from all employees |
| Self-access (Allocations) | All internal users (base.group_user) |
Employees can only see allocations linked to their own requests |
| Full access (Allocations) | HR Officers (hr.group_hr_user) |
HR users can see all allocations from all employees |
| Delete restriction | Global (all users) | Equipment allocations can only be deleted when in Draft state |
Model-Level Permissions¶
| Model | Group | Read | Write | Create | Delete |
|---|---|---|---|---|---|
| Equipment Request | HR Officers | Yes | Yes | Yes | No |
| Equipment Request | Internal Users | Yes | Yes | Yes | No |
| Equipment Allocation | HR Officers | Yes | Yes | Yes | Yes |
| Equipment Allocation | Internal Users | Yes | Yes | Yes | Yes |
Warning
Equipment requests cannot be deleted by anyone (no group has delete permission). If a request was created in error, cancel it instead. Equipment allocations can only be deleted while still in Draft state due to the global record rule.
Button Visibility¶
Certain actions are restricted in the UI based on user group:
| Element | Restricted To | Notes |
|---|---|---|
| Accept button (request) | HR Officers | Only HR can approve requests |
| Validate button (allocation) | HR Officers | Only HR can confirm equipment was issued |
| Expire button (allocation) | HR Officers | Only HR can expire allocations |
| Employee field (request form) | HR Officers | Regular employees cannot change the employee field |
| Start Date column (request lines) | HR Officers | Only HR can set or see the start date on request line items |
| Observations tab | HR Officers | Internal notes are hidden from regular employees |
| Employee column (list views) | HR Officers | Employee column only appears for HR users (regular users only see their own records anyway) |
Chatter & Activity Tracking¶
Both Equipment Requests and Equipment Allocations inherit from mail.thread and mail.activity.mixin, which means:
- State changes are tracked -- Every status transition (Draft to Accepted, Valid to Expired, etc.) is logged in the chatter with a timestamp.
- Followers -- Users can follow a request or allocation to receive notifications about changes.
- Activities -- HR can schedule follow-up activities (reminders, to-dos) directly on any request or allocation.
- Messages -- Internal notes and messages can be posted in the chatter for communication about specific requests.
Tips & Best Practices¶
Keep Products Organized
Create a product category like "Personal Equipment" and assign all equipment products to it. This makes it easier to manage which items are available for requests.
Use Observations for Context
HR users should use the Observations tab to note why a request was approved, any special sizing information, or delivery instructions. This creates a useful audit trail.
Track Expiry Proactively
For equipment with a known lifespan (safety gear certifications, uniform replacements), set the Start Date when validating and use scheduled activities to remind yourself to expire and reissue allocations on a regular cycle.
No Inventory Integration
This module tracks who has what equipment -- it does not manage inventory levels, purchasing, or stock movements. It is a personnel record-keeping tool, not a warehouse management tool.