Guide · Odoo Community

Timesheets in Odoo Community: what it can and cannot do

Odoo Community gives you a solid base for logging time, but a few things teams use every day are only in Enterprise. An honest overview, checked against the source code of Odoo 18, 19 and 20, and how to fill the gaps without switching editions.

Updated on · by the TimeViking team

The short answer

Odoo Community can record hours on projects and tasks, report on them and invoice them. What it lacks are the things that make filling in hours quick and that handle approving them: a weekly grid, a timer and timesheet validation. Odoo ships those with Enterprise.

You don't have to switch to get them. TimeViking gives your team a week calendar, a weekly grid, quick entry, a timer, a phone app and weekly approvals, and writes the hours straight into the timesheets of your Community Odoo.

What Odoo Community can do with timesheets

We checked the source code of Odoo Community 18, 19 and 20 (the modules and their manifests). All three include the following, without Enterprise:

  • Timesheets (hr_timesheet): hours on a project and a task, with a description and an employee. You log them in a list or on the tab of a task.
  • Access rights: a user sees only their own hours, or all hours, or administers timesheets.
  • Reports: list, kanban, pivot and graph, per project, task, employee or period.
  • A monthly calendar of your hours, from Odoo 19 (not yet in 18).
  • Allocated hours on a task, so you can see how much has already been spent.
  • Time off (hr_holidays) and a working schedule with public holidays (resource). With project_timesheet_holidays, Odoo also creates timesheet lines for approved time off.
  • Invoicing hours through sales orders (sale_timesheet): once invoiced, hours can no longer simply be changed.

That is a solid base. For a team that logs hours every day, it is mostly the data entry that eats time.

What is not in Community

FeatureIn Community 18, 19 and 20Where you do find it
Validating hours (approve and lock)No: the field does not existEnterprise (timesheet_grid)
Weekly grid for timesheetsNoEnterprise (timesheet_grid)
Timer to start and stop hoursNoEnterprise
Planning people on projectsNoEnterprise (planning)
External API on Odoo OnlineNot applicable: Odoo Online is always EnterpriseCustom plan only

We have not checked what Enterprise does with those modules in its own source code: that code is not public. The table tells you what is not in Community; for Enterprise details, see Odoo's documentation.

One more thing to know: Odoo Online and Odoo.sh are always Enterprise installations. You run Community on your own server, in-house or with a hosting partner.

How TimeViking fills the gaps

TimeViking is a separate app for your team, connected to your Odoo. Odoo stays the source of truth: projects, tasks and employees come from Odoo, and the hours flow back automatically, in both directions.

Quick data entry

  • A week calendar where you drag in tasks, with a colour per project.
  • A weekly grid: a row per task, a cell per day, Tab to the next day.
  • Quick entry: yesterday 9-12 #support tickets becomes a timesheet line in one go.
  • A timer, on your phone too, and copy last week.
  • A phone app that also works without a connection; read more in our guide to the timesheet app on your phone.

Approvals without Enterprise

Your team submits the week; a project manager approves it or sends it back. Approved hours are locked in the app. This works independently of Odoo, so on Community as well. How it compares with Enterprise validation is explained in approving timesheets in Odoo.

What goes to Odoo

The hours end up in Odoo's standard Timesheets, on the right employee, project and task. Your employees don't need an Odoo login: the app writes through a single technical connection, on behalf of the matching employee. Time off is requested in the app; your manager approves it in Odoo, just as they are used to.

Connecting Odoo Community

On your own server you have three options, all explained on the Odoo integration page:

  1. With our free module from the Odoo Apps Store: no API keys to manage or renew.
  2. With a bot user: one technical user with an API key, for the whole team. It only needs rights from Community: Project user and Timesheets with access to all timesheets.
  3. With a personal API key per user: each colleague connects their own key and writes only their own hours.

It works with Odoo 18, 19 and 20. What differs per version is covered on the Odoo Timesheets page.

What does it cost?

For teams of up to 3 users, TimeViking is free, forever. Beyond that you pay €5 a month for your whole team of up to 20 users, not per user. All details are on the pricing page. You can start for free and connect your Community Odoo today.

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

Does Odoo Community have a Timesheets app?

Yes. The Timesheets module (hr_timesheet) is part of Community in Odoo 18, 19 and 20. You log hours on projects and tasks, with access rights for your own hours or all hours, and with list, kanban, pivot and graph views.

Can I approve or validate timesheets in Odoo Community?

Not with Odoo itself. The field for validated hours does not exist in the Community source code of 18, 19 and 20; validation belongs to Enterprise. If you still want approvals, you can do them in TimeViking: your team submits the week and a project manager approves it.

Does Odoo Community have a weekly grid or a timer for timesheets?

No. We found no grid view and no timer for timesheets in the Community modules. Odoo 19 and 20 do have a monthly calendar of your hours. TimeViking has its own weekly grid, week calendar and timer, on your phone too.

Does TimeViking work with Odoo Community on my own server?

Yes. You connect with our free module, or through the API with a bot user or a personal key per user. The bot only needs rights from Community: Project user and Timesheets with access to all timesheets.

Do I need Enterprise to invoice my hours?

No. Invoicing hours through sales orders (sale_timesheet) is part of Community. Once hours are invoiced, Odoo locks them; TimeViking respects that.

More guides