Back to Blog

April 29, 2026

Odoo Now Clears Bank Account Details When You Duplicate an Employee Record

Odoo fixes a data integrity gap in the HR module where duplicating an employee record also copied their bank account, creating a scenario where two employees shared the same salary deposit destination.

Duplicating an employee record is one of those mundane administrative tasks that HR teams do without thinking twice. You’re onboarding someone in the same department with the same job title, so you copy an existing record and change the name. It saves ten minutes of filling out the same fields. Until it doesn’t.

Odoo’s HR module had a quiet problem: when you duplicated an employee, the new record inherited the original employee’s bank account. Not a copy of the bank account details — the actual linked bank account record. Both employees now pointed to the same bank account in the system. Run payroll, and both salaries route to the same destination.

Odoo HR employee form showing the bank account field that is now cleared on duplication

One Line, One Fix, One Prevented Disaster

The fix is exactly one line of code. The bank_account_idfield on the employee model now carries a copy=Falseattribute, which tells Odoo’s ORM to skip this field during record duplication. When an HR administrator duplicates an employee, the bank account field on the new record starts empty instead of inheriting the source employee’s financial routing.

It’s the kind of fix that feels obvious in hindsight. Odoo already sets copy=Falseon other sensitive fields like badge IDs and attendance PINs. Bank accounts should have always been in that category. The fact that they weren’t is less about an oversight in design and more about how duplication defaults work in Odoo’s ORM — fields copy by default unless explicitly told not to.

The Scenario That Makes This Dangerous

Consider the timeline. An HR coordinator duplicates Employee A to create Employee B in the same department. Both records now share the same bank account. Employee B’s HR profile looks complete — there’s a bank account attached, so the coordinator moves on to the next task. No warning, no validation error, no flag.

Payroll runs at the end of the month. Employee A receives their normal salary. Employee B’s salary also goes to Employee A’s bank account. Now you have a payroll correction to process, an employee who didn’t get paid on time, a bank transaction that needs to be reversed or redirected, and a compliance conversation with the finance team about how it happened.

Multiply this by a company that onboards in batches — seasonal retail hiring, contractor rollouts, franchise staffing — and the duplication workflow gets used heavily. Every copy was a potential mismatch.

Data integrity flow showing how employee duplication now handles sensitive fields

What This Means for Existing Records

The fix prevents future duplications from carrying bank account data forward, but it doesn’t retroactively clean up records that were already duplicated. Companies that have used the duplication feature in the past should audit their employee records for shared bank account IDs — especially if they’ve noticed payroll routing anomalies that were attributed to manual entry errors.

A quick database query checking for multiple employees linked to the same bank_account_idwould surface any existing cases. It’s a five-minute check that could save a month of payroll headaches.

For Odoo deployments running the latest 19.0 update, the fix applies automatically. New employee duplications will start with a blank bank account field, and the HR team will need to deliberately enter the correct banking details — which is exactly the behavior you want for a field that controls where someone’s salary lands.

Ready to experience Odoo AI?

Join hundreds of teams using DearERP to customize Odoo in minutes, not weeks. Plans start at $29/month.