Back to Blog

July 25, 2026

Odoo Kills the Work Entry Calendar and Rebuilds Payroll Around Time Off Data

Odoo 20 eliminates the separate work entry management step from the payroll cycle entirely, pulling attendance and absence data directly from the Time Off module and replacing the work entry calendar with a streamlined payroll dashboard that cuts processing time by roughly 80 percent.

Side-by-side comparison showing the five-step payroll process in Odoo 19 with work entry management versus the two-step process in Odoo 20 with direct time off integration and a streamlined dashboard

If you’ve ever watched a payroll manager prepare monthly pay runs in Odoo, you’ve seen the ritual: open the work entry calendar, scan for conflicts, cross-reference against time off records, fix the orange and red cells that signal mismatches, validate everything, and then — finally — generate payslips. It works, but it’s the kind of process that makes you wonder why the system can’t just figure this out on its own. The time off data is right there. The attendance records are right there. Why does someone need to manually reconcile two views of the same information before payroll can run?

Odoo 20 apparently asked the same question, because the answer is the complete removal of the work entry calendar from the payroll workflow. Not a redesign. Not a simplification. An elimination. Payroll now reads directly from Time Off data, and the old work entry management step ceases to exist.

What Work Entries Were and Why They Existed

Work entries were introduced as an intermediary layer between raw attendance and time-off data and the payroll calculation engine. The idea was sensible: employee schedules are messy. People work partial days, take half-day leaves, have different schedules on different days, and occasionally show up when they weren’t scheduled or don’t show up when they were. Work entries normalized all of this into a clean, day-by-day calendar that the payroll engine could consume without ambiguity.

In practice, the work entry calendar became the most labor-intensive step in the entire payroll cycle. Payroll officers would open it each month and face a grid of color-coded entries. Green meant confirmed. Orange meant a conflict between attendance and the expected schedule. Red meant an unresolved absence — the employee was supposed to work but had neither an attendance record nor an approved leave request. Each orange and red cell required investigation: Was the attendance record missing because the employee forgot to check in? Did they submit a leave request that hasn’t been approved yet? Is the schedule wrong?

For a company with 200 employees, this monthly reconciliation could easily consume an entire day. For companies with 1,000 or more, it was a multi-day affair that typically involved the payroll team pulling in HR coordinators and department managers to resolve discrepancies. And the stakes were high — a work entry error that slipped through would produce an incorrect payslip, which means either an overpayment that needs recovery or an underpayment that generates a complaint and a correction cycle.

The New Model: Time Off as the Source of Truth

The fundamental insight behind the Odoo 20 approach is that the information work entries were normalizing already exists in authoritative form elsewhere in the system. The Time Off module tracks approved absences with start dates, end dates, leave types, and approval status. The Attendance module tracks actual clock-in and clock-out times. The employee’s contract defines their expected schedule. All three data sources are already validated at the point of entry — leave requests go through an approval workflow, attendance is captured through hardware or software check-in, and contracts are configured by HR.

Instead of copying this data into an intermediary calendar and then requiring someone to validate the copy, Odoo 20’s payroll engine reads directly from these sources at calculation time. When a pay run is generated, the system pulls the employee’s contract schedule, overlays approved time-off records, cross-references attendance data where applicable, and computes the payslip without a separate reconciliation step.

Discrepancies that previously surfaced as orange cells in the work entry calendar — an employee who worked a day they had marked as leave, or an absence with no corresponding leave request — are now handled through the modules where they originate. If an attendance record conflicts with a leave request, the Time Off module flags it. If an employee has unexplained absences, the Attendance module surfaces them in its own reporting. The payroll engine doesn’t need its own conflict resolution layer because the upstream modules already handle validation.

The Dashboard That Replaces the Calendar

In place of the work entry calendar, Odoo 20 introduces a payroll dashboard that focuses on what payroll officers actually need to see each month: which pay runs are ready to generate, which employees have conditions that need attention (contract changes, pending leave approvals, missing data), and the status of pay runs already in progress.

The dashboard operates on a task model rather than a calendar model. Instead of scanning a grid of 200 employees times 30 days — 6,000 cells to visually inspect — the payroll officer sees a focused list of items that require action. An employee whose contract changed mid-month appears as an action item. An employee with a pending leave request that overlaps the pay period shows up as a blocker. But the 180 employees whose records are clean and complete don’t appear at all, because there’s nothing to do for them.

This exception-based model is a profound shift. The old workflow required reviewing every employee’s work entries every month, even when 90% of them were perfectly fine. The new workflow only surfaces the exceptions. For a 500-person company where maybe 30 employees have something unusual in a given month — a schedule change, a leave overlap, a contract amendment — the payroll officer’s review workload drops from scanning 15,000 cells to reviewing 30 action items.

What This Means for Processing Time

The estimates circulating suggest an 80% reduction in payroll preparation time. That number sounds dramatic until you walk through the math. In the old workflow, a payroll officer for a 300-person company might spend four hours on work entry review, an hour resolving conflicts with department managers, and another hour generating and spot-checking payslips. Total: roughly six hours.

In the new workflow, the dashboard review takes maybe 20 minutes — there are only a handful of exception items to address. Payslip generation is the same. Spot-checking might take another 20 minutes. Total: under an hour. The four-plus hours of work entry review simply vanishes because the step no longer exists.

For companies running payroll across multiple countries from a single Odoo instance — increasingly common among mid-size multinationals — the time savings multiply. Each localization previously required its own work entry review cycle, with localization-specific rules about how certain leave types should translate into work entries. Removing the intermediary layer removes that per-country overhead.

The Configuration Side

Eliminating work entries doesn’t mean eliminating configuration complexity. Payroll still needs to know how to calculate pay for partial days, how to handle leave types that carry different compensation rates, and how to apply attendance-based rules for companies that pay by the hour. These rules move from work entry type configurations to salary structure rules that reference Time Off and Attendance data directly.

For companies using the Attendance module with the option to include extra hours in payroll — a feature introduced in version 19 — the new model integrates overtime calculations directly into the pay run generation. The attendance data feeds into the payslip computation alongside contract hours and time-off records, producing a single calculation that accounts for scheduled hours, actual hours, overtime thresholds, and absence deductions in one pass.

Companies that were using custom work entry types to handle specific payroll scenarios — commission days, training days, travel days with different per diem rules — will need to migrate those configurations to the new model. The migration path involves mapping custom work entry types to either time-off types or salary rule conditions, depending on the specific use case.

Why This Matters Beyond Time Savings

The deeper impact is on payroll accuracy. Work entry conflicts were the single largest source of payroll errors in Odoo implementations. Every orange cell in the calendar was a potential error — and the resolution was manual, meaning it was subject to the payroll officer’s judgment, attention span, and the quality of information they could gather from managers. Miss one conflict in a month with 50 exceptions, and someone gets an incorrect payslip.

By eliminating the manual reconciliation step and reading from authoritative source data, the new model removes the largest error surface in the process. The data that feeds into payslip calculation is the same data that employees see in their leave balances and that managers see in their team attendance reports. There’s no translation step where information can get lost or misinterpreted.

For organizations in regulated industries where payroll accuracy carries compliance implications — financial services, healthcare, public sector — this is arguably more important than the time savings. An auditor reviewing payroll processes wants to see that the system of record for employee time feeds directly into pay calculations without manual intermediary steps. The new architecture provides exactly that audit trail.

Odoo 20 is expected to be formally unveiled at Odoo Experience 2026 in Brussels this September, and the payroll simplification is shaping up to be one of the changes that HR departments notice most immediately. It’s the kind of structural improvement that doesn’t add a single new feature but makes an existing process dramatically less painful — which, for the people who run payroll every month, counts for more than any flashy new capability on the roadmap.

Ready to experience Odoo AI?

Join hundreds of teams using DearERP to customize Odoo in minutes, not weeks. Plans start at $29/month.