Skip to main content
Visma.Net integration

All you need to know about the Visma.net standard integration

Stephan Hale avatar
Written by Stephan Hale
Updated this week

Current status : BETA

Note: this is an add-on to the core-packages and needs to be activated and purchased separately.

Overview

With this Visma.net integration you will connect Alexis HR to your Visma.net account through API and can then do the following:

  • Scheduled and/or manual sync of employee data such as personal information, employment data, compensation data and more from Alexis HR to Visma.net.

  • All new employees will be created as draft so that the final approval of activating the new employee(s) is done in Visma.net

  • Sync time off data such as sickness, parental leave and vacations to Visma.net for the period that you choose. You have full control over what absences are exported for what employees and for what period.

Requirements

The following requirements is needed to for the integration.

Visma.net

You need to have access to the following valid credentials

  • Visma tenant ID

Alexis HR

  • Valid Access token for Public API

At-least one Access token for Public API needs to be created that will be used to connect the two systems. If you have not created an access token you need to do that from Settings - Access tokens

Configuration

The integration is activated from SettingsIntegrationsIntegrate with payroll systemAdd Integration

  • Select Visma.net.

  • Click Next to start the configuration wizard.

  • Enter all the detail needed for the connection

Settings

You can choose how the integration sync for employees is done. Options are as follows

  • Manual sync : The data is synced to Visma.net with manual interaction.

    • This can be valuable if you have the scheduled sync turned off and want to control when data is updated in Visma.net. Either during implementation phase or during times when an update is not wanted due to process reason.

    • Manual sync can be performed even when there is a scheduled sync. This could be if there are a lot of changes done in Alexis HR after the scheduled sync has run.

  • Scheduled sync.

    • The sync runs at a schedule that you decide. Options are what day(s) of week the sync should start to run.

Note : Currently the sync is queued and it starts shortly after 06:00 CET.

  • Scope

    • The edit scope settings allows for more granularity on what employee will be part of the automatic or manually triggered employee export. This is useful if you know that not all of the employees should be exported to Visma.Net

    • The scope selection follows the standard scope selection that exists in Alexis HR.


Employee data

Overview

Employee data is synchronized from Alexis HR to Visma.Net. This means that if data is updated in Visma.net on "integration data fields" and then the sync from Alexis HR is done the data in Visma.net will be overwritten.

When the sync runs it will compare the data in Alexis for the "integration data fields" to see if there is a difference vs the data for those fields in Visma.Net. If no change then the user will not be updated. If there is a change the data will be updated.

Some fields are currently hardcoded, see below for more information.

What employees are exported?

The following fields is required for the employee to be exported

  • First name

  • Last name

  • Address or Country in address

  • Email

  • Birthdate

  • NationalId(ssn)

  • Employment

  • Bank account

  • Compensation

If these are missing on an emplpyee that employee will be skipped.

Integration Data fields

Alexis fields

VismaNet fields

Mapping conditions (if any)

(Alexis → VismaNet)

Work Section

Employee number

Employee.number

Work email

Employee.emails[0].address

if workEmail in Alexis is null, use privateEmail

N/A

Employee.emails[0].type

Currently hardcoded to “Business"

Personal

First name

Employee.firstName

Last name

Employee.lastName

Birthdate

Employee.dateOfBirth

Social security number

Employee.personIds.id

N/A

Employee.personIds.typeOfId

Currently hardcoded to “NationalID"

HomeAddress - Street name

Employee.address.streetName

HomeAddress - Zip code

Employee.address.zipCode

HomeAddress - City

Employee.address.cityName

HomeAddress - Country

Employee.address.countryCode

Financial

N/A

Employee.salaryPaymentMethod.paymentType

Currently hardcoded to “bank"

Financial - Bank account

Employee.salaryPaymentMethod.localBankAccount

Updated with Bank account number Bank account country is "Norway" in Alexis

N/A

Employee.salaryPaymentMethod.internationalBankAccount

This is defined as true if bankaccount country not equal to ”Norway” in Alexis

Financial - BIC

Employee.salaryPaymentMethod.internationalBankSwift

if internationalBankAccount is true

Financial - IBAN

Employee.salaryPaymentMethod.internationalIban

if internationalBankAccount is true

Financial - bankAccount.country

Employee.salaryPaymentMethod.internationalBankCountry

if internationalBankAccount is true

Financial - bankAccount.country

Employee.salaryPaymentMethod.internationalRemittanceCountry

if internationalBankAccount is true

Employment

Employment - Start date

Employee.positions.activeStart

Employment - End date

Employee.positions.activeEnd

Employment - Rate

Employee.positions.partTimeFactors.value

N/A

Employee.positions.typeOfPosition

Currently, hardcoded as “Ordinary"

Employment - Employment type

Employee.positions.employmentForm[0].value

Currently, hardcoded as “fast"

N/A

Employee.positions.typeOfWork[0].value

Currently, hardcoded as “0111101"

N/A

Employee.positions.workTimeAgreement[0].value

Currently, hardcode as “0387f476-2471-4816-8b94-cdabb8fe4c21"

Compensation

Compensation.amount

Employee.positions.salaryInformation.monthlySalary

Default 0

Compensation.effectiveDate

Employee.positions.salaryInformation.activeStart

N/A

Employee.positions[0].salaryInformation[0].salaryType

Currently, hardcoded as “Period"

N/A

Employee.positions[0].salaryInformation[0].contractSalaryType

Currently, hardcoded as “Monthly"

N/A

Employee.positions[0].taxUnitIds

N/A

Employee.positions[0].positionEndReason

Currently hardcoded to “arbeidsgiverHarSagtOppArbeidstaker"

Time Off data

Time off data is handled from Manage Time → Export time off.

Alexis fields

VismaNet fields

Mapping conditions (if any)

(Alexis → VismaNet)

Leave type code

eventCode

code from the Leave type. Needs to be configured on each leave type according to Visma.net documentation.

Duration

inputType

One day or longer period → “FullDay” is sent to Visma for each day

Half day → is sent to Visma as “Percent”

Minutes → is sent to Visma as “Interval”

properties.percent

properties.interval

Value of “Percent”

OR

value of “Interval”

Leave startdate

startDate

For longer leaves → Earliest date within the requested payrollDateRange. Example. An employee has Parental leave for all of 2024 (January 1 -- December 31). When selecting April and exporting leaves for only April 2024-04-01 will be used as the start date.

Leave enddate

EndDate

For longer leaves → latest date within the requested payrollDateRange. With same example as above 2024-04-30 will be used as EndDate

Did this answer your question?