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 17.0
  4. Sales Conditions FAQ

AU Award Engine

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 17.0 Third Party 30
Download for v 17.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
ERP Heritage / HR Attendance

AU Award Engine for Attendance

Splits every attendance shift into ordinary, penalty, and overtime hours under your configured Australian Modern Award, then writes the weighted pay hours straight back onto the attendance row.

Free · LGPL-3FreeLGPL-3v1.0.0
Interval engine
Penalty bands
Daily + weekly overtime
Casual loading
Public holidays

Why this module

AU Award Engine for Attendance

01 / DEPTH

An interval engine, not a flat rate

Each shift is split at every midnight and penalty-band edge, and every segment is classified by its own date and clock time. A Friday 22:00 to Saturday 02:00 shift is paid as two Friday ordinary hours plus two Saturday penalty hours, not four flat hours. Daily and weekly overtime and casual loading layer on top, all in the shipped code.

02 / CONFIGURABLE

Your award, your numbers

Caps, overtime tiers and multipliers, Saturday, Sunday and public holiday rates, casual loading, minimum engagement, time-of-day penalty bands, and allowances are all data on the award record. A General Retail Industry Award MA000004 baseline seeds on install as a cited, working starting point to copy and edit.

03 / WIRED IN

Stored where payroll reads it

Results are stored computes on hr.attendance with the right dependencies, so they recompute when a shift closes, an employee's award changes, or a public holiday is added. Adding a shift re-flushes its siblings in the same week so weekly overtime and broken-shift detection stay consistent and order-independent.

Day in the life

A retail roster manager closes a casual's week.

A casual works five shifts: a short Tuesday afternoon, a split Wednesday with a four-hour gap, a Friday evening that runs past 6pm and over midnight into Saturday, and two weekend days. The engine splits each shift at midnight and at the 6pm evening band, pays the Friday tail at ordinary and the Saturday hours at the weekend rate, adds 25 percent casual loading to every hour, tops the short Tuesday up to the three-hour minimum engagement, marks Wednesday as a broken shift and pays its allowance once on the later period, and tips the hours past the 38-hour weekly cap into tier-1 overtime on the last shift. Every number lands on the attendance rows, ready for the payroll exporter, with nothing keyed 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.

MIDNIGHT CROSSING

The interval engine splits a shift at every midnight, so an overnight shift is classified by each segment's own date. Friday 22:00 to Saturday 02:00 is two Friday ordinary hours plus two Saturday penalty hours, not four flat Friday hours.

WEEKLY OVERTIME

Beyond the daily cap, the engine sums an employee's prior ordinary hours earlier in the same Monday-to-Sunday week and tips this shift's excess over the 38-hour weekly cap into the overtime tiers. The excess deterministically lands on the later shift, ordered by check-in then id, so appending a shift never retroactively moves overtime onto already-stored rows.

SIBLING RECOMPUTE

Weekly overtime and broken-shift detection are cross-record. Creating or re-timing one attendance recomputes the buckets of the employee's other attendances in the same week, so siblings never keep stale values and the result is order-independent.

BROKEN SHIFT

When an employee works two or more periods split by an unpaid gap of at least an hour on one day, every period is flagged a broken shift and the flat broken-shift allowance is paid exactly once, on the day's latest period, so it is never double-counted.

PRECEDENCE

Rate selection is ordered: public holiday beats Sunday beats Saturday beats an explicit time-of-day penalty band beats ordinary. A public holiday on a Saturday is paid at the public holiday rate, not the Saturday rate.

MULTI-COMPANY

Awards and public holidays are scoped by a global record rule, with company_id left empty meaning the row applies to every company. The compute resolves the holiday calendar against the employee's own company so a regional or company holiday only affects the right workforce.

SINGLE HOLIDAY CALENDAR

When the wider leave suite is installed, the award reads the canonical public holiday calendar unioned with its own award-local rows, so a holiday entered once is honoured by both leave and award interpretation instead of two calendars drifting apart.

BULK-IMPORT CRON

A re-flush cron, off by default, re-triggers the compute on attendances closed in the last seven days. It is there for the case where a mass import or manual SQL update slipped past the ORM's automatic recompute, and the operator turns it on only if needed.

DEGENERATE INPUT

A zero-duration, inverted, or still-open shift, or an employee with no award, returns all-zero buckets rather than a wrong number. Award caps and multipliers are constrained to be positive so a misconfigured rate cannot silently zero out pay.

What is inside

Built to do the job, end to end.

  • Configurable Modern Award record. A per-company eh.hr.award model holding daily and weekly ordinary caps, two overtime tiers with their multipliers, Saturday, Sunday and public holiday rates, casual loading percent, minimum engagement, and a broken-shift allowance. All rates are positive-constrained and tracked on the chatter.
  • Penalty bands and allowances. Time-of-day penalty bands (for example a weekday evening loading after 6pm) on eh.hr.award.penalty, classified per segment by day type and clock time. Allowances on eh.hr.award.allowance priced per shift, per hour, or per day, with an auto-apply flag for the ones that attach to every shift.
  • Stored buckets on the attendance. hr.attendance gains stored ordinary, penalty, overtime tier 1 and tier 2, effective pay hours, the award applied, a minimum-engagement top-up, a broken-shift flag, and an allowance amount, surfaced on the attendance list and form views.
  • Per-region public holiday calendar. An eh.hr.award.public.holiday model with company scope and Australian state and territory regions, unique per date and company, that the engine reads per segment so a regional holiday only affects that region.
  • Seeded MA000004 baseline. A General Retail Industry Award MA000004 baseline seeds on install with a 25 percent casual loading, a three-hour minimum engagement, and a weekday evening penalty band, as a cited, working record to copy and adapt, not a substitute for the current determination.
  • Security, scoping, and tests. Read, manager, admin, and auditor access on every model, global per-company record rules, an off-by-default re-flush cron, and a unit and integration test suite covering the interval engine, weekly overtime, casual loading, bands, broken shifts, allowances, and the stored attendance computes.

Honest about the edges

What this does not do, so nothing surprises you.

  • The seeded General Retail Industry Award MA000004 rates are a cited baseline as at FY2024-25, 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 assigned rather than awarded here.
  • The default award on the company is a configuration setting only. It is not automatically copied onto new employee records, so set each employee's award explicitly.
  • Classification works from the attendance check-in and check-out times only. It does not infer rostered breaks or reconcile against a separate roster or timesheet.
  • This is an award interpretation and pay-hours layer. It computes weighted hours and allowance amounts for a payroll exporter to consume; it does not itself produce payslips, tax, or superannuation.
Search

Odoo 17 Australian award, Modern Award Odoo, Fair Work penalty rates Odoo, hr_attendance overtime calculation, casual loading Odoo, public holiday loading payroll, weekly overtime 38 hours, broken shift allowance, minimum engagement award, AU payroll attendance Odoo 17, ordinary penalty overtime hours, General Retail Industry Award MA000004

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 17 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