- Home
- Apps
- SaaS Tools
- Overtime Rules & Calculation
Illustrative previewConfigure weekday, weekend and holiday overtime rules and auto-compute overtime hours from attendance in Odoo 17/18/19.
What is Overtime Rules & Calculation?
Configure weekday, weekend and holiday overtime rules and auto-compute overtime hours from attendance in Odoo 17/18/19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Odoo.
- 3
Go live + support
You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.
Technical Specifications
- Odoo Compatibility
- Odoo 17, Odoo 18, Odoo 19
- Editions
- Enterprise & Community
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- PostgreSQL 12+
About this Product
Paying overtime by hand is where payroll accuracy quietly bleeds out. Spreadsheets tracking who worked late, which day counted as 1.5x versus 2x, and whether a shift crossed into a public holiday are error-prone, slow, and impossible to audit. This ECOSIRE build-to-order module makes overtime a first-class, rule-driven part of your Odoo HR stack — so overtime hours are computed the moment attendance is recorded, priced against the correct rate, routed for approval, and pushed straight into payroll.
This is not an off-the-shelf apps.odoo.com download. ECOSIRE designs, builds, installs and supports a net-new module tailored to your overtime policy, your rate structure, and your working calendars. Typical delivery is one working week depending on the complexity of your rules and integrations.
At the core is a configurable rule engine. We model overtime rules as a dedicated Odoo model (models.Model) with fields for rule type (weekday, weekend, public holiday), the applicable multiplier or fixed rate, the qualifying threshold, and the counting period. A compute field decorated with @api.depends reads each employee's attendance records (hr.attendance) and the relevant working schedule and holiday calendar, then derives overtime hours automatically — no manual data entry, no re-keying between systems.
Public holidays and weekends are handled explicitly. The engine reads your company calendar and resource.calendar working hours so a shift that starts Friday evening and runs into a weekend, or lands on a declared public holiday, is split and priced at the correct rate. Thresholds let you define, for example, that only hours beyond 8 in a day or 40 in a week qualify — and the counting period (daily, weekly, or a custom pay cycle) is yours to set.
Every computed overtime block flows through an approval workflow. Managers see pending overtime in a dedicated view (Odoo list/form views in XML, or OWL components where a richer UX helps), approve or reject with a reason, and the state transition is captured for audit. Access is locked down through ir.model.access.csv and record rules so an employee sees only their own overtime while managers and payroll officers get the scope they need — and nothing more.
Approved overtime integrates with Odoo Payroll (Enterprise) as payslip inputs, or with your existing payroll export if you run Community — mapping overtime hours and amounts to the correct salary rules. QWeb reports give you per-employee and per-period overtime statements for finance and for the employee record. Automated actions and scheduled jobs (ir.cron) can roll up overtime at period close, flag anomalies, and notify approvers. And because it is native Odoo, everything is reachable over XML-RPC and JSON-RPC for downstream systems or a headline dashboard.
Built and tested against Odoo 17, 18 and 19, Community or Enterprise. You get the source, the configuration, documentation, training, and a support window — delivered by an ECOSIRE Odoo engineer, not a black box.
What you get
- Complete, installable Odoo module source (models, views, security, reports) authored against Odoo 17/18/19 with a documented __manifest__.py
- Configured overtime rules matching your policy — weekday/weekend/holiday rates, thresholds, counting periods and rounding — set up in your database
- Security configuration: ir.model.access.csv access rights plus record rules for employee, manager and payroll roles
- Payroll integration wired to your setup — salary rule / payslip-input mapping (Enterprise) or a structured overtime export (Community)
- QWeb report templates for per-employee and per-period overtime statements, branded to your company
- Written administrator and end-user documentation covering rule setup, the approval workflow and payroll export
- A live training session for HR, payroll and approving managers, with a recording for future onboarding
- A defined post-go-live support window for bug fixes and questions, plus version-compatibility guidance across Odoo 17/18/19
Who this is for
HR & Payroll Manager
Owns pay accuracy and runs the monthly cycle. Needs overtime computed correctly against weekday, weekend and holiday rates, approved on record, and flowing into payslips without manual rekeying or spreadsheet audits.
Line / Operations Manager
Approves overtime for a team working variable shifts. Wants a single Odoo view of pending overtime, one-click approve/reject with a reason, and confidence that only genuinely qualifying hours are being charged.
Finance Controller
Signs off labor cost and needs an auditable trail. Values per-period QWeb overtime statements, rate transparency, and the ability to reconcile approved overtime against payroll and attendance data.
HR Operations / Systems Admin
Maintains the Odoo instance and integrations. Needs clean security via ir.model.access.csv and record rules, scheduled cron roll-ups, and XML-RPC/JSON-RPC access to feed BI or downstream tools.
How Overtime Rules & Calculation Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Weekday / weekend / public-holiday OT rates | Built in as configurable rules with per-type multipliers or fixed rates | Possible but you design and build the rate model yourself | Often only a single flat OT rate; holiday logic limited | Not included |
| Auto-calculation from attendance | Computed from hr.attendance via @api.depends, no manual entry | Requires you to write the compute logic and tests | Varies; many require manual OT entry or partial automation | Partial support |
| Configurable thresholds & counting periods | Daily/weekly/custom periods and per-day or per-week thresholds set to your policy | Fully open but entirely your effort to specify and build | Usually fixed or coarse-grained options | Not included |
| Approval workflow with audit trail | Multi-level approve/reject with state transitions and reasons | Buildable with Odoo activities/states but must be designed | Sometimes present, often single-step and rigid | Not included |
| Payroll integration | Mapped to Odoo Payroll salary rules (Enterprise) or structured export (Community) | You wire and maintain the mapping yourself | Integration depends on the vendor; often Enterprise-only | Partial support |
| Fit to your exact policy | Modeled to your rules, departments and contract types | Full control, at full build cost and timeline | Fit is whatever the fixed feature set allows | Not included |
| Odoo 17 / 18 / 19 compatibility | Built and tested across all three versions | Depends on your team's maintenance | Version support varies; upgrades can lag | Included |
| Delivery, support & source handover | Source, docs, training and a support window from an Odoo engineer | Owned entirely by your internal team | Download plus vendor support tier; source may be obfuscated | Not included |
Frequently Asked Questions about Overtime Rules & Calculation
How long does delivery take, and what is the process?
This is a build-to-order module, not an instant download. Typical delivery is one working week depending on the complexity of your overtime rules, calendars and payroll integration. We start with a short discovery call to capture your rate structure, thresholds and counting periods, then build, test against your Odoo version, install on your instance (or a staging copy first), and hand over with documentation and training. You get progress checkpoints along the way, not a black box.
What support and updates are included after go-live?
Every engagement includes a defined post-go-live support window for bug fixes and questions. During that window we address defects in the delivered module and answer configuration questions from your HR and payroll teams. We also provide version-compatibility guidance so the module keeps working as you move across Odoo 17, 18 and 19. Extended support and enhancement retainers are available if you want an ongoing relationship beyond the initial window.
Which Odoo versions and editions does this support?
The module is built and tested against Odoo 17, 18 and 19, on both Community and Enterprise. On Enterprise we map approved overtime directly to Odoo Payroll salary rules and payslip inputs. On Community, where the payroll app is not available, we deliver a structured overtime export that feeds your existing payroll process. We confirm your exact version and edition during discovery so the manifest and dependencies are correct from day one.
How are overtime hours actually calculated?
Overtime is derived automatically from your Odoo attendance records (hr.attendance). A compute field decorated with @api.depends reads each employee's clocked hours together with their working schedule (resource.calendar) and the company public-holiday calendar, then applies your rules: it identifies which hours are weekday, weekend or holiday, checks them against your daily or weekly thresholds, applies rounding, and prices each block at the correct rate. Nothing is entered by hand, so the numbers are reproducible and auditable.
Can we customize the rules, rates and approval flow to our policy?
Yes — that is the point of building it to order. Weekday, weekend and holiday rates, qualifying thresholds, counting periods, rounding rules and the number of approval levels are all configured to your policy during the build. Because we deliver the source, further changes are always possible later. If your policy differs by department, contract type or country, we model that explicitly rather than forcing you into a fixed off-the-shelf structure.
How is access controlled and is the data auditable?
Access is enforced through Odoo's native security: ir.model.access.csv grants create/read/write/delete per role, and record rules restrict visibility so employees see only their own overtime while managers and payroll officers get the appropriate scope. Every approval or rejection is captured as a state transition with the actor and a reason, and QWeb reports plus the pivot/graph views give finance a full per-period audit trail.
Related Modules

Opn (Omise) Payment Gateway for Odoo
A build-to-order Odoo payment provider that connects your checkout to Opn Payments (formerly Omise) for Thai and Southeast Asian cards, PromptPay QR, internet banking, and the TrueMoney wallet. ECOSIRE builds, installs, and supports it for Odoo 17.0, 18.0, and 19.0.

Pakistan FBR Digital Invoicing & Sales Tax
A build-to-order Odoo module that connects your accounting to Pakistan's FBR for real-time digital invoice transmission, STRN/NTN validation, and provincial plus federal sales-tax handling. ECOSIRE builds, installs, and supports it for your Odoo 17/18/19 instance.

Pakistan Payroll (EOBI, PESSI, WHT)
Pakistan-localized Odoo payroll: EOBI, PESSI/SESSI, FBR tax slabs, gratuity/PF and bank salary files — built, installed and supported by ECOSIRE.
Overtime Rules & Calculation
Configure weekday, weekend and holiday overtime rules and auto-compute overtime hours from attendance in Odoo 17/18/19.
- Overtime rule engine modeling weekday, weekend and public-holiday rules as a dedicated Odoo model with configurable rate multipliers or fixed rates
- Weekday, weekend and holiday OT rates each priced independently (e.g. 1.25x weekday, 1.5x weekend, 2x public holiday) and fully editable per company
- Configurable qualifying thresholds — count overtime only beyond N hours per day or N hours per week, with a grace-minute buffer if required
- Configurable OT counting periods (daily, weekly, or a custom pay cycle) so calculation aligns with how you actually run payroll
