Employment Hero Documents Sync
Pull certifications and employee document metadata from the Employment Hero people platform into Odoo, with a two-way leg for certifications.
Store price is USD 117 all-in: installing this also pulls the 2 paid ERP Heritage modules it depends on.
Why this module
Employment Hero Documents Sync
Two HR records out of the box
Community ships no certification and no document model. This adds both, with employee link, company scoping and chatter, so qualifications and document metadata have a real home in Odoo.
Certifications sync both directions
The certification job pulls the platform list and pushes create and update back through the org endpoints, governed by a conflict policy so a record edited in Odoo and one edited upstream are reconciled, not overwritten blindly.
Mappings you change from the UI
Endpoints, field mappings and sync jobs ship as data with no-update flags, so you adjust source paths and target fields to your organisation's payload shape from the user interface, no code and no upgrade overwrites.
Day in the life
A working day with the connector
Run the employee sync first so the external id cross reference is in place, then run the certifications job. New first aid and police check records appear under the matched employee with issue and expiry dates, ready for a reminder filter. A licence renewed in Odoo is pushed back upstream on the next run; one renewed in Employment Hero is pulled down; the conflict policy decides which side wins when both moved. The documents job lists each employee's document metadata with a link back to the file in Employment Hero. A malformed record is logged on its own line and skipped while the rest of the batch lands, so one bad row never stalls the run.
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.
Every record is keyed by its external id through the cross reference, so re-running a job never duplicates and an unchanged payload is a no-op skip.
Each record processes inside its own savepoint. A failed write rolls back just that record, is logged as an error line, and the run ends in a partial state instead of aborting the whole batch.
The certification job uses a conflict policy (newest wins by default) so a record changed in Odoo is pushed, one changed upstream is pulled, and a byte-identical outbound payload is skipped to avoid a write storm.
Outbound create and update writes carry a stable idempotency key, so a retried push is deduplicated by the platform instead of creating a second copy.
Certifications and documents resolve to the correct employee through the external id cross reference, so a record always lands on the right Odoo employee even when names collide.
List endpoints are walked page by page by the sync engine until a short page signals the end, so a large certification set syncs without a manual page limit.
Both records carry a company field defaulted to the active company and shown only under multi-company, so records stay scoped per company.
The HR platform connection refreshes its OAuth access token under a single-flight lock, so concurrent jobs do not trigger duplicate refreshes mid-sync.
What is inside
Built to do the job, end to end.
- Certification record. eh.hr.certification holds name, reference or licence number, issue date, expiry date and upstream status, linked to the employee, with list, form and search views grouped by employee and status and a chatter for tracking.
- Document metadata record. eh.hr.document holds title, document type, upload date and a source URL link back to Employment Hero. It stores metadata only and does not download the binary file in this version.
- Shipped endpoints and mappings. Document and certification endpoints, two field mappings and two sync jobs ship as data. Mappings carry no-update flags so your edits survive upgrades; adjust source paths to match your organisation's payload.
- Two-way certification job. The certification job is configured both ways: pull the list, push create through POST and update through PATCH to the org certification endpoints, with a push domain you narrow before enabling the push leg.
- Pull-only document job. The document job pulls employee document metadata. Documents are an employee sub-resource, so a deployment drives the pull per employee with the employee id supplied as a path parameter.
- Runs on the shared engine. Built on the Employment Hero base and sync modules, which provide pagination, retry with exponential backoff and jitter on 5xx, timeout and 429, idempotent re-runs, dry-run preview and scheduled cron runs.
Honest about the edges
What this does not do, so nothing surprises you.
- Document records store metadata and a source URL only. The binary file is not downloaded into Odoo in this version; the link points back to the document in Employment Hero.
- Two-way sync applies to certifications only. The document job is pull from Employment Hero into Odoo.
- The document pull is an employee sub-resource, so it is driven per employee with the employee id supplied as a path parameter rather than one org-wide call.
- Real-time webhook delivery and asynchronous queue processing are provided by separate modules in the suite and are not included here; this module syncs on demand and on the scheduled run.
- Field mappings ship as starter defaults aligned to a typical payload shape and may need their source paths tuned to your organisation before the first sync.
- Requires a configured Employment Hero connection from the base module and the employee sync run first so the external id cross reference resolves.
- Works with stock Odoo Community HR. It does not depend on or extend Enterprise HR document features.
Employment Hero Odoo integration, Employment Hero documents sync, Odoo HR certification tracking, employee qualification expiry Odoo, Employment Hero connector Odoo 18, Odoo 18 Community HR, two-way certification sync, employee document metadata Odoo, HR people platform integration, Odoo external id matching, certification licence reminder Odoo, configurable sync field mapping
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.
Inbound webhook receiver for the Employment Hero people and payroll platform on Odoo 18 Community
Real-time fiscalisation of customer invoices and credit notes with the Mauritius Revenue Authority e-Invoicing (E...
The Canada country pack for the ERP Heritage Employment Hero integration
A dependency free asynchronous job queue that runs long running and fan out work out of band of the request that...
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Employees (hr) |
| Community Apps Dependencies | Show |
| Lines of code | 3915 |
| Technical Name |
eh_hero_documents |
| 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