| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 2496 |
| Technical Name |
wt_hrms_travel |
| License | OPL-1 |
| Website | https://way4tech.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 2496 |
| Technical Name |
wt_hrms_travel |
| License | OPL-1 |
| Website | https://way4tech.com |
WT HRMS Travel — Travel Requests With Advance, Visa & Hotel
A focused business-travel module: destination, purpose, date range, travel mode (Air/Road/Rail/Sea), estimated cost, advance, visa and hotel flags, multi-level approval, employee form tab, and full chatter audit.
business travel · travel request · travel approval · travel advance · visa request · hotel booking · travel mode air road rail sea · HR travel Odoo · Odoo 19 · Odoo 18 · community edition · enterprise alternative · open hrms · HR software · HR automation · way4tech
Live Preview
A real screenshot from a working WT HRMS install on Odoo 19.
The Problem This Solves
Business travel touches HR, finance, the travel desk and the visa team — but most companies coordinate it on email and lose half the data.
No central record
"Who is travelling next month?" needs four emails and a guess. There's no list anyone can pull up.
Advances disappear
Cash advances paid in WhatsApp messages never make it to the books. Reconciliation against actual expenses is nearly impossible.
Visa & hotel handoff
Visa team and travel desk need to know which trips need them — without a flag on the request, they get pinged for everything or for nothing.
The Solution — One Request, Three Handoffs Built-In
Single travel-request record with explicit flags for the travel desk (hotel), visa team (visa) and finance (advance), and full multi-level approval through the WT HRMS approval chain.
- ✓ Destination + Purpose — both required so trips are auditable
- ✓ Date range with DB-level
CHECK(date_to >= date_from) - ✓ Four travel modes — Air, Road, Rail, Sea
- ✓ Estimated cost in the company currency, non-negative-enforced at the DB
- ✓ Advance Required flag with monetary advance amount (only shown when needed)
- ✓ Hotel Required flag — signals the travel desk to book accommodation
- ✓ Visa Required flag — signals the visa team to start the application
- ✓ Sequenced numbering —
TRV/YYYY/0001 - ✓ Submit / Approve / Reject / Cancel / Reset-to-Draft buttons gated by HR Manager
- ✓ Multi-step approval chain via WT HRMS approval mixin
- ✓ List decoration — approved rows green, rejected red
- ✓ Search filters — Approved / Pending + group-by Employee / Mode / Status
- ✓ Travel tab on the employee form showing every trip that person has filed
- ✓ Field locking — once submitted, the requester cannot edit destination, dates, mode, cost or flags
- ✓ mail.thread chatter & multi-company aware
Step-by-Step User Guide
Install the module
Install WT HRMS Travel from Apps. wt_hrms_core installs automatically.
(Optional) Configure an approval chain
In WT HRMS → Configuration → Approval Chains create a chain for wt.hrms.travel.request — common pattern is Manager → HR Manager → Finance. Without a chain, requests auto-approve immediately on submit.
Employee submits a trip
Open WT HRMS → Travel, click New. Pick employee, type destination & purpose, set date-from / date-to, choose travel mode (Air/Road/Rail/Sea), enter estimated cost. Tick Advance Required, Hotel Required, Visa Required as applicable — the advance amount field appears only when advance is requested. Click Submit.
Manager approves
An HR Manager opens the request, reviews destination, dates, cost and the three handoff flags, then clicks Approve or Reject. Field-level read-only kicks in once the trip is submitted, so nothing can change behind the manager's back.
Travel desk & visa team pick up
Filter the Travel Requests list by Hotel Required = Yes or Visa Required = Yes to give the travel desk and visa team a clean queue. Coordinate via the chatter on each request.
Audit on the employee form
Open any hr.employee record and click the Travel tab to see every trip that person has filed — perfect for performance reviews and cost reporting.
Marquee Features
Destination & Purpose
Both fields required — trips can never be approved with vague reasons. Auditors and finance get the why on every request.
4 Travel Modes
Air, Road, Rail, Sea — selected on every request. Search/group-by built-in for travel-mode reporting.
Cost Estimation
Monetary estimated_cost in company currency with DB-level non-negative constraint — budget control on day one.
Advance + Amount
Tick Advance Required and the advance-amount field appears. Finance pays out, audits trace back to the request.
Hotel + Visa Flags
Two booleans signal the travel desk and visa team without ambiguity — filter the list to get their respective queues.
Approval Chain
Multi-level workflow with audit log — Manager → HR Manager → Finance is a typical configuration.
Date Validation
DB-level CHECK constraint blocks date-to before date-from at the database layer — no chance of bad ranges making it in.
Field Locking
Once submitted, destination, dates, mode, cost and all three flags lock down so the manager reviews the same record the requester sent.
Employee Tab
A Travel tab on every hr.employee form lists that person's full trip history — great for performance and cost analytics.
Compatibility & Requirements
| Odoo Edition | Community & Enterprise |
| Odoo Version | 19.0 |
| Module Dependencies | wt_hrms_core (auto-installed) |
| Python Packages | None |
| External Services | None |
| Security Groups Used | base.group_user (own trips), hr.group_hr_manager (approve) |
About Waqas Riasat & Way4Tech
We build Odoo modules that fix real business pain — not nice-to-have features. The WT HRMS suite is a Community-only HR + Payroll replacement that we use ourselves and ship with hand-tested upgrade paths.
way4tech.com · info@way4tech.com · WhatsApp +92 315 411 4748
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module