One commercial position in the Contracts app register: the item sold under a service or maintenance agreement, its quantity, unit price and discount, the contract years and hours, the number of customer assets covered and the customer account. A contract line has no Contract field, so it is not tied to a contract header: the contract's Scope tab lists every contract line, and the Account is the only field a line shares with its contract. It is a record only. Nothing calculates from it, and no quote, order, service order, invoice or entitlement check reads it. Enforced service cover comes from asset service contracts instead. PM tasks can point to a line through their Contract Line field. New lines are numbered from the SCL series on first save. The shipped New/Edit form shows Name, Item, Description, Quantity, Contract Years, Discount, Contract Hours, Account, Asset count and Unit Price; every other business field is on no shipped form.
Fields
| Field | Label | Type | Required | What it does |
AccountId | Account | Lookup → Account | | The customer this line serves. Optional. On the New/Edit form but not on the shipped record page. It is the only field a line shares with its contract header, and the shipped dashboards group lines by it. |
Assetcount | Asset count | Number | | How many customer assets the line covers, typed as a whole number. Saved as 0 when left empty and never counted from asset records. |
BilledAmount | Billed Amount | Decimal | | How much has been billed against the line. On no shipped form, saved as 0 when left empty and never updated from invoices. The Renewal Exposure and Contracts & SLA dashboards sum it, so their value tiles stay at zero unless it is filled by import or an extended form. |
BillingTreatment | BillingTreatment | PickList | | How the line is billed. On no shipped form and ships with no picklist values; informational only. |
BillToAccountId | Bill To Account | Lookup → Account | | The account to invoice when it differs from the line's account. On no shipped form and informational, because nothing invoices from a contract line. |
ContractHours | Contract Hours | Number | | Hours of work or running time the line covers, as a whole number. Saved as 0 when left empty. Not reduced by service work; the Contracts & SLA dashboard sums it. |
ContractYears | Contract Years | Number | | The length of the agreement in years, as a whole number. Saved as 0 when left empty. Informational; the Renewal Exposure dashboard averages it. |
CostPrice | Cost Price | Decimal | | Your cost per unit, for margin reporting. On no shipped form; saved as 0 when left empty. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
Discount | Discount | Percent | | The agreed discount for the line, entered as a percentage. Informational only: it is not applied to the unit price or to any document. |
Id | Id | Guid | Yes | |
Ispartssupply | Is parts supply | Boolean | | Marks a parts-supply line rather than a service line. On no shipped form, off by default and informational. |
Isunderwarranty | Is under warranty | Boolean | | Marks equipment that is still under warranty. On no shipped form, off by default and informational. |
ItemId | Item | Lookup → Item | | The item sold on this line. Optional and informational: any item can be chosen and nothing is copied from it. |
Lineitemdescription | Line item description | Text | | Free-text description of the line, shown as Line item description in the list. Because a line has no Contract field, putting the contract number here is the practical way to find an agreement's lines. |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | The line's number. The form requires a value, but on first save it is replaced by an automatic number from the SCL series (series, day-month-year date and a six-digit counter, no separator, restarting daily as shipped). |
OwnerId | Owner | Lookup → UserAccount | Yes | |
Quantity | Quantity | Number | | How many units the line covers, as a whole number. Saved as 0 when left empty. Not consumed by any service or billing process. |
RecordTypeId | Record Type | Guid, hidden | | |
Remarks | Remarks | Text | | Free-text notes. On no shipped form. |
Series | Series | Text | | Free text. On no shipped form. It does not change the series the line is numbered from. |
ShipToAccountId | Ship To Account | Lookup → Account | | The account receiving the goods or service when it differs from the line's account. On no shipped form and informational. |
SubscriptionKey | Subscription Key | Guid, hidden | Yes | |
UnitPrice | Unit Price | Decimal | | The agreed price per unit. Saved as 0 when left empty. No line total is calculated from it. |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Vendorname | Vendor name | Text | | The supplier behind the line, as free text rather than a link to an account. On no shipped form. |
VisitFrequency | Visit Frequency | PickList | | How often preventive-maintenance visits are due. On no shipped form and ships with no picklist values. It does not create PM tasks. |
YearNumber | Year Number | Number | | Which contract year this line covers when an agreement is recorded as one line per year. On no shipped form; saved as 0 when left empty. |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
delete | delete | Delete | Delete |
New | New | NewInline | New |
- Item — looks up via
ItemId - Account — looks up via
ShipToAccountId - Account — looks up via
AccountId - Account — looks up via
BillToAccountId - PMTask — referenced by via
ContractLineId