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 Migration v 16.0
  4. Sales Conditions FAQ

Attendance Migration

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 16.0 Third Party 45
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!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
ERP Heritage · HR Platform
One-time switching tool

Attendance Migration for Odoo 16

Move employees and punch history off any old time clock with two CSV wizards, dry run first, commit when the preview is clean.

Free · LGPL-3Odoo 16 CommunityTwo CSV wizardsv1.0.0
Employee CSV importer
Attendance history CSV importer
Dry run preview
Match by email then name
Department auto-create

Why this module

Attendance Migration for Odoo 16

Dry run first

See the outcome before you commit

Every run defaults to dry run. The wizard reports what it would create, update, or skip per row and writes nothing to the database. Fix the source CSV, re-run, and only commit once the preview is clean.

Vendor neutral

No per-vendor adapter to wait for

Columns are matched case-insensitively from the header row, and the match strategy is chosen on each run. Any old system that exports CSV is in scope. There is no live connection to the system you are leaving.

Honest by design

It tells you what it will not do

Face templates cannot carry across recognition models, so re-enrolment is required. Consent is not imported because it must be granted fresh at the new system. The tool is explicit about both rather than implying a clean lift and shift.

Day in the life

Cutover weekend, old clock going dark

You export employees and the last few years of punches from the outgoing system as CSV. In Odoo, the employee wizard runs dry: it matches existing people by email then name, flags new hires it would create, and resolves each default kiosk site by code. The preview shows two name collisions, so you fix the CSV and re-run until it is clean, then commit. Next the attendance wizard runs dry against the same people, parses the timestamps across the formats the old clock used, and skips a handful of rows for staff who already left. You commit, read the result log, and the punch history is now native hr.attendance with check-in and check-out intact.

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 match

Employees are matched by work email then full name using case-insensitive search, so re-running the import updates the same person rather than creating a duplicate. Update mode can be turned off to skip matched rows entirely.

Blank-safe update

Only non-empty CSV cells are written on update, so a partial CSV cannot wipe existing employee data with blanks.

Per-row isolation

A bad row raises inside its own try block, is counted as an error with its message in the log, and the rest of the import keeps going. One malformed line never aborts the whole run.

Open attendance

An empty check_out is allowed and stored as an open attendance. A check_out that is not strictly after check_in is rejected as a row error, never written.

Datetime tolerance

Timestamps are parsed across six formats including ISO with a space or a T separator and day-first slashes, so exports from different clocks land without manual reformatting.

Multi-company scope

Default kiosk sites resolve by code within the active company only, and an unknown site code is ignored rather than blocking the row.

Unknown employee policy

For attendance, unmatched employees are either skipped and logged or, in strict mode, raised as an error so the operator decides whether to halt or continue.

What is inside

Built to do the job, end to end.

  • Employee CSV wizard. Imports name, work email, job title, kiosk PIN, default kiosk site by code, default analytic account, and department. Departments are created when missing. Match by email, by name, or email then name, with an update-existing toggle.
  • Attendance history CSV wizard. Creates hr.attendance rows from check_in and optional check_out, matching the employee by email or name. Optional analytic and project per row are mapped only when the jobcost module adds those fields to the attendance row.
  • Dry run and result log. Both wizards default to dry run and produce a text result with created, updated, skipped, and error counts plus a per-row line, so you can correct the source file and re-import with confidence.
  • Configurable parsing. Encoding is selectable as UTF-8, UTF-8 with BOM, or Latin-1, and the delimiter as comma, semicolon, or tab. The header row drives column mapping with case-insensitive normalisation.
  • Access control. Both wizards and the Migration menu are limited to the attendance suite admin and manager groups inherited from the base module, keeping a one-time cutover task out of ordinary users' hands.

Honest about the edges

What this does not do, so nothing surprises you.

  • Face templates are not migrated. Different recognition models produce incompatible embeddings, so employees must re-enrol at the new system.
  • There is no live API or connector to the outgoing system. This is a one-time CSV switching tool, not an ongoing integration.
  • Prior consent is not imported by design. Consent must be granted fresh at the new system after the employee reads the new privacy notice.
  • Imports run interactively from the wizard. There is no scheduled or cron-driven import in this module.
  • Analytic, project, and the default analytic account on the employee are only mapped when the optional jobcost module has added those fields. Without it those columns are quietly ignored.
  • Requires the eh_hr_attendance_base module and standard hr_attendance. Kiosk site and PIN mapping depend on the base module's fields.
  • Built and tested for Odoo 16 Community.
Search

attendance migration odoo 16, attendance csv import, hr_attendance import, employee csv import odoo, time and attendance migration, biometric attendance switch, punch clock data migration, time clock history import, odoo 16 community attendance, import check in check out, attendance dry run import, vendor neutral attendance import

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.

العربية简体中文繁體中文NederlandsFrançaisDeutschहिन्दीBahasa IndonesiaItaliano日本語한국어PolskiPortuguês (Brasil)РусскийEspañolSvenskaไทยTürkçeTiếng Việt
More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 9
Employment Hero Country Base

Shared foundation for the ERP Heritage Employment Hero country packs

USD 29
Employment Hero AU Payroll

Australian payroll context for the Employment Hero work entry sync

USD 19
Employment Hero Onboarding

Bring Employment Hero onboarding workflows, employee goals and contractor flags into Odoo Community as real recor...

USD 349
France e-Invoicing

End to end French B2B and B2G electronic invoicing for the DGFiP reform, generating Factur-X PDF/A-3 with embedde...

USD 34
ZainCash Payment Provider

Accept ZainCash wallet payments in Iraq at your Odoo checkout, on the ZainCash Payment Gateway v2 with OAuth2, re...

USD 39
Employment Hero ATS

Sync Employment Hero ATS recruitment job openings into the standard Odoo Recruitment app, mapping each opening on...

ERP Heritage

v1.0.0 · LGPL-3 · Odoo 16 Community

Developed by Odoo Implementation Australia • LinkedIn

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 1991
Technical Name eh_hr_attendance_migrate
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/

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