Microsoft License Statement (MLS) import & tailoring : best practices

Blog Post created by Robert.stellinga Employee on Jun 7, 2018

Dear reader,


Based on the previous questions asked about how to efficiently import a Microsoft License Statement (MLS) and also manage Microsoft volume license purchases after the import, I’ve decided to write a blog post about this specific matter. In this blog post, I’ll try to explain and show how you can import a MLS file and also make sure which steps you need to make to have quality and trustworthy  data.  


So…after reading this blog post you should be able to:

  • Understand what a MLS is and how to get hold of a MLS
  • Understand what sets of  data are imported form a MLS and at the same time know what data is not available in a MLS
  • How to import a MLS in Snow License Manager
  • And where you should do some quality assurance in Snow License Manager




Before we get started with importing a MLS, lets first have a look at what this document exactly is, why you might need it and how you can get your hands on a MLS. If you wish to create a complete view of your Microsoft license investments, you’ll need an inventory of all your Microsoft agreements and licenses. This is what Microsoft calls a MLS; this spreadsheet document is a comprehensive effort by Microsoft to basically inventory every license transaction made by your company. A MLS could contain transactions going back 10 to 15 years. The MLS is a good starting point for creating a digital contract management system in Snow License Manager for all of your Microsoft agreements and licenses, but be aware that a MLS can be overwhelming to digest and can come across as a confusing and difficult document.


It is recommended that the MLS import is done by persons with adequate knowledge and experience. For this reason, I strongly advise you to contact your Microsoft trusted advisor, reseller (LSP) or SAM partner to assist and advice you. The MLS follows a narrow interpretation of the Microsoft licensing rules, that might not fully cover the reality of your company’s license position. The MLS spreadsheet might contain errors or might not contain all of your purchase history - a mistake or wrong interpretation in one field of the spreadsheet can easily create a waterfall effect.


In order to get a MLS, I would recommend you to get in contact with your current Licensing Solutions Provider (LSP). They should be able to request a MLS spreadsheet for you and assist you with the correct interpretation.




Before I demonstrate the actual importing of a MLS spreadsheet, I would like to first explain the sets of data which will eventually be imported into Snow License Manager. Although, a MLS file contain many tabs with useful information, during the import in Snow License Manager only the License Agreements and Transaction Data is imported via the MLS import function. Below an example of both tabs:

  • Picture 1: the license agreements tab
  • Picture 2: the transaction data tab


Picture 1


Picture 2


All of the imported licenses – from the transaction data tab –  will be mapped to applications in Snow License Manager using the SKU numbers (in the MLS this column is usually called Part Number). The MLS import will eventually results in importing all of the active and expired volume license agreements and all of the licenses attached to those agreements.


It is Important to know, that a MLS file doesn't contain entitlement data about Original Equipment Manufacturer (OEM) purchases, Full Packaged Product (FPP) purchases and Independent Software Vendor (ISV) licenses. Although, the MLS file could contain a separate “MPSA” tab, please note that also these entitlement will not be a part of the import. MPSA related agreements and licenses will need to added or imported separately into Snow License Manager!




Now that we have a recent copy of the company’s MLS, we can import the file straight form within Snow License Manager or via the Snow Management and Configuration Center (SMACC). Please note, that doing an import of any document via the SMACC will bypass the web portal services (IIS) and would basically speed up your import. Loading will eventually take some what longer, when you do the import straight from Snow License Manger. For your convenience, I’ve uploaded two screenshots that show the import page from the SMACC (picture 3) and from Snow License Manager (picture 4)


Picture 3


Picture 4


In case you’re unable to either select the “import data” option from the drop-down menu or select the MLS import from within Snow License Manager, this means that your Snow account lacks the correct privileges and I would recommend to have the correct person update your Snow License Manager account (either your local Snow admin or your Snow partner in case you’re using the hosted solution)


By selecting the “MLS import”, you’ll enter the import wizard for importing the MLS file. The import itself takes a total of 5 steps and I will mainly focus on the most important parts. The first step is selecting the MLS file that you want to import. The second step is where you can change three import settings (picture 5), which are rather important:


(1) Use organisation alias for agreements and (2) use organisation alias for licenses will only work if your organisation structure – created in the SMACC – contains the alias as mentioned in the MLS file. This will usually not be the case! I personally recommend you to deselect them both. All agreements and licenses will be allocated to the ROOT organisation (the top company in your organisation structure). This means, that you need to assign the agreements and licenses from within Snow License Manager after the import. Alternatively, you could update the MLS with the organisation names as they are applied in Snow (SMACC => organisation structure). This will need to be updated in both tabs of the MLS, in the “Customer Name on Agreement” column.


The third import setting lets you select the option to (3) import incomplete licenses or not. I do recommend to import incomplete licenses for the completeness of you license legacy. If you would like to only have the latest active volume license agreement in Snow License Manager, it would not be a smart idea to do a MLS import, but rather just import that agreement(s) via the agreement import, and use the agreement import template to get started. The main idea behind importing a MLS file, is to get all of your volume license purchases into Snow License Manager, including Software Assurance licenses, Upgrade licenses and / or Step-up licenses. These are all good examples of an incomplete licenses, after the import is done.


Picture 5


During step 3 en step 4 you will be asked to verify the agreements and licenses that will be imported. Especially in step 4 (picture 6) – verification of the licenses – you might see different kinds of error messages. Regardless of these messages, you will always be able to import all the data into Snow License Manager, and during both steps you may also export different excel sheets for your quality assurance checks. These exports contain explanations  for each error messages.


Picture 6


The final step should show a positive result and how many rows have been imported. Now that the MLS has been imported, you might need to carry out some additional quality assurance.




Because not all MLS imports are the same for each one of you, it’s hard to determine which specific assets need your attention after the import is done. If you have imported an unaltered MLS, all the licenses and agreements will be allocated to the ROOT, as shown in picture 7. This means, that you might need to change and assign them to the correct organisations (business units).


Picture 7


For the licenses, you first need to focus on the set of incomplete licenses, if any. Luckily, you can easily filter on all incomplete licenses in Snow License Manager (picture 8). The reason for each incomplete license might differ for your specific situation, but will always be one of the following:


  1. The license imported is a Software Assurance only purchase
  2. The license imported is an Upgrade Advantage purchase
  3. The license imported is a Competitive Upgrade purchase
  4. The license imported is an Upgrade license
  5. The license imported is a Step-Up license
  6. The SKU of the license in the MLS did not match with the Snow SRS databases


Picture 8


“A to E” will basically require you to link the incomplete license with a base license – the initial purchase – in order to make it a complete license. For “E” the mismatch will result in the license missing many important details. The result of a license missing after a MLS import can also been seen in picture 8, looking at the red numbers 1 to 4. As you can see, the purchase / license record will be imported, but most of the license details are missing.


For creating the correct relation between an incomplete license and the corresponding base license, you will need to analyse each individual license or license product family, in order to establish the correct upgrade paths. The screenshot below (picture 9) shows an example of an incomplete license, because this license was a Software Assurance only purchase.


Picture 9


You should be able to link the correct licenses together straight from within Snow License Manager, but you might also wish to analyse the purchase legacy in the MLS itself. Below you can see an example of the license purchase of Exchange Server Enterprise (picture 10).


Picture 10


I’ve added some filters to get the overview as shown above. Selecting the appropriate metric that applies removes the CAL licenses and by searching for all “Microsoft Exchange servers” in the application column, I should be able to link all purchases together.


In this particular example “1a” is the initial purchase of the Microsoft Exchange Enterprise edition. Followed by a Software Assurance only purchase, which is “1b”. This would mean I need to link 1b to 1a. The most recent purchase in this case is “1c”, which again is a Software Assurance only purchase that I need to link to 1b. In the end this will result in three purchase records (three complete licenses) and one license entitlement  of Microsoft Exchange Enterprise Server 2007 with Software Assurance for a particular period. As mentioned before in this blog, you might wish to pick this up with your trusted advisor, either your Snow partner or via Snow Software.


The last thing I would like to mentioned, which is also very important to take into account, it the quantity of licenses that you need to adjust when it comes to the following metrics:

  • Processors
  • Cores


The reason for this is that the MLS import will copy the quantity for each license purchase straight form the “transaction quantity” column located in the transaction data tab. If you look closer to a license purchase that has a processor or core metric, you’ll see that these purchase come in packs of two. The initial result of the MLS import in Snow License Manager is that you’ll need to double each license quantity. Below you can see an example of how the license purchase looks like in the MLS (picture 11) and eventually how this looks like in Snow License Manager (picture 12).


Picture 11


Picture 12


From an entitlement perspective you own 4 SQL Server Standard 2014 licenses, that come in separate packs of two. This is the equivalent of 8 SQL Server Standard 2014 Cores. This also applies to the processor core pack for products like BizTalk Server or Windows Server, and of course also the Windows Server based on the core metric. Please keep this in mind, before you start assigning these expensive licenses to the correct assets, that you multiple the quantity by two.


I would like to close this blog post, by saying that I strongly advice you to conduct a MLS import only once! After you have imported your company’s MLS, you should have a solid Microsoft agreement and license base from which you can start to maintain and update additional purchases separately by either adding these manually or by using the other import options available for agreements and licenses.


I hope this blog post helps you out by explaining what it means to import a MLS, how not only to do the import, but especially what you need to do after the import.


Don’t hesitate to comment on this blog post or reach out to me or any of your local Snow contacts for more assistance.


My other blog about SQL Server Management