Migrating from Visma.net ERP Integrations (VNI) to Visma Connect for Visma.net

Visma is consolidating application authorization across many Visma products to Visma Connect. Visma Connect is a sign-on solution available for Visma products, based upon 3rd party technology. VNI is expected to be phased out in the course of 2024.

This wiki post explains differences between Visma.net’s original authorization protcol with VNI and Visma Connect.

Functional Differences

Single Company

Visma.net Connect has a major drawback specifically for large enterprises and accounting firms using Visma.net Financials: each connection has access to at most one company.

Using VNI, it was possible to access all companies using a single SQL-statement. The UniversalSQL optimizer even parallelized data exchange across multiple Visma.net companies.

However, when a connection is established using Visma Connect, the registration process forces the user to select exactly one company to which the connection has access.

The disadvantage is that when you have multiple Visma.net companies you will need to register a separate datacontainer for each of them. Especially for the accounting firms on Visma.net Financials this will be a major hurdle.

Approaches to resolve such issues are similar to those for SnelStart. SnelStart is an accounting package which also authenticates a connection per company.

Our recommendations are:

  • there is no need to change when you have exactly one Visma.net Financials company;
  • create a database with one datacontainer per Visma.net company when you have a somewhat static list of companies;
  • consider alternatives when the list of companies is dynamic and large (more than a few dozen).

Some tips for SnelStart can be helpful when switching to Visma Connect:

Different values for company_code

The column company_code which contains the unique company code remains on Invantive UniversalSQL to ease consolidation of multiple Visma.net companies across data containers.

With Visma Connect a small number of VNI-specific APIs have been dropped, including the option to inspect the unique number of a company. Therefore the value of company_code will be different between VNI and Visma Connect. On Visma Connect it is typically filled using the legal corporate ID such as the chamber of commerce number in the Netherlands.

The different values of company_code will only be relevant when you have multiple companies in your Visma.net environment.

Also the column company_code is now available on all tables with Visma Connect, whereas company_code was only available on almost all tables with VNI. With VNI, a very limited number of APIs and therefore tables had been listed as not-partitioned by Visma. In general this small difference will not have an impact.

Values for company_name are identical between Visma Connect and VNI.

New Database Registration Process

Register a Visma.net with VNI Database (while it lasts)

Execute the following steps to register a Visma.net database with the old VNI authentication method:

The database is now ready.

Register a Visma.net with Visma Connect Database (futureproof)

Execute the following steps to register a Visma.net database with the new Visma Connect authentication method:

The database is now ready.

Bring Your Own App on Visma.net

New with Visma Connect is the possibility to use your own integration, as registered on https://home.visma.com, option “Developer Portal”. Bring Your Own App is only recommended for Invantive OEM-partners and certificated Visma.net developers.

Please use the following settings for Invantive Cloud:

  • Type: Web
  • Choose a client ID
  • Grant Type: Authorization Code
  • Offline Access checked.
  • Access Token Lifetime: 60 minutes
  • Refresh Token usage: Re use.
  • Refresh tokens per user: 5 tokens
  • Update Access Token claims checked
  • OpenID Connect checked
  • Identity Scopes: openid, email, profile
  • Include core identity claims in ID token: checked
  • Initiate Login URI: https://cloud.invantive.com/
  • Redirect URIs: Anmelden
  • Privacy policy URI: choose
  • Terms of service URI: choose
  • Credentials: generate client secret
  • Integrations use the following scopes: vismanet_erp_interactive_api:read vismanet_erp_interactive_api:update vismanet_erp_interactive_api:create vismanet_erp_interactive_api:delete offline_access

Detect Whether Visma.net Database Uses VNI or Visma Connect

Each data container has a setting whether VNI or Visma Connect is used for authentication. To determine the authentication approach please study the data containers with your Visma.net database.

A connection string with use-vni=True will use VNI, whereas a connection string with use-vni=False will use Visma Connect. Absence of a setting indicates use of Visma Connect.

Recommended Migration Approach for Existing Visma.net Databases

It is recommended to create a new Visma.net database(s) per Visma.net company using Visma Connect to migrate your applications from VNI to Visma Connect.

Then switch from the VNI-based database(s) to the Visma Connect-based databases.