Guide · Odoo 19 and 20

The Odoo timesheet calendar view: what it does, and what it doesn't

Since Odoo 19, My Timesheets has a calendar view, in Community too. We tried it in Odoo 19 Community and Odoo 20, read the source code, and recorded how you log time in it. Below: how it works, where it stops, and what a calendar built for time entry, like the one in TimeViking, does differently.

Updated on · by the TimeViking team

The calendar view in Odoo Timesheets

For years, Odoo Timesheets had a list, a kanban view and, in Enterprise, the weekly grid. Since Odoo 19 there is also a calendar: in My Timesheets your own lines, coloured per project; in All Timesheets everyone's lines, coloured per employee, with a side panel to show or hide colleagues. The view is part of the hr_timesheet module, so it is also in Community.

Each timesheet line appears as a label on its day: the project, and between brackets the duration, for example Odoo implementation (2h). If your company encodes time in days, you see (1d) instead. Weekends and days outside the working schedule are shaded.

My Timesheets as a month calendar in Odoo 19 Community with timesheet lines per day, coloured per project
My Timesheets as a calendar in Odoo 19 Community: one label per line, with the project and the duration.

Logging time in the calendar, step by step

The calendar creates lines with a short form: project, task, time and description. You fill it in once, for one day or for a whole series of days.

  1. Open the calendar

    Go to Timesheets > My Timesheets and click the calendar icon at the top right. You see the current month.

  2. Select one or more days

    Click a day, or drag across several days. A bar shows the selection with an Add button.

  3. Fill in the line

    Click Add and choose the Project and the Task, type the Time Spent (for example 02:00) and a Description.

  4. Add the line

    Click Add in the popover. Odoo creates the same line on every selected day; the label shows the project and the duration.

  5. Move or change a line

    Drag a line to another day to change its date. To change the duration, click the line and edit it in the form.

Three days selected in the Odoo 19 calendar with the form for project, task, sales order item, time spent and description
Three days selected: one form, one line per day. Odoo fills in the sales order item from the task.

In this short recording (22 seconds, no sound) we do exactly that in Odoo 19 Community:

Odoo 19 Community, English interface, made-up demo data. Captions are available in the player.

What the Odoo calendar can and cannot do

We checked this in the source code of Odoo 19 and 20 (hr_timesheet, the view account.analytic.line.calendar) and in the screens themselves.

Odoo calendar (19 and 20)
Month viewyes, and only that (scales="month")
Week or day viewno
One entry on several days at onceyes, by selecting days (not on a phone)
For several employees at onceyes, in All Timesheets with the side panel
Drag a line to another dayyes
Start and end time, block lengthno: a line has a date and a duration
Change the duration by stretchingno, in the form
Total per day, missing hoursno
Colourper project (My Timesheets) or per employee (All Timesheets)
EditionCommunity and Enterprise

That makes the calendar a good overview: which days have hours, roughly on what. As an entry screen it is limited. You cannot see how long you worked on a day, there is no notion of time of day, and typing a line still means choosing a project, a task and a duration in a form.

Odoo 19 versus Odoo 20

The definition of the view is the same in both versions, down to the attributes: month only, the same multi-day form, the same colours. Odoo 20 mainly has a new look (icons, spacing). This is the same calendar in Odoo 20, on the public demo of Odoo S.A.:

The calendar view of My Timesheets in Odoo 20 with the timesheet lines per day of the month
My Timesheets as a calendar in Odoo 20 (Enterprise demo). The calendar itself is Community.

What TimeViking does differently

TimeViking started from the other end: a calendar to enter time, not just to look at it. The difference shows in the first minute.

  • Your week by the hour. A week from 7:00 to 22:00, with blocks that have a start, an end and a length. You see what you did on Tuesday afternoon at a glance.
  • Drag and stretch. Drag across an empty slot and choose the task; drag a block to move it; stretch it to change the duration, in steps of 15 minutes. You can also drag a task from the list on the left into the calendar.
  • Gaps are visible. Between your entries on a workday, an empty slot is marked Not filled in, with the missing time. You fill it by dragging across it.
  • Day totals. Above each day: hours entered against the day target from the working schedule, coloured when it is too little.
  • Quick typing. Press N and type friday 16-17 #webshop test payment: TimeViking understands day, time, project and description, and shows what it will save before you press Enter.
  • Keyboard shortcuts. T starts or stops the timer, the arrow keys go to the previous or next week, D duplicates the selected entry, ? shows them all.
  • On your phone. The same week in the mobile app, with the timer and quick entry.
The weekly calendar of TimeViking with blocks per project, a day total above each day and the quick entry field
The weekly calendar of TimeViking: blocks with start and end time, the day total above each day and quick typing at the top.

And here is the same in 28 seconds (no sound): fill a gap, stretch a block, type a line, switch weeks and check the week on a phone.

TimeViking with made-up demo data. Captions are available in the player.

The hours still end up in Odoo: TimeViking writes them into the standard timesheet lines, on the right project and task, through a single bot user. In Odoo's own calendar they then appear like any other line, with their duration.

When is the Odoo calendar enough?

If your team logs one or two lines a day, mostly full days on the same project, the Odoo calendar works fine: select the week, fill in the form once, done. It also gives managers a quick overview of who logged time on which day.

It falls short when people work on several things per day, want to log time as they go, or need to see what is still missing. Then you want time of day, day totals and something faster than a form. That is where TimeViking helps, in Community and Enterprise alike. For the other views and ways to log time, see the complete guide to Odoo Timesheets and Odoo Timesheets: tips and tricks.

Odoo is a trademark of Odoo S.A. TimeViking is a product of Software Services BV and is not affiliated with Odoo S.A. The Odoo 19 screenshots and the recording show Odoo 19.0 Community (English interface) on a local test database; the Odoo 20 screenshot shows Odoo 20.0 Enterprise on the public demo of Odoo S.A. All data is made up.

Try TimeViking with your own Odoo.

Free for teams of up to 3 users, forever. Larger teams get a 30-day free trial, no card needed.

Frequently asked questions

Since which version does Odoo Timesheets have a calendar view?

Since Odoo 19. In Odoo 18 the hr_timesheet module has no calendar view; in Odoo 19 and 20 it does, in Community and in Enterprise, under My Timesheets and All Timesheets. We checked the view definitions in the source code of both versions: they are identical.

Is there a week view in the Odoo timesheet calendar?

No. The view is defined with scales="month": only the month is available. The mini-calendar on the right jumps to another month, not to a week or a day.

Can I drag a block to change the duration?

No. A timesheet line in Odoo has a date and a duration, but no start and end time. The calendar shows each line as a label on the day, with the duration in the text. You change the duration in the form; dragging only moves the line to another day.

Can I log time for several colleagues at once?

Yes, in All Timesheets. Check the employees in the side panel, select the days and click Add: Odoo creates one line per employee per day. Without a checked employee, Odoo asks you to choose one first. On a phone this multi-day entry is not available.

Does the calendar show day totals or missing hours?

No. You see the lines per day with their duration, and days outside the working schedule are shaded, but there is no total per day and no warning for days with too few hours. For that you use the list grouped by date, or the reports.

Do I have to change anything in Odoo to use TimeViking?

No. TimeViking writes into the standard timesheet lines of Odoo 18, 19 and 20 through a single bot user. The Odoo calendar keeps working: hours entered in TimeViking also appear there, with their duration.

More guides