# Theoretical vs Attended Time Analysis

This module adds a new report called “Theoretical vs Attended Time Analysis” that compares worked time, measured through attendances records, with the theoretical time, computed from employee’s working calendar, public holidays and employee specific leaves. Missing attendance days are generated on the fly in the report with their corresponding theoretical hours.

There is the possibility of counting as theoretical time some leave types if specified in them.

As an example, imagine a work week with 40 theoretical hours, and these attendance situation:

- Monday: Worked 10 hours
- Tuesday: Worked 10 hours
- Wednesday: Worked 10 hours
- Thursday: Worked 10 hours
- Friday: Ask for a compensation leave (said leave type), as already worked 40 hours.

On the report, whole week should put 40 theoretical hours - 8 per day - against 40 worked hours (although they were on previous days, and none on Friday).

On contrary, if you want to take a holiday one of that days, you should ask for a leave type without the check for counting as theoretical time, and then the whole week will be 32 theoretical hours against the worked hours of that week without the leave.

Table of contents

- Installation
- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Other credits
  - Maintainers

# Installation

On installation time, this module computes the theoretical hours for the day of the attendance check-in, so if you have a lot of records, this would be a bit slow.

# Configuration

You need to be at least “Attendance / Manual Attendance” for being able to see the attendances report.

For including some leave types in the theoretical time, you have to:

1. Go to Leaves > Configuration > Leave Types.
2. Select leave type you want to include.
3. Check the mark “Include in theoretical hours”.

When generating non worked days, this module uses a start date for beginning the series generation, which is:

- Manual start date set on the employee.
- If not set, the greatest of these 2 dates:
  - Employee creation date.
  - Working calendar line start date.

For configuring manual start date, you have to:

1. Go to Employees > Employees.
2. Select an employee.
3. Go to “HR Settings” page.
4. Set the date in “Theoretical hours start date” field.

The generation will stop on the end date of the working calendar line or today, so don’t forget to properly set start and end dates of the lines of the working calendar for not leaving empty spaces between them.

# Usage

1. Go to Attendances > Reporting > Theoretical vs Attended Time Analysis.
2. Check pivot table or look at the graph view.

# Known issues / Roadmap

- Employees with less than 1 week in the company will show full week theoretical hours.
- Activate ORM cache for improving performance on computing theoretical hours, but assuring that the cache is cleared when the conditions of the computation changes.
- If you change employee’s working time, theoretical hours for non attended days will be computed according this new calendar. You have to define start and end dates inside the calendar for avoiding this side effect.
- Theoretical hours of affected days when changing the leave type to be included or not in theoretical time are not recomputed.

# Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- Tecnativa

## Contributors

- Tecnativa:
  - Pedro M. Baeza.
  - David Vidal
  - Víctor Martínez
- Pedro Gonzalez <pedro.gonzalez@pesol.es>
- Aritz Olea <ao@landoo.es>
- Trobz:
  - Dzung Tran <dungtd@trobz.com>

## Other credits

Images

- Font Awesome: Icon.

The development of this module has been financially supported by:

- Camptocamp

## Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/hr-attendance project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.