LCM template
For anything beyond a handful of contracts, the template upload is the fastest way to get data into License and Contracts Manager. One new agreement is quicker on the form. See Add and review a contract.
The file has two sheets:
- Contracts, one row per agreement
- Licenses, one row per license, linked to a contract by
contract_number
Download it from the data source. Open Datasources, click LCM - Template, then Download Template. You can also start from Batch upload contracts on Add a contract.
Download a fresh template
Section titled “Download a fresh template”Always download a fresh template. The schema is extended from time to time, and the file is generated from the project you are in. An old saved copy can be missing a new field, or a column from that project’s Settings template.
The template matches the project’s schema:
- The standard required and optional fields are always included.
- Any Settings template fields in the current project appear as extra columns.
Settings templates are scoped to the project. A custom field added in one project does not appear in another’s template. If you keep more than one project, download the template from inside the project you are loading. You do not add those columns yourself. They are already on the fresh download.
Where the rows go
Section titled “Where the rows go”All data goes beneath the row marked DATA LINES TO BE IMPORTED. The rows above that marker hold the headers, type hints, descriptions, required or optional flags, and example values for constrained fields. Leave those rows in place.
Field names are the canonical names. They match the column headers and the field reference.
Contracts sheet, required fields
Section titled “Contracts sheet, required fields”| Field | What to enter |
|---|---|
contract_number | A unique identifier, for example AGR-12345. It links contracts to licenses, and it must be unique in the project and the same on both sheets. |
contract_name | A descriptive title, for example Microsoft EA 2024-2027. |
contract_type | A value from the list on the contract form. |
legal_entity | The entity in your organization that signed the contract. |
vendor_name | The supplier or publisher, for example Microsoft or Oracle. |
start_date | YYYY-MM-DD. |
end_date | YYYY-MM-DD. |
Licenses sheet, required fields
Section titled “Licenses sheet, required fields”| Field | What to enter |
|---|---|
contract_number | Must match a value on the Contracts sheet, or a contract already in the project. |
license_name | A clear name for the entitlement. Together with contract_number, this is the key the upload matches on. |
license_type | A value from the list on the license form. |
quantity | Number of units. This is Quantity on the license. Do not use 0 to mean unlimited. |
unlimited_quantity | True or False. This is the Unlimited Quantity checkbox. Use True for a site license or another uncapped entitlement. |
License status is Automatic, Active or Inactive. The default is Automatic. If you are unsure of a constrained value, check the dropdown on the manual form. That list is the source of truth, and it can grow.
Dates, booleans and optional columns
Section titled “Dates, booleans and optional columns”All dates use YYYY-MM-DD, for example 2025-12-31.
Boolean fields are True or False, and the case matters. Do not use Yes and No, or 1 and 0.
The template includes every optional field as a column. The full set is on the field reference. Leave a column blank to skip it. Currency is a three-letter ISO code, such as USD, not US$ or Dollar.
Upload the file
Section titled “Upload the file”- Open Datasources and click LCM - Template.
- Drag the completed file into the upload area, or click Upload.
- Check the source’s upload history.
- Rows that fail validation are flagged with the row number and the reason. Fix them in the file and upload again.
Common validation errors
Section titled “Common validation errors”- Missing required field. One of the seven contract fields or five license fields above is blank.
- Unknown value in a constrained field.
contract_type,statusorlicense_typeis not in the current allowed list. - Orphan license. A
contract_numberon the Licenses sheet is not on the Contracts sheet, and it is not already in the project. - Malformed date. Anything other than
YYYY-MM-DD. - Boolean parsed wrong. Anything other than
TrueorFalse. - Currency code wrong. It must be a three-letter ISO code, such as
USD, notUS$orDollar.
Bulk upload or the form
Section titled “Bulk upload or the form”| Use the template for | Use the form for |
|---|---|
| The first migration from spreadsheets | A single new contract you have just signed |
| An annual load of new agreements | A quick edit to an existing record |
| Licenses from a vendor entitlement export | Anything where one template row would take longer than the form |