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. Human Resources Payroll
  3. AU Award Engine v 16.0
  4. Sales Conditions FAQ

AU Award Engine

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 16.0 Third Party 30
Download for v 16.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
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 2415
Technical Name eh_hr_attendance_award_au
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
Australian Modern Award interpretation for attendance

AU Award Engine

Split every attendance row into ordinary, penalty and overtime hours, by the award your workforce actually sits under.

Free · LGPL-3Odoo 16 CommunityInterval enginev1.0.0
Ordinary, penalty and overtime split per row
Splits shifts at every midnight and band edge
Cross-midnight shifts classified by real date
Daily caps plus 38h weekly overtime
Saturday, Sunday and public holiday rates

Why this module

AU Award Engine

Correct

Interval engine, not one rate per shift

Each shift is split at every midnight and penalty-band edge, and every segment is rated by its own date and clock time. A Friday 22:00 to Saturday 02:00 shift is two ordinary Friday hours plus two Saturday penalty hours, not four flat Friday hours.

Complete

Daily and weekly overtime together

Daily hours past the ordinary cap fall into two overtime tiers, and the 38 hour weekly cap tips the excess of the week into overtime on the later shift. Sibling shifts in the same week recompute automatically so the result is order-independent.

Configurable

Your award, on the record

Caps, tier multipliers, weekend and public holiday rates, casual loading, penalty bands and allowances all live on a per-company award you edit in the UI. A cited General Retail baseline ships ready to copy.

Day in the life

From clock-out to pay-ready hours

A casual closes an evening shift that runs past 6pm on a Wednesday and into a Saturday morning. The engine splits the interval at 6pm, at midnight and at the Saturday edge, applies the weekday evening band to the post-6pm segment, the Saturday penalty to the early-morning segment, and adds casual loading to every hour. It checks the rest of the week, finds the employee is already near the 38 hour cap, and tips the excess into overtime tier 1. Ordinary, penalty, both overtime tiers and the effective pay hours land on the attendance row, with any auto allowance and a broken-shift flag, ready for the pay run to read. No one recomputes anything by hand.

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.

Cross-midnight

A shift that spans midnight is split at the boundary and each side is classified by its own date, so the Saturday or public holiday portion of an overnight Friday shift is rated correctly rather than as Friday throughout.

Weekly overtime order

Prior ordinary hours in the same Monday-to-Monday week are summed by check-in then id, so the weekly-cap excess always lands on the later shift and appending a new shift never retroactively moves overtime onto already-stored rows.

Sibling recompute

Adding or re-timing one attendance recomputes the employee's other rows in that same work week, because weekly overtime and broken-shift detection are cross-record. The recompute is scoped to the week, not all of history.

Broken-shift idempotency

When an employee works two or more periods split by a gap of at least an hour, the day is flagged a broken shift and the broken-shift allowance is paid exactly once, on the day's last period, never duplicated across the periods.

Multi-company scoping

Awards and public holidays carry a company, and global record rules limit each company to its own rows plus company-agnostic ones. A holiday with no company set applies database-wide; a regional holiday only affects its own state or territory.

Open and zero rows

An attendance with no check-out, or an employee with no award assigned, computes to zero buckets and no applied award, so in-progress and annualised-salary staff never carry phantom awarded hours.

Cron isolation

The buckets are a stored compute that recomputes on its own dependencies, so the re-flush cron ships disabled and runs as root only when an operator turns it on to repair rows changed by mass import or raw SQL.

What is inside

Built to do the job, end to end.

  • Award record. Per-company eh.hr.award with daily and weekly ordinary caps, two overtime tiers and multipliers, Saturday, Sunday and public holiday rates, casual loading percent, minimum engagement, broken-shift allowance, plus child penalty bands and allowances. Positive-value constraints guard the core rate fields, and changes are tracked on the chatter.
  • Interval interpreter. A pure engine splits the worked interval at every midnight and penalty-band edge, picks the winning multiplier per segment (public holiday over Sunday over Saturday over an explicit band over ordinary), fills the daily ordinary cap then overtime tiers, and layers casual loading on every hour.
  • Attendance buckets. hr.attendance gains stored, read-only ordinary, penalty, overtime tier 1, overtime tier 2 and effective pay hour fields, plus the applied award, minimum-engagement top-up, broken-shift flag and allowance amount, all surfaced on the attendance list and form.
  • Public holiday calendar. eh.hr.award.public.holiday with date, company and Australian state or territory region. When the leave suite is installed it unions with the canonical eh.hr.public.holiday so a holiday entered once is honoured by both leave and award interpretation.
  • Penalty bands and allowances. Per day-type time-of-day penalty bands edited inline with float-time pickers, and award allowances priced per shift, per hour or per day with an auto-apply flag for the ones the engine should add to every attendance under the award.
  • Seed, security and cron. A cited General Retail baseline with an evening penalty band, a four-role access matrix over user, manager, admin and auditor, per-company record rules, and a disabled root-owned re-flush cron for repairing bulk-imported rows.

Honest about the edges

What this does not do, so nothing surprises you.

  • This is an interpretation layer, not a pay run. It outputs rate-weighted hours and allowance amounts as the input to an hourly-rate calculation; it does not compute dollar gross pay, tax or superannuation.
  • The shipped General Retail baseline is a cited FY2024-25 starting point, not legal advice. Award rates change with each annual Fair Work determination and vary by employment type, so verify every rate against the current determination before running payroll.
  • The engine assumes an hourly rate. Annualised-salary employees should be left without an award rather than awarded here.
  • Each segment takes one winning multiplier (the highest applicable), so penalties and weekend or holiday rates are not stacked on top of each other within the same segment.
  • Public holidays must be entered as data, by region, in the award calendar or the canonical leave calendar; no national holiday set is auto-generated.
  • Broken-shift detection keys on attendance periods recorded against the same calendar day, so unpaid breaks must be reflected as separate check-out and check-in pairs.
Search

Australian Modern Award Odoo, Fair Work attendance Odoo 16, penalty rates Odoo attendance, overtime calculation Odoo, casual loading Odoo payroll, weekly overtime 38 hours, public holiday penalty Odoo, broken shift allowance, minimum engagement award, hr_attendance award engine, AU payroll loading Odoo, ordinary penalty overtime split

Work with ERP Heritage

Need this fitted to the way you work?

ERP Heritage delivers end to end Odoo work: Odoo Implementation, Customization and Development, Integration, Migration, Consultation, Support and Training. We help teams put this module into production, shape it to their process, and keep it running.

Build and tailor
Odoo Implementation, Customization and Development, scoped to your workflow.
Connect and move
Odoo Integration and Migration across systems and Odoo versions.
Run and support
Odoo Support and Training so your team stays productive after go live.
Plan and advise
Odoo Consultation and ERP Consulting, from discovery to roadmap.

We work with businesses across Australia (Melbourne, Sydney, Brisbane, Perth, Adelaide, Canberra) and the Middle East (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, Kuwait City, Muscat). Start a conversation at erpheritage.com.au or email info@erpheritage.com.au.

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo HR, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Implementation Australia • LinkedIn

v1.0.0 · LGPL-3 · Odoo 16 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