Skip to main content
Overtime Rules & Calculation — Configure weekday, weekend and holiday overtime rules and auto-compute overtime hours from att — 1/1Illustrative preview

Configure 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

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
Automatic overtime computation from hr.attendance using a compute field with @api.depends — no manual entry or spreadsheet reconciliation
Public-holiday awareness driven by the company calendar and resource.calendar working hours, splitting cross-day and cross-boundary shifts at the correct rate
Multi-level approval workflow with state transitions (draft, submitted, approved, rejected), rejection reasons and full audit trail
Row-level security via ir.model.access.csv plus record rules — employees see only their own overtime, managers and payroll see their scope
OT-to-payroll integration mapping approved hours and amounts to Odoo Payroll salary rules / payslip inputs (Enterprise) or a structured export (Community)
QWeb overtime reports — per-employee and per-period statements (PDF) for finance, HR and the employee file
Automated actions and scheduled ir.cron jobs to roll up overtime at period close, flag anomalies and notify approvers
Dedicated Odoo views (list, form, pivot, graph) and OWL components for a fast approve/reject and analysis experience
XML-RPC / JSON-RPC access to overtime records for downstream systems, BI dashboards or a custom mobile flow
Configurable rounding rules (nearest minute, 15-minute block, etc.) so computed hours match your policy exactly
Compatible with Odoo 17, 18 and 19 on both Community and Enterprise editions

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

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

CriterionECOSIRECustom BuildCompetitorOdoo Native
Weekday / weekend / public-holiday OT ratesBuilt in as configurable rules with per-type multipliers or fixed ratesPossible but you design and build the rate model yourselfOften only a single flat OT rate; holiday logic limitedNot included
Auto-calculation from attendanceComputed from hr.attendance via @api.depends, no manual entryRequires you to write the compute logic and testsVaries; many require manual OT entry or partial automationPartial support
Configurable thresholds & counting periodsDaily/weekly/custom periods and per-day or per-week thresholds set to your policyFully open but entirely your effort to specify and buildUsually fixed or coarse-grained optionsNot included
Approval workflow with audit trailMulti-level approve/reject with state transitions and reasonsBuildable with Odoo activities/states but must be designedSometimes present, often single-step and rigidNot included
Payroll integrationMapped to Odoo Payroll salary rules (Enterprise) or structured export (Community)You wire and maintain the mapping yourselfIntegration depends on the vendor; often Enterprise-onlyPartial support
Fit to your exact policyModeled to your rules, departments and contract typesFull control, at full build cost and timelineFit is whatever the fixed feature set allowsNot included
Odoo 17 / 18 / 19 compatibilityBuilt and tested across all three versionsDepends on your team's maintenanceVersion support varies; upgrades can lagIncluded
Delivery, support & source handoverSource, docs, training and a support window from an Odoo engineerOwned entirely by your internal teamDownload plus vendor support tier; source may be obfuscatedNot 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.

Request a quote

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

Request a Quotation

Tell us about your Overtime Rules & Calculation requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.