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. Payroll Export v 18.0
  4. Sales Conditions FAQ

Payroll Export

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 18.0 Third Party 39
Download for v 18.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 2027
Technical Name eh_hr_attendance_payroll_export
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 2027
Technical Name eh_hr_attendance_payroll_export
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
Attendance to payroll, one clean file

Payroll Export for Attendance

Turn captured attendance into the exact CSV your payroll provider's bulk import expects, with a dry-run preview and a permanent record of every file you generate.

Free · LGPL-3Odoo 18 CommunityLGPL-3v1.0.0
Generic CSV
Xero Payroll
KeyPay
Employment Hero
MYOB

Why this module

Payroll Export for Attendance

The file your provider actually wants

Five formats, no glue code

Pick Generic, Xero, KeyPay, Employment Hero, or MYOB and the wizard writes that vendor's exact bulk-import column set with a UTF-8 byte-order mark, ready to upload through the vendor's own portal.

Look before you commit

Dry run is the default

Every run starts as a preview showing row count, employee count, total hours, and the first lines of the file. You only create a saved export and downloadable file once you turn the dry-run flag off.

Nothing gets lost

Every export is on the record

Committed runs are stored as audit rows with provider, date range, totals, who generated them, and when, on a chatter-tracked model. Re-run a period whenever you like; the new file sits next to the old one and stays re-downloadable.

Day in the life

Friday pay run, two minutes

Open Export payroll, the provider and a fortnight-to-today range are already filled in. Run it as a dry run first: 38 rows, 12 employees, 304 hours, headers look right. Two staff worked split shifts on Wednesday and each shows as a single 8 hour row, not two. Turn off dry run, run again, download the CSV, and upload it through your provider's portal. The saved run stays in Past exports if payroll queries it next week.

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.

Split shifts

Two or more attendances on the same calendar day for the same employee aggregate into one row, with hours summed and the earliest check-in and latest check-out kept. Test-confirmed: three attendances over two days produce two rows.

Open attendances

Rows with no check-out are excluded by default so half-finished shifts do not skew totals. An opt-in flag includes them, computing elapsed hours up to the date-to cutoff so an open punch never bleeds past the period end.

Multi-company scoping

Each saved export run carries a company and is fenced by a global record rule to the user's allowed companies. The wizard gathers attendance only for the selected company's employees, so one company's hours never leak into another's file.

Re-run safety

Re-running the same date range is allowed by design and never overwrites history. A new audit run is created alongside the previous one rather than mutating it, so the trail of what was sent and when stays intact.

Inverted date range

A constraint rejects a date-to earlier than date-from with a clear error before any attendance is read, so a transposed range cannot silently produce an empty or wrong file.

Read-only auditor

The auditor group gets read-only access to export runs and cannot create, edit, or delete them, while managers and admins can generate. Past files remain inspectable without being alterable by audit staff.

Empty period

A range with no matching attendance still emits a valid file with the provider's header row and zero data rows, so a quiet pay period produces a clean importable file rather than an error.

What is inside

Built to do the job, end to end.

  • Export wizard. A transient eh.hr.payroll.export model with provider, date range, optional employee filter, an include-open-attendances flag, and a dry-run toggle. It gathers and aggregates attendance, then hands clean row dicts to the chosen exporter function.
  • Provider exporters. Five pure-Python exporter functions, one per format, each writing its vendor's header and column order. Xero carries the analytic into Tracking 1, KeyPay and Employment Hero write start and end timestamps plus a cost centre, and MYOB writes a Card ID that falls back to work email.
  • Audit run model. A stored eh.hr.payroll.export.run model on mail.thread, recording provider, date range, row and employee counts, total hours, the file as an attachment, the generating user, and the timestamp. A retention horizon and built-in sweep method let you trim old runs by company.
  • Settings and menus. A default provider and retention-days setting under the attendance suite settings, plus Payroll menu entries for Export payroll and Past exports gated to the manager and auditor groups.

Honest about the edges

What this does not do, so nothing surprises you.

  • CSV files only. This module does not maintain live API connectors to any payroll vendor; the operator uploads the generated file through the vendor's own bulk-import portal.
  • It reads attendance hours; it does not calculate pay, tax, leave, or award interpretation. It produces timesheet-style input for a payroll system, not payslips.
  • The retention horizon ships with a built-in sweep method and a configurable days setting, but no scheduled job is registered out of the box, so trimming old runs is not automatic until a cron is added.
  • MYOB Card ID and the analytic or project columns are populated when the relevant employee reference and the attendance job-costing module are present; without them, Card ID falls back to work email and analytic columns stay blank.
  • Provider column layouts target each vendor's documented bulk import. Vendors occasionally revise their import templates, and the operator may still need to map columns inside the vendor portal.
  • Requires the ERP Heritage attendance base and the standard hr_attendance module; it is part of the suite, not a standalone payroll product.
Search

payroll export odoo 18, attendance to payroll csv, xero timesheet export, keypay timesheet import, employment hero timesheet, myob timesheet import, hr attendance payroll export, timesheet csv export odoo, split shift aggregation, payroll export audit trail, odoo 18 community payroll, dry run payroll export

ERP Heritage

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

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