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

AU Award Engine

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 30
Download for v 19.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 · Attendance Suite

AU Modern Award Engine

Interpret every attendance into ordinary, penalty, and overtime hours against your Australian Modern Award, automatically, on Community.

Free · LGPL-3Free · LGPL-3Odoo 19 · Communityv1.0.0
Interval split
Penalty bands
Overtime tiers
Weekly 38h cap
Casual loading

Why this module

AU Modern Award Engine

01 / DEPTH

Segment by segment, not one rate per shift

A shift from Friday 22:00 to Saturday 02:00 is not billed entirely as Friday ordinary. The engine cuts the interval at every midnight and penalty band edge, classifies each segment by its own date and clock, and applies public holiday over Sunday over Saturday over band over ordinary. The hard part of award work, done in code.

02 / WIRED

Writes straight onto the attendance row

Ordinary, penalty, overtime tier 1, overtime tier 2, and effective pay hours are stored computes on hr.attendance with the right dependencies. Close a shift, change an employee award, or add a public holiday, and the buckets recompute. The payroll exporter, list, and form all read the awarded values with no extra step.

03 / OWNERSHIP

Your rates, your award, yours to keep

Rates are data on a per company award record, never hard coded. A General Retail baseline ships configured so loadings apply on day one. LGPL-3 source on disk, no activation key, no phone home. Copy the baseline, edit the multipliers, and model whatever award your workforce sits under.

Day in the life

A retail manager runs a week of mixed shifts.

An employee works four weekday day shifts and one Friday late that runs past 6:00 pm and on into Saturday morning. The engine fills the daily ordinary cap, then tips the Friday excess into overtime tier 1; the post 6:00 pm segment picks up the configured evening band, and the segment after midnight is classified as Saturday penalty at the Saturday rate. Across the week, the ordinary hours that cross the 38 hour cap on the last shift move into the overtime tiers, and adding that Friday shift recomputes the rest of the week so the overtime lands on the right row regardless of entry order. A casual flag adds the award loading to every hour. Each attendance ends up carrying its ordinary, penalty, two overtime tiers, and effective pay hours, ready for the payroll exporter.

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

A shift that spans midnight is split at the boundary and each side is classified by its own date. Friday 22:00 to Saturday 02:00 is two ordinary hours on Friday and two Saturday penalty hours, not four Friday ordinary hours.

PRECEDENCE · LADDER

When a day is both a weekend and a public holiday, the public holiday rate wins. The classifier ranks public holiday over Sunday over Saturday over an explicit penalty band over ordinary, segment by segment, so a holiday never silently gets paid as a normal weekend.

WEEKLY OT · ORDER INDEPENDENT

Weekly overtime over the 38 hour cap and broken shift detection are cross record. Adding or editing one shift recomputes the employee's other attendances in the same Monday to Monday work week, so the overtime excess and the once per day broken shift allowance stay correct no matter what order shifts are entered.

BROKEN SHIFT · ONCE PER DAY

Two or more periods on one day split by an unpaid gap of an hour or more mark a broken shift, and the flat allowance is paid exactly once, on the last period worked that day, never doubled across the periods.

MIN ENGAGEMENT · TOP UP

A shift shorter than the award minimum engagement is topped up to the floor in a separate field, kept out of the rate weighted pay hours so it does not distort the multiplier maths; the payroll exporter sums it in.

MULTI COMPANY · SCOPED

Awards and public holidays are scoped by a global per company record rule, with a company empty value meaning all companies. When the leave suite is installed, the award reads the canonical public holiday calendar unioned with its own rows, so a holiday entered once is honoured in both places.

OPEN · GUARDED

An attendance with no check out, a zero or inverted duration, or an employee with no assigned award resolves to all zero buckets rather than a half computed or negative result. Award rates are constrained positive at write time.

What is inside

Built to do the job, end to end.

  • Per company award records. Each award carries the daily ordinary cap, weekly cap, two overtime tier multipliers and the tier 1 hour cap, Saturday, Sunday and public holiday rates, casual loading percent, minimum engagement floor, and broken shift allowance. A General Retail Industry Award MA000004 baseline ships configured. Rates are tracked on the chatter for an audit trail.
  • Configurable penalty bands. Add time of day penalty bands per award, each with a day type (weekday, Saturday, Sunday, or any day), a start and end hour, and a multiplier. The interval engine applies a band only to the part of the shift that falls inside it, layered under overtime and casual loading.
  • Allowances. Define award allowances with a code, an amount, and a per shift, per hour, or per day unit. Mark an allowance auto apply to add it to every attendance under that award, or leave it for the payroll operator to attach case by case. Amounts are summed into an allowances field on each attendance.
  • Stored buckets on every attendance. Ordinary hours, penalty hours, overtime tier 1 and tier 2 hours, effective pay hours, the award that was applied, the minimum engagement top up, a broken shift flag, and the allowance amount are all stored fields, surfaced on the attendance list and form and ready for export.
  • Public holiday calendar. A public holiday model with a date, an optional company, and a state or territory region. National holidays apply everywhere; the calendar unions with the suite wide leave calendar when that suite is installed so holidays are entered once.
  • Re-flush cron, off by default. Buckets recompute automatically through stored compute dependencies, so no periodic sweep is needed in normal flow. An off by default cron is included to re-flush attendances closed in the last seven days for the rare case where a bulk SQL update or mass import bypassed the recompute.

Honest about the edges

What this does not do, so nothing surprises you.

  • This is an attendance interpretation engine, not a full payroll run. It assumes an hourly rate and produces hours and allowance amounts as inputs; pay slips, tax, and superannuation are out of scope. Annualised salary employees should be left without an award assigned.
  • The shipped General Retail baseline is a cited, working starting point as at FY2024-25, not a substitute for the current determination. Award rates change with each annual Fair Work determination and vary by employment type, so the operator must verify every rate before running payroll.
  • The public holiday model carries a state or territory region, but the attendance compute path does not yet filter holidays by employee region; a public holiday row affects every attendance in its company. Use the company field to scope holidays where regional variation matters.
  • Penalty bands cover time of day and day type. Award rules that depend on consecutive days, rostered day off interactions, shift length thresholds beyond the daily cap, or annual leave loading are not modelled and would need a follow up.
  • The engine reads naive shift datetimes and uses a Monday to Monday work week; configure shifts so they do not straddle a week boundary in a way your award treats specially.
Search

Australian Modern Award Odoo, Fair Work penalty rates Odoo 19, attendance overtime calculation, casual loading award engine, public holiday loading attendance, weekend penalty rate Odoo, minimum engagement broken shift, hr_attendance award interpretation, Odoo 19 Community payroll input, span of hours penalty band, weekly overtime 38 hour cap, 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 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