Odoo Native Integration

Modified on Sun, 15 Jun at 5:14 PM

ZenHR’s integration with Odoo allows customers to push / transfer their employee's data (Contacts) and the calculated salaries from ZenHR to Odoo to gain all the benefits that come with the most user-friendly HRMS, ZenHR.


ZenHR is set to integrate seamlessly with the cloud editions of Odoo, starting from version 15 and extending to all subsequent releases such as V16, V17, and beyond.

How to Activate This Integration


To enable Odoo's built-in integration on ZenHR, the initial step involves creating an API key on ZenHR categorized as "Credentials". This API key serves the purpose of authorizing access to ZenHR for Odoo integration. 


On ZenHR: Create New API Key

  • Go to User Menu → System Preferences → Integration Setup → API Keys and click on Add API Key

  • Add the API key name and choose the authentication type Credentials




  • Fill in the Username and Password fields with the credentials that you can use to access your Odoo account as an administrator.



  • Click Create to save the API key.

 

On Odoo: Installing Apps:

Before diving into the integration, it's important to have a few key apps set up on Odoo:

  • Accounting.

  • Contacts.

  • Employees.


To set up these applications, just go to the main menu and open the Apps module:

  • Search the mentioned apps and click on "Install".



  • A confirmation message will be displayed to ensure that adding the new Apps will impact the pricing plan. Please verify with the customer before proceeding to install the Apps by clicking the "Confirm" button.



  • After installing the applications, they will be displayed in the main menu as modules.


On Odoo: Activating Developer Mode


To enable developer mode for utilizing Odoo APIs, navigate to the Settings module and select "Activate the developer mode".




After enabling developer mode, you will see the option "Load demo data" which enables you to populate the modules with sample data. If you want this feature, it is important to activate this feature only in a testing environment, not in the live Odoo account of the customer, as it will delete the existing data.



On Odoo: Getting The Database Identifier


The company database identifier in Odoo will be utilized to connect the company accounts on both ZenHR and Odoo.

To obtain the database identifier in Odoo 17, you can locate it on the right side of the screen next to the company name. In older versions, you can find it in the user menu. (Make sure Developer mode is activated)


On Odoo: Journal Entry ID


To get the journal entry ID, go to Accounting module → Configration →  Journals



Click on the journal that you want to use for the integration, where the journal entries received from ZenHR will be created in this type.

You can locate the ID in the URL as displayed below, or on the right side of the screen next to the pagination element.


On ZenHR: Odoo Integration Activation

Now, we are prepared to activate the integration on ZenHR.

  • Go to the Marketplace on the main menu or to System Preferences Integration Setup Marketplace Integrations Odoo Setup.




  • Select the API key that you created previously.

  • Insert the URL that you use to access Odoo.

  • Insert the Odoo company database identifier that we obtained previously from Odoo.

  • Insert the Journal ID that you want to use for the integration.

  • Activate the toggle in the Employee and Journal Entry sections, and click on the Save button. 




\



Important Note: Prior to activating the integration for employees, it is important to enter the internal ID of Odoo contacts into the integration ID field in the employee's personal data on ZenHR. Failure to include the employee's ID in the integration ID field when updating the employee on ZenHR may lead to the generation of a duplicate record for the same employee on Odoo. It is essential to prevent this duplication issue. You can fill them by going to Odoo Setup on ZenHR → Connected people. Check the picture below:

Additionally, make sure that the Organization levels (such as work location, departments, etc.) integration ID’s are consistent across both ZenHR and Odoo by going to Odoo Setup → Organizational Levels. Check the picture below:





Note: The integration ID is used when you need as the Odoo Analytic ID


Additionally, by going to the "GL Account" tab you will find the GL's that needs to be filled. After integrating successfully a drop down list will appear in these fields which reflects your "Chart of Accounts" in Odoo. Refer to this article "GL Accounts Explanation" for a brief description on what our GLs mean. Make sure to go through all the tabs (Incomes & Deduction, Loans, Etc). Check the picture below:




How to Use Odoo Integration


Upon successfully integrating Odoo with your ZenHR account, you gain the ability to map the GL account, manage employee records by creating and updating them on ZenHR, and seamlessly transfer journal entries for salaries, off-cycle financial transactions, employee settlements, company contributions, expenses, and provisions from ZenHR to your Odoo account.


Mapping Odoo GL Identifiers With ZenHR Financial Transactions


Once the integration with Odoo is enabled, the chart of accounts will be accessed through the APIs. Consequently, the GL account will be displayed in the GL Accounts fields across all financial transaction types pages, along with the payroll setup page on ZenHR.


To Add and Map GL Accounts:

  • On ZenHR, click your user icon in the upper right corner and go to System Preferences → Marketplace Integrations → Odoo Setup → GL Accounts.

  • Select the correct GL account for each salary transaction type from the dropdown list which will show the GL Accounts in your Odoo Account.

  • Then click “Update”.

 

To add Financial Transactions GL Accounts:

  • Navigate to Incomes & Deduction Tab in the same page above

  • Access the Financial Transaction Type by selecting “✎” icon on the Transaction Type entry.

  • Choose the GL Account Number and Clearance account Or Enter them Manually.

  • Finally, press on the “✔” icon.  

To add Loans GL Accounts:

  • Navigate to Loans Tab in the same page above

  • Access the specific Loan Type by selecting “✎” icon on the corresponding record.

  • Choose the GL Identifier and the Clearance account.

  • Finally, press on the “✔” icon. 

Adding Overtime GL Accounts

  • Access the Overtime Type  by selecting “✎” icon on the corresponding record.

  • Choose the GL Identifier and Clearance account.

  • Finally, press on the “✔” icon.  

Add Leaves and Vacations GL account:

  • Access the Leaves and Vacations Type by selecting “✎” icon on the corresponding record.

  • Select the GL Identifier and Clearance Account.

  • Finally, press on the “✔” icon. 


Posting Journal Entries


Upon activating the integration, you will be able to transfer journal entries for salaries, off-cycle financial transactions, employee settlements, company contributions, expenses, and provisions from ZenHR to your Odoo account.


Set Up Journal Entries Structure


Before initiating the transmission of journal entries from ZenHR to Odoo, it is essential to configure the Journal Entries Structure. This setup enables you to specify the types of journal entries for transfer, whether they are detailed on an employee level or summarized by a specific cost center, and if they should be dispatched automatically or manually. To accomplish this, please adhere to the following steps:

On ZenHR, go to System Preferences → Integration Setup → Journal Entries Structure.

  • Set up the way you would like your journal entries structured by completing the following fields, then click “Save”.


Note: For better understanding of this section please refer to "Journal Entries Structure" article


Posting salaries from ZenHR to Odoo

  • On the left side of the page, go to Main Menu Payroll → Manage Salaries. 

  • Filter the desired salary year and month for all employees, and click “Filter”.

  • Then click “Send to Odoo”, and your salaries will be transferred as journals.

Note: You must filter the “Date from” and “to” filters for the "Send to Odoo" button to appear.


Posting Off-Cycle Payments From ZenHR to Odoo
To auto-generate separate journals for off-cycle payments and post them with your payroll journal entries, follow these steps:

  • Click your user icon in the upper right corner and go to System Preferences → Integration Setup → Journal Entries Structure.

  • Activate the Auto-generate separate journals for off-cycle payments checkbox and click “Save”.



  • You can then post salaries from ZenHR to Odoo, and the transferred journals will include separate journal entries for your off-cycle payments. 

To manually generate your off-cycle payments journal entries, follow these steps: 

  • Click your user icon in the upper right corner and go to System Preferences → Integration Setup → Journal Entries Structure. 

  • Clear the Auto-generate separate journals for off-cycle payments checkbox and click “Save”.

     

  • Go to Main Menu Payroll → Manage Financials → Manage Financial Transactions → Off-Cycle Payments 

  • Use the “Date from” and “to” filters to filter out the duration of the transactions you wish to include in your journal entries, and click “Filter”.

  • In the Employee ID column, select the transactions you wish to include in your journal entries.

  • Then click “Send to Odoo”, and your off-cycle payments will be transferred as journals.

 

Note: You must filter the “Date from” and “to” filters for the "Send to Odoo" button to appear.


Posting Off-Cycle Vacation In-Advance Salaries From ZenHR to Odoo 


To auto-generate separate journals for off-cycle vacation in-advance salaries and post them with your payroll journal entries, follow these steps:

  • Click your user icon in the upper right corner and go to System Preferences → Integration Setup → Journal Entries Structure 

  • Activate the Auto-generate separate journals for off-cycle vacation in-advance salaries checkbox and click “Save”.

  • You can then post salaries from ZenHR to  Odoo, and the transferred journals will include separate journal entries for your off-cycle vacation in-advance salaries.

To manually generate your off-cycle vacation in-advance journal entries, follow these steps: 

  • Click your user icon in the upper right corner and go to System Preferences → Integration Setup → Journal Entries Structure.

  • Clear the Auto-generate separate journals for off-cycle vacation in-advance checkbox. 

  • Then click “Save”.


  • Go to Main Menu Payroll → Manage Financials → Manage Vacation In-Advance Salary.

  • Filter out the vacation in-advance salaries that fall within a specific time period by using the “In-advance from date” and  “In-advance to date” filters.

  • Select “Off-cycle” under Payroll status and click “Apply Filters”.

  • Then, under the Employee No. column, select the in-advance salaries you wish to include in your exported journal entries. Or you can select all the filtered salaries by clicking the “Select all” checkbox.

  • Then click “Send to Odoo”, and your off-cycle vacation in-advance salaries will be transferred as journals.



Posting Provisions From ZenHR to Odoo


To auto-generate journals for provisions and post them with your payroll journal entries, follow these steps:

  • Click your user icon in the upper right corner and go to System Preferences → Integration Setup → Journal Entries Structure

  •  Activate the Calculate employees' provisions toggle.

  • Activate the Auto-generate journal entries for employees' provisions toggle.

  • Then select the desired option under “How to generate provision journal entries”.

  • click “Save”.



You can then post salaries from ZenHR to Odoo, and the transferred journals will include journal entries for your provisions


To manually generate provisions journal entries, follow these steps: 

  • Click your user icon in the upper right corner and go to System Preferences → Integration Setup → Journal Entries Structure.

  • Activate the Calculate employees' provisions toggle.

  • Deactivate the Auto-generate journal entries for employees' provisions toggle.

  • Then select the desired option under select “How to generate provision journal entries”. 

  • Click “Save”.

 


  • Then on the left side of the page, go to Main Menu Payroll → Manage Monthly Provision. 

  • Enter the desired salary Year and Month for all employees, and click “Filter”.

  • Then click the“Send to Odoo” and your provisions will be transferred as journals.



Note: You must filter the “Date from” and “to” filters for the "Send to Odoo" button to appear.

 

Odoo Events Status & Verifying Issues 


Just as with any integration between two platforms, having a monitoring tool is essential to oversee all events and activities. This tool plays a crucial role in tracking the outcomes of these events efficiently, which can be achieved through the Odoo Events Viewer on ZenHR.

Odoo Events Viewer on ZenHR provides the functionality to retry sending failed posts. To access this feature, navigate to User Menu → System Preferences → Integration Setup → Financial Integrations → Odoo Setup and click on “Retry”.





Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article