Skip to content
English
  • There are no suggestions because the search field is empty.

Visma.net Payroll Integration

How to connect Visma.net Payroll to Huma to enable automatic sync of employee data.

 

Table of contents

Set up the integration

Active integration

General questions

 

 


 

Visma.net Payroll

The Visma integration in Huma connects your Huma HR system to Visma.net Payroll. With this integration, you can automatically sync employee data and absence between Huma and your payroll system.

  • To set up an integration in Huma, you need a system role with full access to «Organization».

  • In Visma, the user needs the role «Integration administrator».

  • If you are unsure which roles are required in Visma.net to complete the integration setup, please contact Visma.net support for guidance.

 

 

 

Multiple connections

If you need to set up multiple integration instances, follow the setup guide here.

 

 

1. Get the Tenant ID from Visma.net Payroll

  1. Log in to Visma.net Payroll as «Administrator» (with access to App Store)
  2. Go to «Visma.net App Store», then find and open the «Huma HR app»
  3. Click «Set permissions» at the bottom of the Huma page in App Store, under «Activate the service now»
  4. Make sure both «Read employees» and «Write employees» are enabled before you click «Integrate»
  5. If you want Huma to transfer absence, «Calendar API» must also be checked, together with «Read employees» and «Write employees»
  6. Click your name in the top right corner and copy the «Tenant ID» to your clipboard

 

1-Sep-27-2026-09-19-36-4142-PM

2-Sep-27-2026-09-19-36-3915-PM

 

 

2a. Connect Huma to Visma.net Payroll

To set up integrations in Huma, the user must have a «System role with full access to Organization».

  1. Log in to Huma, go to «Integrations» and select Visma
  2. Read all the information about the Visma integration before you continue:
    • «Overview»
    • «Details»
  3. Click «Set up» in the top right corner
  4. Give the connection a name and choose who should be part of it (everyone/teams/locations/company)
  5. Click «Continue», paste the «Tenant ID» from Visma, and confirm that you have the necessary authority
  6. Click «Continue» and check the settings you want. Read more about the settings in the next step
  7. Click «Set up». The connection between the systems is now established

 

1-Sep-27-2026-09-20-21-0315-PM

 

Screenshot 2026-09-27 at 23.22.15

 

 

 

2b. Configure integration settings

  • Enable «Update salary data in Visma.net Payroll when updated in Huma» if you want to transfer salary data

    • All salary data created or updated in Huma will automatically be transferred to Visma.net Payroll. If the start date of a salary does not match an existing position in Visma.net Payroll, a new one will be created.
    • Salary data is only sent from Huma to Visma.net Payroll.
    • Only salary created or updated after the integration is activated will be transferred to Visma.net Payroll.

 

  • Enable «Create absence in Visma.net Payroll when added in Huma» to transfer absence

    • Only approved absence registered as working days is transferred.
    • Changes or deletions in Huma will also be updated or deleted in Visma.
    • Absence in Huma is synced to the Calendar in Visma.

 

  • Click «Save» to complete the setup.

 

Screenshot 2026-09-27 at 23.22.33

 

 

 

2c. Map absence types

If you have chosen to sync absence from Huma to Visma.net Payroll, you must map absence types:

  1. Go through all absence types
  2. Select the corresponding absence type (code) in Visma
  3. Exclude types you do not want to transfer

 

🔗 Read more about how absence is handled in integrations in general, and here for Visma.

 

Screenshot 2026-09-27 at 23.25.25

 

 

 

3. Sync users and handle conflicts

After you click «Save», you are taken to the connection's main page. To activate the integration, you must «Sync users».

  1. Click «Sync users»
  2. Matching users: users found in both Huma and Visma (same email address in both systems)
    • Click «View users» to see which supported fields do not match or are missing
    • Handle «non-matching» or «missing values»
    • Click «Next»
  3. Non-matching users: users that only exist in one of the systems
    • Choose between creating «all/selected users/do not create»
    • Choose how users should be created:
      • Visma > Huma: add to Huma
      • Huma > Visma: add to Visma
  4. Click «Sync users». You will receive an email with the result

 

 

💡 Note

  • Users who have not filled in the «Required fields» will not be synced.
  • Only users with a start date in Visma of today or earlier will be created in Huma.
  • Users with a start date in the future will appear when you do a manual sync in Huma, but will not be created.
  • Users synced from Huma to Visma are placed in «Draft mode» in Visma, and required fields in Visma must be updated for the user to get the status «active». Click «Edit draft» to review and complete all required fields. If you have questions about which fields this applies to, contact Visma Support.

 

Screenshot 2026-09-27 at 23.27.56

Screenshot 2026-09-27 at 23.28.10

 

 

Draft mode in Visma

2-Sep-27-2026-09-29-34-6041-PM

 

 

 

4. The connection between Huma and Visma.net Payroll is active

  • Changes to supported fields in Huma are automatically updated in Visma in real time.

  • Changes made in Visma are not automatically updated in Huma. To bring them in, you must do a manual sync with «Sync users».

 

Screenshot 2026-09-27 at 23.30.06

 

 

 

How to sync users

Use «Sync users»  (see picture above) when you have updated one of the supported fields in Visma, or when you want to create new users. For user sync to work, the email address must always be the same in both systems.

  1. Go to the Visma.net Payroll integration in Huma
  2. Click «Sync users»
  3. Follow the steps. Read more about the steps here

 

💡 Note

  • If you have created a user in Huma, you must do a «Manual sync» to create the user in Visma through the integration.
  • If an error occurs during sync, you can find detailed information in the «Error log» on the Visma integration page in Huma.

 

 

 

Deactivated or deleted users

When a user is deactivated in Huma …

  • the user is not deactivated in Visma
  • the user is locked for updates

 

 

When a user is deleted in Huma …

  • the user is not deleted in Visma
  • a manual sync will ask you to create the user in Huma if the user only exists in Visma and not in the other integration
  • the user cannot be synced if changes have been made to the user in Visma after they were deleted in Huma

 

 

 

Supported fields: employee fields that are synced

Changes to the supported fields in Huma (listed below) are automatically updated in Visma.net Payroll in real time. Changes made in Visma, however, must be synced manually to Huma.

Huma field Visma field Notes
Email address emails[].address Huma requires this value to be unique. Updates the work email. If a «Company email» in Visma matches the email address in Huma, the user is included in the sync. If only a «Private email» exists in Visma and the user is already synced, updating the user's email in Huma will create a «Work email» entry in Visma.
Employee ID* (REQUIRED) number Only updated in Visma.net for employees in draft mode. Huma requires this value to be unique. Visma.net Payroll allows a maximum of 12 characters in this field. Longer IDs will be rejected. Cannot be changed in Visma.net Payroll.
First name personNames[].firstName Sync from Huma to Visma: sets an end date on the current name in Visma and adds a new one from today.
Last name personNames[].lastName Sync from Visma to Huma: the current name is used.
Phone number phones[].number Updates «Company phone». The phone number in Huma must match «Company phone» in Visma for the sync to work.
Address address.streetName, address.zipCode, address.cityName, address.countryCode The second address line in Huma is not synced to Visma.net Payroll.
Bank account number salaryPaymentMethod Only Norwegian national bank account numbers are sent to Visma. Other countries are reported as «Cash». Use an international bank account number for other countries.
Identifications personIds[].personId.id, personIds[].personId.typeOfId, personIds[].personId.country SSN (social security number). The integration cannot remove this value in Visma.net Payroll when it is removed in Huma. Only Norwegian national identity numbers and D-numbers are supported in Visma.net Payroll. The person's date of birth must match the date in the first six digits of the number.

 

 

 

 

 

Position sync from Huma to Visma.net Payroll

🔗 Read more about how employee data sync works in integrations in general.

⚠️ Please note that activating the integration does not transfer historical position data to Visma.net Payroll. Only positions created or updated in Huma after the integration is activated will be synced.

💡 Position data is only synced from Huma to Visma.net Payroll, not from Visma.net Payroll to Huma.

 

Supported fields: position data that is synced

These are the position fields synced from Huma to Visma.net Payroll:

Huma field Visma.net Payroll field
Contract start date* (REQUIRED) positions[].activeStart
Contract end date positions[].activeEnd
Position percentage positions[].partTimeFactor
Contract type positions[].employmentForm
End reason positions[].positionEndReason

 

 

End date and end reason

When you set an end date on a position in Huma, the date and reason are sent to Visma automatically. This makes sure the position is ended correctly in Visma and prevents gaps in the payroll timeline.

⚠️ Please note:

  • Only end dates that are today or in the future are synced. Backdated end dates are not sent to Visma, and you will get a clear message about this in Huma. See the error log if needed.
  • An end reason is never sent without an end date.

 

The reason you choose in Huma decides whether the position is ended in Visma:

End reason in Huma Ends the position in Visma?
The employee has resigned Yes
The employee has been terminated Yes
Temporary contract / position has ended Yes
Change of payroll system / accountant Yes
Internal transfer No, the employment continues in Visma
Other No, the employment continues in Visma
Not set No, the employment continues in Visma

 

💡 If you only change the end reason without changing the end date, the update is still sent to Visma, provided the end date is not backdated.

 

Position sync and historical positions

When you create positions in Huma, it is important to consider whether position sync should be on or off, depending on what kind of positions you are entering.

 

  • Historical positions

    If you are entering historical positions, for example to build up the position history for employees who are already in the system, you should turn position sync off while you do this. Historical positions are not meant to be sent to the payroll system. If sync is on, they will be transferred automatically and may cause errors in the payroll timeline.

  • Current and future positions

    If you are creating positions that apply from today or in the future, position sync should be on before you begin. The positions are then sent to the payroll system automatically in real time.

     

💡 Not sure whether you are creating historical or active positions? Contact your payroll provider before you start.

 

 

Do I need to enable position sync?

It depends on which positions you are going to create.

  • If you are creating historical positions, position sync should be off while you do it. Historical positions are not meant to be sent to the payroll system and may cause errors in the payroll timeline if transferred automatically.
  • If you are creating current or future positions, position sync should be on before you begin.

 

🔗 Read more about position sync and historical positions.

 

To enable position sync:

  1. Go to the Visma integration page in your Huma account
  2. Click the three dots in the top right corner and «Edit connection settings»
  3. Confirm legal authority and click «Continue»
  4. Check «Positions: create, update and delete»

 

 

FAQ

Does the integration update position data?

Yes. When supported position fields are changed in Huma, the update is sent to Visma.net Payroll automatically.

This applies, for example, when a position is created or when fields such as contract dates, position percentage or contract type are changed.

 

In which direction is position information synced?

Position data is only synced one way: Huma → Visma.net Payroll. Changes made directly in Visma.net Payroll are not sent back to Huma.

 

How does Huma match positions in Visma.net Payroll?

Huma matches positions based on contract start date, end date and position percentage/contract type. All three values must match an existing position in Visma for an update to go through. If the data does not match, the sync fails with a clear message. See the FAQ item below about data that differs between the systems.

For this to work, the positions must be back to back in the timeline. If a new position is created with a period that leaves a gap between two positions, Huma returns an error, because the timeline cannot have gaps between position periods.

 

When is position data sent to Visma.net Payroll?

Position data is sent to Visma.net Payroll when:

  • A new position is created in Huma
  • An existing position is updated in Huma
  • The change happens after the integration is activated

 

Can historical positions be transferred?

No. The integration does not transfer historical position data that existed before the integration was activated. If historical data must be transferred to Visma.net Payroll, this must be done manually, or by updating the position in Huma after the integration is activated.

 

Why aren't all position fields synced?

Not all position fields can be synced between Huma and Visma.net Payroll, because employment information is structured somewhat differently in the two systems. Some fields only exist in one of the systems, or are defined in a way that means they cannot be transferred directly.

 

What happens if I delete a position in Huma?

Deleting a position in Huma is not passed on to Visma.net Payroll. You will see a message in Huma saying that the deletion has not been sent to Visma.

The position is deleted in Huma but remains in Visma. If the position should also be closed in Visma, you must do this manually there.

💡 Deleting positions is usually a data correction, not part of the normal flow.

 

I edited a position in Huma, but got a «sync failed» message. What does it mean?

A sync error means that Huma did not send the change to Visma. The position is saved in Huma, but Visma is unchanged.

This happens when Huma detects that the change would create a gap in the payroll timeline in Visma. Previously, this could cause payroll errors without anyone being notified. Instead of sending data that would cause problems, Huma stops the sync and lets you know.

What to do:

  1. Check the error log on the Visma integration page in Huma for details about what went wrong
  2. Correct the position data in Visma so it matches what you want to save
  3. Try the edit in Huma again

 

⚠️ A sync error is not an error in Huma. It protects your payroll data from being corrupted.

 

I got a message saying «Huma and Visma have different data». What does it mean?

This message means that what Huma expects to find in Visma does not match what is actually registered there. This can happen if someone has made changes directly in Visma after the integration was activated, or if data from before the integration does not match.

When this happens, Huma does not send the change to Visma, to avoid overwriting correct payroll data with incorrect values.

What to do:

  1. Compare the position data for the employee in Huma and in Visma
  2. Correct the difference, either by updating Huma to match Visma or by correcting Visma manually
  3. Try the edit in Huma again

 

 

 

Absence sync between Visma and Huma

🏖️ Read more about how absence sync works in integrations in general.

⛓️‍💥 Please note that activating the integration or turning on absence sync does not transfer previously registered absence to Visma. Absence data is only synced to the integration when an absence is approved with an end date in Huma. Absence sync only works from Huma to Visma.

 

Supported fields: absence fields that are synced

These are the absence fields synced from Huma to Visma:

Huma field Visma field
Absence type* (REQUIRED) eventcode
Time period* (REQUIRED) startDate, endDate
Percentage* (REQUIRED) inputType, properties.percent
Notes comment

 

 

How do I enable absence sync between Huma and Visma.net Payroll?

You can enable absence sync at any time after the integration has been set up.

  1. Go to the Visma integration page in Huma
  2. Click the three dots in the top right corner
  3. Click «Edit connection settings»
  4. Confirm «legal authority» and click «Continue»
  5. Turn on «Create absence in Visma.net Payroll when added in Huma» and «Map absence types»
  6. Remember to click «Reconnect» on the integration's main page after making this change

 

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

Start by going through all the absence types created in Huma. For each one, select the corresponding event code in Visma to make sure the sync is correct. Exclude absence types in Huma that are not relevant or necessary to transfer to Visma. Correct mapping makes sure only relevant data is shared, and keeps absence records accurate in both systems.

  1. Go to the Visma integration page in Huma
  2. Click the three dots in the top right corner
  3. Click «Map absence types»
  4. Click «Save»

 

 

How is absence linked between Huma and Visma.net Payroll?

Absence is linked based on which employee it applies to, the start and end date, and the absence type. Make sure the calendar settings in Visma and Huma are aligned for correct calculation of days off and public holidays.

Make sure «Calendar API» is enabled in the Huma app, under Visma in App Store.

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

See how to add the Huma app in Visma here.

 

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

When absence is registered with an end date and approved in Huma, it is automatically transferred to Visma.net Payroll and linked to the corresponding absence types/event codes.

 

What happens to absence in Visma.net Payroll when changes are made in Huma?

All updates or deletions made to an absence in Huma lead to corresponding changes or deletions in Visma.

You can either approve the absence directly in Visma or send it on to the payroll department for processing. If you have questions about these settings, please contact Visma for help.

 

How is absence time calculated in Visma.net Payroll?

Absence time is calculated based on the work schedule settings in Visma. Absence with full position percentage is registered as whole days, while absence with a lower position percentage is adjusted accordingly.

 

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

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

⚠️ Visma does not allow graded «Vacation».

 

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

When «sick leave» is created in Huma, the medical certificate option in Visma is enabled, and the start date of the sick leave matches the start date of the absence in Huma.

«Self-certification» registered in Huma, however, does not enable the medical certificate field in Visma. If a limit on the number of occurrences is set on the linked event code, and the absence registered in Huma exceeds this limit, the absence is rejected, an error is logged and relevant people are notified.

 

What happens if an absence is deleted in Huma?

If an absence is deleted in Huma, it is also removed in Visma to keep both systems in sync.

 

Can absence types be changed in Visma.net Payroll?

Yes, you can change absence types in Visma to fit different needs in your organisation. Make sure these changes are also reflected in the absence type settings in Huma to ensure correct data transfer.

 

Is absence without an end date transferred to Visma.net Payroll?

No. An absence must have an end date to be transferred to Visma.

 

Why are some absences rejected when registered in Huma?

Absence can be rejected for different reasons. Common reasons are that the user does not have an active employment at the time of the absence, is marked as inactive, or has a future start date on their employment. There may also be restrictions in the event code settings in Visma.

Conflicts with existing absence already registered in Visma can also lead to rejection.

Employees must also have the correct information on their employee card in Visma (for example salary and working hours).

Remember to assign the correct absence types and balances in the Calendar in Visma.

Employees must also have a part-time factor above 0 % in the «Position percentage» field on their profile card in Visma.

For a detailed explanation of specific errors, check the integration error log on the integration page in Huma. There you will find descriptions of what went wrong. If you have other questions about the profile card and fields in Visma, contact Visma.

 

Why can't I register absence as «Sick child»?

To register the absence «Sick child» in Huma and sync it to Visma, you must fill in «Child» in Visma. This is because Huma does not support syncing «Child» to Visma, so this field must be filled in manually in Visma.

 

I have added notes in the absence details. Are these also transferred to Visma?

Yes. If you add a «note» in the absence details, the note is shown when you approve the absence in Visma.

 

Is absence from Huma automatically approved in Visma?

It depends on your settings in Visma for each absence type (code). Contact Visma if you are unsure about the setup.

 

 

 

Salary sync between Visma.net Payroll and Huma

💰 Please note that activating the integration or turning on salary sync does not transfer previous or ongoing salary data to Visma. Salary data is only synced to the integration when a salary is created or edited in Huma. Salary sync only works from Huma to Visma.

The integration only supports salary in NOK (Norwegian kroner). Salary data in other currencies will not be transferred to Visma, and an error will be logged.

 

Supported fields: salary fields that are synced

These are the salary fields sent from Huma to Visma.net Payroll:

Huma field Visma.net Payroll field Notes
From date salaryInformation.activeStart If no value is set, the date is set to no end date in Visma.net.
To date salaryInformation.activeEnd If no value is set, the date is set to no end date in Visma.net.
Salary amount* (REQUIRED) salaryInformation.hourlySalary, salaryInformation.monthlySalary, salaryInformation.yearlySalary  
Interval salaryInformation.contractSalaryType Hourly → Hourly, Monthly → Monthly, Yearly → Yearly
Interval salaryInformation.salaryType Hourly → Variable salary. Monthly, Yearly → Fixed salary. Weekly salary in Huma is not sent to Visma.net Payroll.

 

Why should I sync salary data stored in Huma to Visma.net Payroll?

Syncing salary data makes sure the information in Visma is consistent with the records in Huma, and helps streamline HR and payroll processes. Visma requires a continuous salary history for each employment, and this integration helps you handle updates automatically, reduce manual errors and keep salary information correct in both systems.

 

How do I send salary data automatically from Huma to Visma.net Payroll?

To enable automatic transfer of salary data, make sure it is turned on manually in your settings if it was not enabled during the initial setup. Once enabled, salary changes made in Huma are automatically reflected in Visma.

If the integration is already set up, you can enable this in the integration settings under ··· in the top right corner and «Edit connection settings».

 

 

What are the conditions for a successful salary transfer from Huma to Visma.net Payroll?

To transfer a salary change from Huma to Visma, the following conditions must be met:

  • The Visma.net Payroll integration must have «Update salary» enabled.
  • The user must be linked to the Visma.net Payroll integration.
  • An employment must be matched.
  • The salary currency must be NOK.

 

How does the integration handle salary updates?

Creating/updating salary: If an existing salary in Visma matches the salary created in Huma, it is updated. If there is no matching salary, a new salary is created in Visma.

Overlapping salary: If salaries in Visma overlap with the salary from Huma, the integration either removes empty salary rows (rows with zero values) or adjusts the existing salary in Visma based on the start or end date.

 

How is overlapping salary handled between Huma and Visma.net Payroll?

  • Empty salary rows in Visma.net Payroll: If Visma has an empty salary row (all values set to zero), it is removed when a new salary from Huma overlaps the period.

  • Salary without an end date in Visma.net Payroll: If a salary in Visma has no end date and a new salary starts after it, the salary in Visma is ended and the new salary from Huma is added.

  • Salary without a start date in Visma.net Payroll: If a salary in Visma has no start date and a salary from Huma ends before it, the salary in Visma gets a start date, and the new salary from Huma is added before it.

 

💡 If none of these conditions are met, an integration error is logged and no changes are made in Visma.

 

What happens if there is no matching employment in Visma.net Payroll?

For Huma to create or update salary in Visma, there must be a matching employment. The integration looks for an employment period that covers the salary period. If no employment is found, an error is logged.

 

How does the integration handle bulk salary updates (salary revisions)?

During a salary revision in Huma, the integration processes all salary changes for the affected users. If a change tries to affect more than one Visma employment for the same user, an error is logged and no updates are made in Visma.

 

How does the integration handle different currencies?

The integration only supports salary in NOK (Norwegian kroner). Salary data in other currencies is not transferred to Visma, and an error is logged.

 

What happens when a salary is deleted in Huma?

If a salary is deleted in Huma, the corresponding salary in Visma is also deleted.

 

Additional information

For users who are not in draft mode in Visma, salary history cannot be deleted, but salary rows can be cleared.

Visma merges consecutive salary rows with the same amount, which can cause the systems to get out of sync if several identical salary rows are created in Huma.