Employment Hero Canada
Canadian payroll identifiers on the employee record, populated by the Employment Hero sync engine, with no Enterprise dependency.
Store price is USD 175 all-in: installing this also pulls the 4 paid ERP Heritage modules it depends on.
Why this module
Employment Hero Canada
The fields Canadian payroll needs
Adds the Social Insurance Number, the province of employment code used for tax, and the federal TD1 claim code to the employee record, so Canadian staff carry the identifiers a payroll integration expects without bespoke custom fields.
National id access is restricted
The Social Insurance Number and the TD1 claim code are limited to HR users through Odoo field level groups, so a sensitive national identifier is not exposed to every employee reader. The province code stays visible for general use.
Source paths you can retune
The three field mappings ship as data marked non updating, so when your Employment Hero payload names a field differently you edit a configuration row rather than patching the module.
Day in the life
How it behaves in a running system
Install the pack alongside the suite and a Canada country profile is registered automatically, with a database constraint keeping it unique per country. When the sync engine pulls an employee, it walks the shipped mapping lines, reads the source path for each Canadian field out of the Employment Hero payload, and writes the value to the employee record. Empty values are skipped by default rather than blanking an existing field, and identifiers the upstream platform owns are read in without being pushed back. The HR team sees the Social Insurance Number, province of employment, and TD1 claim code in the Employment Hero Canada group on the employee form, with the sensitive identifiers hidden from non HR users.
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.
Each mapping line defaults to skip if empty, so a missing value in the payload leaves the existing field untouched instead of overwriting it with a blank.
Mapping rows are shipped non updating, so the dotted source path for the SIN, province, or TD1 code can be retuned per deployment to match your real payload without losing the change on upgrade.
Because the engine upserts against an external id cross reference, re syncing the same Canadian employee updates the existing record rather than creating a duplicate.
The Social Insurance Number and TD1 claim code are bound to the HR user group at the field level, so a non HR user reading an employee never sees the national identifier.
A unique per country database constraint prevents a second Canada profile being created if the pack is reinstalled or a profile is added by hand.
Mapping lines can be marked pull only so an identifier the upstream platform owns is read into Odoo and never pushed back over a local display mask or placeholder.
What is inside
Built to do the job, end to end.
- Three Canadian employee fields. eh_sin, eh_province_code, and eh_td1_federal_code are added to hr.employee. The SIN and TD1 code are restricted to the HR user group; the province code is unrestricted. All three appear in an Employment Hero (Canada) group on the employee form under HR settings.
- Canada country profile. A single eh.country.profile record for Canada is registered through the shared country base, with a stable CA code and a sequence, anchored by a unique per country constraint so a deployment can see at a glance that the Canadian localisation is active.
- Three field mapping lines. Data rows extend the suite employee mapping with source paths for the SIN, province of employment, and TD1 federal code. They are marked non updating so edits survive upgrades, and they inherit the engine behaviour for skip if empty, transformers, and pull direction.
- Inherited engine behaviour. The pack depends on the connector and HR sync modules, so it rides on their idempotent upsert against an external id cross reference, their append only audit of sync runs, and their OAuth credential handling. It adds no transport, queue, or webhook code of its own.
Honest about the edges
What this does not do, so nothing surprises you.
- This module does not validate the format of the Social Insurance Number or the TD1 code. There is no checksum, Luhn, or pattern check; values are stored as received from the payload.
- It contains no API client, queue, webhook handler, or sync orchestrator. Those live in the connector and engine modules it depends on and must be installed and configured separately.
- It does not compute Canadian payroll, tax, or statutory deductions. It carries identifier and classification fields only, not a payroll calculation engine.
- Sync is read into Odoo. The pack ships the Canadian field mappings; it does not on its own push Canadian identifiers back out to the upstream platform.
- Field population depends on your Employment Hero payload actually carrying the SIN, province, and TD1 values at the mapped source paths. If a value is absent, the field stays empty.
- This is the Odoo 16 Community build. Use the matching build of the suite for other Odoo versions.
Employment Hero Canada Odoo, Canadian payroll Odoo integration, Social Insurance Number Odoo employee, TD1 federal claim code Odoo, province of employment Odoo, Odoo 16 Canada HR localisation, Employment Hero connector country pack, hr.employee Canadian identifiers, Odoo Community payroll integration, data driven field mapping Odoo
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.
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.
Modules teams pair with this one.
Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.
Sync attendance clock events from the Employment Hero people platform into the stock Odoo Attendances app, keyed...
The United Kingdom country pack for the ERP Heritage Employment Hero integration
Sync Employment Hero employees, departments and payroll bank details into standard Odoo Community HR over the pla...
Inbound webhook receiver for the Employment Hero people and payroll platform on Odoo 16 Community
Real-time fiscalisation of customer invoices and credit notes with the Mauritius Revenue Authority e-Invoicing (E...
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 4124 |
| Technical Name |
eh_hero_country_ca |
| License | OPL-1 |
| Website | https://www.erpheritage.com.au/ |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module