Skip to main content

Architecture of Microsoft 365 functionality

This section describes the architecture of the Microsoft 365 functionality in Snow License Manager as from version 9.12.

Data flow

When an aggregation from Snow Integration Manager is performed, it sends data using the Snow License Manager API. The API, in turn, stores the data in the table o365.Import in the SnowLicenseManager database. This row is picked up by the Microsoft 365 service to be processed. For more information about the data imported from Microsoft 365, see Retrieved information in the Microsoft 365 Connector.

The image below describes the data flow for the Microsoft 365 data in Snow License Manager.


For troubleshooting purposes, it is possible to see the data before it is processed by the Microsoft 365 service, by following these steps:

  1. Stop the Microsoft 365 service.

  2. Extract the data from the desired Payload column by using Save results as, and select All files and then store it as a JSON file.


    To reduce disk space demand, select only the columns that you need.


In the o365 schema of the Snow License Manager database, there are multiple ReadModel tables that each correspond to a view in Snow License Manager.

The ReadModels that contain historical data have not been truncated before processing each import. The ReadModels that do not contain historical data shows the current situation that comes from the latest import.

The following table shows the ReadModels in the o365 schema.



Historical data


Contains the cost information of the subscription plans.


Current Prices

Contains the current prices of the subscription plans.


Monthly Subscription Plans Breakdown

Contains the number of active, warning, assigned, and total license information of each cost period’s subscription plans.


Monthly Subscription Plans Activity Breakdown

Contains the list of subscription plans which are assigned to a Microsoft Office 365 user and their activity information per cost period.


Monthly Service Activity Breakdown

Contains the total amount of users, active users, unlinked users per relevant application, and per cost period.


Monthly User Breakdown

Contains the total amount of users, active users, unlinked users per cost period.



Contains the overview (assigned plans, total plans, total users, and last import date) of each cost period.


Overview Subscription Plan

Contains the current state of the subscription plan activities.


User History

Contains the total amount of users per cost period.


Users per Subscription Plan

Contains the list of subscription plans which are assigned to a Microsoft 365 user and their last activity information.


User Activity per Service

Contains user activity information that comes from Snow License Manager per service.


User Linking Suggestions

Contains the list of users that are not linked to a Snow License Manager user and the list of their potential Snow License Manager user matchings.

Tip: To troubleshoot the User linking suggestions, use the table called ReadModelUserLinkingSuggestion.



The database table Dbo.tblCID contains Customer ID and a column for TenantID. The TenantID can be used to search in the Microsoft 365 service log.

Log location

The default folder for log files is C:\Program files\Snow Software\Logs\Office365Service.

Service dependencies

Some services are dependent on each other in Snow License Manager. Snow Update Service will start the services in the correct order. To ensure that Windows starts the services in correct order after a reboot, the following dependencies are added to the services:


If a service is started without its dependency, it will make five attempts to connect to the other service. If it fails, the service stops.

SnowLicenseManagerEventStoreService was removed in Snow License Manager 9.14.

SnowLicenseManagerMicrosoft365BFF was introduced in Snow License Manager 9.14.

See Services in Snow License Manager for more information on the services used in the Microsoft 365 functionality.