Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Attendances
  3. Attendance Reports v 19.0
  4. Sales Conditions FAQ

Attendance Reports

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 43
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Discuss (mail)
• Employees (hr)
Community Apps Dependencies Show
• Attendance Suite Base
• EH HR Compatibility
Lines of code 1815
Technical Name eh_hr_attendance_reports
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Discuss (mail)
• Employees (hr)
Community Apps Dependencies Show
• Attendance Suite Base
• EH HR Compatibility
Lines of code 1815
Technical Name eh_hr_attendance_reports
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
ERP Heritage Attendance Suite

Attendance Reports

An hourly cron that turns raw check-in events into late and missed-checkout exceptions a supervisor can act on the same morning.

Free · LGPL-3Odoo 19 Communityv19.0.1.0.0v1.0.0
Hourly cron
Late detection
Missed checkout
Timezone aware
Per-company rules

Why this module

Attendance Reports

SAME MORNING

Late check-ins surface within the hour

Every check-in past the company default time plus grace minutes is raised as a warning exception the same day, not at the end of the fortnight. The supervisor sees who came in late before standup.

NO LOST HOURS

Open attendances get chased before payroll

Any attendance still open past the threshold (default 12 hours) is flagged critical and left open for HR to close. No silent overnight rows quietly inflating worked time.

SAFE TO RERUN

Detection is idempotent per attendance

Each pass checks whether a row already raised its exception before creating another, so over-running the cron or running it manually never produces duplicate warnings.

Day in the life

9:30 standup. The supervisor opens Today and already sees who came in late.

The hourly cron has run twice since 8am. Two late check-ins sit on the kanban as warnings; yesterday's open attendances that never got a check-out are flagged critical because the threshold lapsed overnight. The supervisor walks the floor, finds one had a flat tyre, marks that exception resolved with a note, and leaves the rest for HR to chase. The Today kanban resets cleanly the next morning. No spreadsheet, no fortnightly review.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

Idempotent passes

Both the late and missed-checkout passes query existing exceptions by attendance_id before creating, so a re-run, an overlapping cron, or a manual trigger never duplicates a flag for the same attendance.

Timezone resolution

Late cutoffs are computed in the company partner timezone, then converted to UTC for the search. A default of 9.0 means 09:00 local, not server time. An unknown timezone string falls back to UTC instead of raising.

Multi-company scoping

The cron iterates every company and reads that company's own default check-in time, grace minutes, and missed-checkout threshold. Attendances are matched by employee company, so each tenant detects against its own rules in one run.

Open row stays open

A missed check-out raises a critical exception but deliberately leaves the hr.attendance row open. The detection layer never edits or closes attendance data; HR closes it manually, keeping the source record intact.

Resolve and reopen

Exceptions from the suite base carry resolved, resolved_by, resolved_on, and resolution notes with mail.thread tracking. Marking resolved stamps the user and time; reopen clears them, and the kanban moves the card between columns.

Fractional check-in time

The default check-in field is a float, so 8.5 resolves to 08:30. The cutoff builder splits the integer hour and the fractional minutes correctly rather than truncating.

What is inside

Built to do the job, end to end.

  • Hourly detection cron. A scheduled action (state code, run as root) calls _cron_detect_exceptions hourly. Two passes per call: late check-in for the current day and missed check-out older than the threshold. Cadence is editable under Technical, Scheduled Actions.
  • Late check-in pass. For each company, any check-in today after the default check-in time plus grace minutes raises a late exception at warning severity, with a description recording the actual check-in and the computed cutoff.
  • Missed check-out pass. For each company, any open attendance (no check-out) whose check-in is older than the threshold hours raises a missed check-out exception at critical severity, leaving the attendance row open.
  • Today dashboard. A manager kanban on hr.attendance grouped by open or closed state, defaulting to today, with Today, Open, and Closed filters and group-by on state or employee. Lives under the suite Reports menu for managers and auditors.
  • Open or closed state. A computed eh_state on hr.attendance reads open when check-out is empty and closed otherwise, backed by a real search method so it is filterable and groupable across views.
  • Per-company settings. Default check-in time, late grace minutes, and missed check-out hours sit on res.company and surface in the suite settings page, so different companies can run different tolerances.

Honest about the edges

What this does not do, so nothing surprises you.

  • This module detects and reports. It never edits, closes, or deletes attendance records; a missed check-out is flagged and left open for a human to resolve.
  • Late detection compares against the company default check-in time. Per-employee roster or planned-shift comparison is not part of this module; it would require a separate rostering module not included here.
  • The shipped manager menu opens the Today attendance dashboard. An exceptions-by-severity kanban view is defined but is browsed through the exception model rather than as a separate dashboard tile, and there is no built-in seven-day or audit-log summary screen.
  • Detection runs on the cron cadence (hourly by default), so exceptions appear within the hour rather than the instant a check-in or threshold is crossed.
  • The exception model, settings fields, security groups, and kiosk audit log it relies on are provided by eh_hr_attendance_base, which is a hard dependency.
  • Severities are fixed by pass: late is always warning, missed check-out is always critical. They are not user-configurable per rule.
Search

Odoo 19 attendance reports, attendance exception detection, late check-in detection Odoo, missed checkout alert, hr_attendance dashboard, attendance reporting Community, timezone aware attendance cron, per company attendance rules, open attendance detection, attendance grace period Odoo, scheduled attendance scan, HR attendance exceptions

ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au

v1.0.0 · LGPL-3 · Odoo 19 Community

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with