Visma.net Payroll integration

This is how you connect Visma.net Payroll to Huma to enable an automated sync of absence and employee data

Step 1: Get a Tenant ID from Visma.net Payroll

Step 2: Connect Huma to Visma.net Payroll and choose if you want to transfer absence

Step 3: Activate the integration. Synchronize users and choose how to handle conflicts or missing value

Step 4: Your connection between Huma and Visma.net Payroll is active 🥳

How to sync users

Supported fields

Necessary permissions

FAQ: Absence Integration

Step 1: Get a Tenant ID from Visma.net Payroll

  1. Log in to Visma.net Payroll as an administrator (with access to the App Store)
  2. Go to the Visma.net App Store, find and open the Huma HR app 
  3. Click Authorize app in the bottom of the Huma store page 
  4. Make sure both 'Read employees' and 'Write employees' are activated before you click Integrate

    If you would like Huma to transfer absence 'Calendar API' needs to be activated. 


  5. Click on your name in the top right and copy the Tenant ID to your clipboard

 

Step 2: Connect Huma to Visma.net Payroll

To access Integrations under System settings you'll need a System role with permissions to do Organization-wide settings. Read more here

  1. Login to your Huma account as administrator
  2. Go to 'Integrations' in the main menu
  3. Open 'Visma.net Payroll' in the list of integrations
  4. Read through the documentation
  5. Click 'Set up' in the upper right corner
  6. Paste the Tenant ID you copied earlier and check the box to verify you have the proper authority.



  7. Enable 'Create absence in Visma.net Payroll when added in Huma' if you would like to transfer absence to Visma.net Payroll.  Read more about how absences to integration works in general and specifically how absence in Visma.net Payroll are handled.

     image-png-Mar-07-2024-11-21-02-0325-AM
  8. Click 'Save' and a connection is now established between the two systems.

Now: On to the next step - it's where the magic happens:

Step 3: Activate the integration. Synchronize users and choose how to handle conflicts or missing values

  1. You should now have an active connection between your Visma account and Huma, and you can now click 'Synchronize users' to choose which employees to sync. 
  2. Huma will inform you of any conflicts or inconsistency between Huma and Visma.net Payroll and you will have to decide how to handle conflicts and/or missing values. You can decide wether or not you want to update Visma.net Payroll based on values in Huma or the other way around.



  3. Click 'Next' and decide how you want to sync users between Huma and Visma.net Payroll.
    • If users in Visma.net Payroll do not exist in Huma, you can add users to Huma
    • If users in Huma do not exist in Visma.net Payroll, you can add users to Visma.net Payroll.

  4. After deciding on the above click 'Synchronize users'



  5. Huma will now start synchronizing users with Visma.net Payroll. You will receive an email confirming the result.

 

Step 4: Your connection between Huma and Visma.net Payroll is active 🥳

Any changes made to supported fields in Huma (listed below) will be automatically updated in Visma.net Payroll in real-time. 

Please be aware that you need to sync users to get the latest changes from Visma.net Payroll. Changes made in Visma.net Payroll will not be automatically be updated in Huma. 

 


 

How to sync users

If you want to sync users manually you can always click "Syncronize users".

Please be aware that you need to sync users to get the latest changes from Visma.net Payroll. Changes made in Visma.net Payroll will not be automatically be updated in Huma. 

 

Supported fields

These are the fields that will be synced between Huma and Visma.net Payroll

Field Comment
Given name

Syncing Huma to Visma
Will set an end date on current name in Visma and add a new from today.

Syncing Visma to Huma
Current name will be used.

Family name
Email Will update business email
Phone

Will update business phone

Employment start date 

Syncing Huma to Visma
Will set the activeStart of the selected position* to match the Employment start date in Huma

Syncing Visma to Huma
Will set the Employment start date in Huma to match the activeStart of the selected position*.

Employment end date 

Syncing Huma to Visma
Will set the activeEnd of the selected position* to match the Employment end date  in Huma

Syncing Visma to Huma
Will set the Employment end date in Huma to match the activeEnd of the selected position*.

Employment ID

Visma.net Payroll restricts max length to 12, longer IDs will be rejected

Required to create employee in Visma.net Payroll

Can not be unset in Visma.net Payroll

Bank account

Only Norwegian national bank account are sent to Visma. Other countries are reported as “Cash”. Use International bank account for other countries.

Address

Second line of the street address in Huma will not be synced to Visma.net Payroll.

 
 

Selected position*


If the employee has a current position, this will be the selected position.

If the employee doesn't have a current position, the most recent position will be the selected position.

If the employee doesn't have a current or past position, the future position will be the selected position.

Why do Huma only send Employment end date  when Visma.net Payroll also requires “End reason” when registering Last day of work?

Ordinary contract and Maritime employment types of positions in Visma require Position end reason to be filled when position activeEnd is setup. In such cases Position end reason will be set to "The employee has resigned from his/her position".

Similarly when Employment End Date in Huma is emptied we will clear Position end reason in Visma.
 

 


 

Necessary permissions

For the Huma integration to work, the correct permission must have access to

Employee API

  • Read employee data: ON
  • Write employee data: ON

Calendar API*

  • Read registrations: ON 
  • Write registrations: ON

*Calendar API must be activated if you want to transfer absence from Huma -> Visma.net Payroll

FAQ: Absence Integration

Read up on how Absence to Integration works in general 

How can I enable absence synchronization between Huma and Visma.net Payroll?

Activate the 'Create absence in Visma.net Payroll when added in Huma' option in your integration settings. This enables the automatic synchronization of absence information from Huma to Visma.net Payroll, ensuring that data is consistently updated across both platforms.

visma-integration-setup-enable-absence-sync

How do I map absence types between Huma and Visma.net Payroll?

Start by reviewing all absence types listed in Huma. For each one, select the corresponding event code in Visma to ensure accurate synchronization. Exclude any Huma absence types that are not relevant or necessary for transfer to Visma. Proper mapping is crucial as it ensures that only pertinent data is shared, maintaining the integrity and relevance of absence records in both systems.

image-png-Mar-07-2024-11-21-02-0325-AM

How are absences connected between Huma and Visma.net Payroll

Absences are connected based on the employee it regards, the start and end dates, and the type of absence. Ensure that calendar settings in Visma and Huma are aligned for correct calculation of days off and holidays.

Ensure "Calendar API" are activated (ON) on Huma App Application Permission.

See Necessary permissions for details.

 

Note - 
If you have already set up the integration and only want to start using the absence feature, you need to wait for an hour before you can edit the integration settings towards absence in Huma. Remember to check the box for Calendar API.

What triggers the transfer of absences from Huma to Visma.net Payroll?

Once registered, with an end date, and approved in Huma, absences are automatically transferred to Visma.net Payroll and assigned to the corresponding absence types / event codes.  

What happens to absences in Visma.net Payroll when changes occur in Huma?

Any updates or deletions made to an absence in Huma will result in corresponding changes or deletions in Visma.

How is absence time calculated in Visma.net Payroll?

Absence time is calculated based on Visma's working time settings. Absences with a full grade are registered as full days, while those with lower grades are adjusted accordingly.

What happens if an event code in Visma.net Payroll does not support grading?

If a Visma event code is incompatible with grading, Huma marks the absence as rejected, notifies relevant parties, and logs the error.

How is sick leave handled between Huma and Visma.net Payroll?

When 'sick leave' is created in Huma, it triggers the doctor certificate option in Visma to activate, with the certificate's start date aligning with the absence's start date in Huma.

Conversely, 'self-certification' (egenmelding) absences noted in Huma will not activate the doctor certificate option in Visma. Should there be a limit on the number of occurrences for the mapped event code, and the registered absence in Huma exceeds this limit, the absence will be rejected, log an error and notify relevant parties.

What occurs if an absence is deleted in Huma?

If an absence is deleted in Huma, it will also be removed from Visma to keep both systems synchronized.

Can absence types be modified within Visma.net Payroll?

Yes, you can modify absence types in Visma to fit different needs within your organization. Ensure these modifications are reflected in Huma Absence type settings for consistent data transfer.

Are absences without an end date transferred to Visma.net Payroll?

No - an absence needs to have an end date to be transferred to Visma.

Why are some absences rejected when they are registered in Huma?

Absences can be rejected for various reasons. Common causes include the user not having an active employment status at the time of the absence, being marked as inactive, or having an employment start date in the future. There might be limitations on the event code settings in Visma. Additionally, conflicts with existing absences already registered in Visma may lead to rejections.

For detailed explanations of specific errors, check the integration error log on Huma's integration page. This log provides in-depth descriptions of the issues that have occurred.