xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Entity Reference/Asset Service Contract — entity reference
REFERENCE · Last reviewed

Asset Service Contract — entity reference

The per-asset instance of an entitlement whose terms come from an ItemServiceContract template — this is the record that says a specific Asset is actually covered. AssetServiceContractService matches one to a Service Order or Opportunity on AssetId plus ItemServiceContractId, skipping any contract already flagged IsUtilized, and treats it as lapsed when the document date is past ValidTillDate plus GraceUsageDays, when usage hours reach ValidTillHours plus GraceUsageHours, or when the usage reading reaches ValidTillUsageReading plus GraceUsageReading. Whether an active contract is mandatory is decided by the parent template's ActiveServiceContractRequired and IsScopeRestricted flags, and a template marked SingleUseContract fails a second use once IsUtilized is set. Its lines (AssetServiceContractLine) hold the covered components and the quantity drawn down so far.

Fields

FieldLabelTypeRequiredWhat it does
ActivatedDateActivated DateDateWhen the entitlement was activated and coverage began, which can be later than the record's creation date — a contract sold with an asset is often activated at installation.
AssetIdAssetLookup → Asset
BillingAccountIdBilling AccountLookup → AccountThe account to bill for work carried out under this entitlement, which is frequently not the asset's owning account — for warranty work it is typically the manufacturer or the selling partner.
ContractPostingTreatmentContract Posting TreatmentCalculatedDeclared as a calculated field but the first-party seed ships no formula for it, so it resolves to nothing on this entity. The authoritative value lives on the governing ItemServiceContract template, where it is a real picklist of Generate Claims, Generate Invoices and Auto Generate Claims. Read it from the template, not from here.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DescriptionDescriptionText
DueDateDue DateDateWhen the next service under this contract falls due, as opposed to ValidTillDate which is when the entitlement expires altogether. Due tracking and expiry are separate axes here.
DueInHoursDue In HoursNumber
DueOnUsageReadingDue On Usage ReadingNumber
ExternalIdExternalText, unique
GraceUsageDaysGrace Usage DaysNumberDays of tolerance added to ValidTillDate before the contract is treated as lapsed. It extends the coverage window for matching purposes; it does not move the stated expiry date itself.
GraceUsageHoursGrace Usage HoursNumber
GraceUsageReadingGrace Usage ReadingNumber
IdIdGuidYes
IsUtilizedIs UtilizedBooleanYesMarks the entitlement as consumed. Contract matching skips any contract with this set, and when the governing template is flagged SingleUseContract a second attempt to use it fails with 'This is a Single Use contract and has already been utilised'.
ItemIdItemLookup → Item
ItemServiceContractIdService ContractLookup → ItemServiceContractThe ItemServiceContract template this per-asset contract was instantiated from — labelled simply 'Service Contract'. Contract matching keys on this together with AssetId, and the template's flags decide whether an active contract is required, scope-restricted or single-use. Do not confuse it with ServiceContractItemId, which points at an Item.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
OwnerIdOwnerLookup → UserAccountYes
PopulateContractLinesPopulate Contract LinesBoolean
PostingTypePosting TypeTextHow utilisation of this entitlement should be posted commercially. It is stored as free text on this record rather than as a picklist, unlike the template's ContractPostingTreatment which carries the seeded vocabulary.
RecordTypeIdRecord TypeGuid, hidden
ServiceContractItemService Contract ItemLookup → ItemA lookup-typed field with no relation defined and no counterpart on the domain class — every other lookup on this entity has an EntityRelation and this one does not. It duplicates the label of ServiceContractItemId, which is the field that actually resolves to an Item. Do not read, filter or set this field; use ServiceContractItemId.
ServiceContractItemIdService Contract ItemLookup → ItemA lookup to the Item that represents the contract as a sellable product. Despite the similar label it is unrelated to ItemServiceContractId, which points at the ItemServiceContract template — this one resolves to an Item.
ServiceOrderIdService OrderLookup → ServiceOrder
ServiceTypeService TypeCalculatedDeclared as a calculated field with no formula in the first-party seed, so it holds nothing here. The real value is the ItemServiceContract template's ServiceType picklist, seeded with Warranty Repairs and Paid Repairs.
SingleUseContractSingle Use ContractCalculatedDeclared as a calculated field with no formula in the first-party seed. The flag that is actually enforced is SingleUseContract on the governing ItemServiceContract template, which combines with this record's IsUtilized to block a second use.
StatusStatusPickList
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes
ValidTillDateVal Till DateDateThe calendar expiry of the entitlement. Lapse is judged against this date extended by GraceUsageDays, and the date compared is the document's failure date where one is given, otherwise the document date.
ValidTillHoursVal Till HoursNumberThe hour-meter ceiling of the entitlement. The contract is treated as lapsed once the service document's usage hours reach this value plus GraceUsageHours.
ValidTillUsageReadingVal Till Usage ReadingNumberThe usage or distance ceiling of the entitlement. Exceeding this value plus GraceUsageReading lapses the contract and produces the failure 'KM reading exceeds service contract usage limit'.

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
EditEditEditEdit
EditInLineEditEditInlineEdit
NewNewNewNew