LCM field reference
These are the contract and license fields in License and Contracts Manager. The names are the canonical names. They match the column headers in the LCM template and the keys used by the API and integrations. Labels on the forms are friendlier. The fields underneath are these.
The schema can be extended for the project with custom fields. Constrained fields such as contract_type and status accept a defined set. Common values are below. The canonical list is the dropdown on the form, and it can grow.
Contract fields
Section titled “Contract fields”A contract is one software agreement: commercial terms, dates, vendor and renewal information.
Required
Section titled “Required”| Field | Type | What it holds |
|---|---|---|
contract_number | string | Unique identifier, for example AGR-12345. The business key that links the contract to its licenses. |
contract_name | string | A clear name, for example Adobe Creative Cloud 2025. |
contract_type | string, constrained | The kind of contract. See common values below. |
legal_entity | string | The company in your organization that signed, for example Acme Inc.. |
vendor_name | string | The company providing the product or service, for example Microsoft. |
start_date | string, YYYY-MM-DD | The date the contract begins. |
end_date | string, YYYY-MM-DD | The date the contract ends. |
Optional
Section titled “Optional”| Field | Type | What it holds |
|---|---|---|
status | string, constrained | Current state. Defaults to Automatic, derived from the dates. |
business_owner | string | The person responsible, as a name or an email. |
po_number | string | Purchase order number, for example PO-12345. |
invoice_number | string | Invoice reference, for example INV-12345. |
total_value | number | Total cost of the contract. Spend charts read this. |
currency | string | Three-letter ISO code, for example USD, EUR or GBP. |
purchase_date | string, YYYY-MM-DD | The date the contract was bought. |
renewal_date | string, YYYY-MM-DD | The date to review for renewal. |
renewal_notice_days | number | Days before the end date for the first reminder. See Renewals & Lifecycle. |
sla_terms | string | Service level details, such as an uptime guarantee. |
reseller_name | string | The company that sold the product, if there is one. |
reseller_type | string | The kind of reseller, for example distributor. |
notes | string | Free-text internal notes. |
description | string | What the contract covers. NEO also writes extracted custom values here. |
Common contract_type values on the form: License Agreement, Enterprise Agreement, Support Agreement, Subscription Agreement, Reseller Agreement, Audit Agreement, Evaluation Agreement, Custom Agreement, Service Agreement.
Common status values: Automatic, Active, Expired, Future, Renewed, Terminated. Automatic follows the start and end dates.
License fields
Section titled “License fields”A license is one entitlement under a contract, linked by contract_number.
Required
Section titled “Required”| Field | Type | What it holds |
|---|---|---|
contract_number | string | The parent contract’s contract_number. |
license_name | string | What the entitlement is. With contract_number, this is the business key the upload matches on. |
license_type | string, constrained | The kind of license. See common values below. |
quantity | number | Units included. On Edit License this is Quantity, and it is required. |
unlimited_quantity | boolean | The Unlimited Quantity checkbox under Quantity. True for a site license or another uncapped entitlement. Otherwise False. Entering 0 does not mean unlimited. |
Optional
Section titled “Optional”| Field | Type | What it holds |
|---|---|---|
status | string, constrained | Whether the license is active. Defaults to Automatic. Common values: Automatic, Active, Inactive. |
use_contract_dates | boolean | Whether the license inherits its dates from the contract. Defaults to True. Set False to use the license start_date and end_date. |
start_date | string, YYYY-MM-DD | License start. Used only when use_contract_dates is False. |
end_date | string, YYYY-MM-DD | License end. Used only when use_contract_dates is False. |
license_metric | string | How the license is measured, for example per user, per device or per core. |
license_key | string | The activation key or license code. |
sku | string | A code for the specific product version. |
price | number | Cost per unit. |
currency | string | Three-letter ISO code for the price. |
has_maintenance | boolean | Whether the license includes support or updates. |
downgrade_rights | boolean | Whether the license allows an older version. |
description | string | Extra detail on what the entitlement covers. |
website | string | Link to the product or vendor site. |
product_publisher | string | The company that makes the product. |
product_name | string | The product name. Optional, because a bundle or a pool may not map to one product. |
product_edition | string | Edition, for example E3, Enterprise or Standard. |
product_version | string | Version number or year. |
notes | string | Free-text internal notes. |
Common license_type values on the form: Perpetual, Subscription, Open-Source, Freeware, Support, Maintenance.
How the fields behave
Section titled “How the fields behave”On Edit License, Quantity is required and Unlimited Quantity is the checkbox under it. Tick the checkbox for an uncapped entitlement. Entering 0 does not mean unlimited. In the template, that checkbox is unlimited_quantity. Allocations against an unlimited license still consume from it, but Available is meaningless because there is no fixed cap.
use_contract_dates defaults to True. Most licenses inherit the contract term, which is right when the contract grants one or more licenses for the same period. Use the license dates only when the license has a different period, for example a license that starts part way through a multi-year contract.
For contract_type, status and license_type, the bulk upload checks the current allowed values. If a row is rejected for one of those fields, open the manual form and use the list there.
Per-record custom fields stay on that one record and are not part of the bulk schema. Settings template fields become fields for the whole project and appear as columns on the next template download.
Where the names are used
Section titled “Where the names are used”- The LCM template, where the column headers are these names
- The manual forms, where the labels differ and the stored fields do not
- The reports, where the names appear as chart dimensions and column headers
- Exports, which use these names as column headers
- Integrations and the API, which follow this model