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/Item Service Contract — entity reference
REFERENCE · Last reviewed

Item Service Contract — entity reference

The template that defines a sellable service entitlement for an Item, SKU or lot type — coverage window, usage limits, grace allowances and the rules that govern how the entitlement behaves when it is claimed. AssetServiceContract records are the per-asset instances stamped from it, and this template's ActiveServiceContractRequired, IsScopeRestricted and SingleUseContract flags are what AssetServiceContractService enforces when a Service Order or Opportunity cites the contract. ContractPostingTreatment decides whether utilisation produces claims or invoices. Set coverage here once per product rather than per asset.

Fields

FieldLabelTypeRequiredWhat it does
ActiveServiceContractRequiredActive Service Contract RequiredBooleanIt also switches on the date, hours and usage validity checks against the matched contract.
BillingAccountIdBillingAccountLookup → Account
BillToPartnerAccountBill To Partner AccountBooleanYesDirects billing for work under this contract to the partner account rather than to the end customer — the usual arrangement for manufacturer-funded warranty. The specific account is BillingAccountId.
ContractPostingTreatmentContract Posting TreatmentPickListHow utilisation of this entitlement is turned into commercial documents, seeded with Generate Claims, Generate Invoices and Auto Generate Claims. This is the authoritative copy of the setting — the same-named field on AssetServiceContract is a calculated field with no formula. Values: Generate Claims, Generate Invoices, Auto Generate Claims.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DateEffectiveFromDate Effective FromDateThe date from which this template may be sold or applied — a property of the template's own validity, not of any entitlement granted under it. Per-asset coverage dates live on AssetServiceContract.
DateEffectiveTillDate Effective TillDateThe date after which this template may no longer be applied. It does not curtail entitlements already granted; those expire on their own ValidTillDate.
ExternalIdExternalText, unique
FromDaysFrom DaysDecimalThe lower bound, in days since the asset's reference date, of the window in which this template applies. Paired with ToDays it lets several templates cover successive age bands of the same product.
GraceUsageDaysGrace Usage (Days)Decimal
GraceUsageHoursGrace Usage (Hours)Decimal
GraceUsageReadingGrace Usage (Reading)Decimal
IdIdGuidYes
IsActiveIs ActiveBooleanYes
IsScopeRestrictedIs Scope RestrictedBooleanYesMarks a contract that only covers the components explicitly listed on its lines. Like ActiveServiceContractRequired it forces a matching active AssetServiceContract to exist, failing with a message naming the restricted scope when none is found.
ItemIdItemLookup → Item
ItemLotTypeIdItem Lot TypeLookup → ItemLotTypeRestricts the template to assets originating from a particular lot type, allowing coverage to differ between, for example, imported and locally produced stock of the same item.
MaximumUsageHoursMaximum Usage (Hours)Number
MaximumUsageReadingMaximum Usage (Reading)DecimalThe upper usage bound of the band this template covers, paired with MinimumUsageReading. Distinct from the per-asset ValidTillUsageReading, which is where a granted entitlement actually expires.
MinimumUsageHoursMinimum Usage (Hours)Decimal
MinimumUsageReadingMinimum Usage (Reading)DecimalThe lower usage bound of the band this template covers. Together with MaximumUsageReading it selects a template by how much the asset has been used, rather than by how old it is.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
OwnerIdOwnerLookup → UserAccountYes
PopulateContractLinesPopulate Contract Lines (Future Use)BooleanYesLabelled 'Populate Contract Lines (Future Use)' in the shipped metadata — the flag is reserved and does not currently drive any behaviour. Do not rely on setting it to produce contract lines.
RecordTypeIdRecord TypeGuid, hidden
RestrictAssetContractLinesGenerationRestrict Asset Contract Lines GenerationBooleanYesSuppresses automatic creation of AssetServiceContractLine records from this template's lines when a per-asset contract is instantiated. Use it where coverage lines are meant to be chosen deliberately rather than copied wholesale.
ServiceTypeService TypePickListWhether work under this contract is warranty or chargeable, seeded with Warranty Repairs and Paid Repairs. Contract lookup can filter candidate templates by service type, so this drives which entitlement a service order can draw on. Values: Warranty Repairs, Paid Repairs, Maintanence, AMC.
SingleUseContractSingle Use ContractBooleanYesMarks an entitlement that may be claimed once only. Enforcement pairs this with the per-asset contract's IsUtilized flag: a second attempt fails with 'This is a Single Use contract and has already been utilised'.
SKUIdSKULookup → SKU
ToDaysTo DaysDecimalThe upper bound in days of the age window this template covers, forming a band with FromDays. This is about which template applies to an asset of a given age, not about how long a granted entitlement lasts — that is DateEffectiveTill and the per-asset ValidTill fields.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes
WeightageInvoiceChargeItemIdItWeightage Invoice Charge ItememLookup → ItemThe Item used to raise the weightage-based charge when this contract is invoiced. Its shipped label is the garbled 'ItWeightage Invoice Charge Itemem', so identify it by field name rather than by label.

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditEdit in page.
EditInLineEditEditInlineEdit in page.
EditListHeaderEditEditInlineEditListHeader
EditListRowEditEditEditListRow
NewNewNewNew

Validations

ValidationApplies toError messageNotes
From Days Rule ValidationFromDays, ErrorDays cannot be zeroPrevents From Days from being zero or less
Grace Day Rule ValidationGraceUsageDays, ErrorGrace Days cannot be NegativePrevents negative or zero grace usage days
Grace Hour Rule ValidationGraceUsageHours, ErrorGrace Hours cannot be NegativePrevents negative or zero grace usage hours
Grace Usage Rule ValidationGraceUsageReading, ErrorGrace Usage Cannot be NegativePrevents negative or zero grace usage reading
Maximum Hour Rule ValidationMaximumUsageHours, ErrorMaximum Hours should be greater than Minimum hoursEnsures maximum usage hours is not less than minimum usage hours
Maximum Usage Rule ValidationMaximumUsageReading, ErrorMaximum Usage should be greater than Minimum Usage.Ensures maximum usage reading is not less than minimum usage reading
Minimum Hours Rule ValidationMinimumUsageHours, ErrorUsage Hours cannot be less than 0Prevents zero or negative minimum usage hours
Minimum Usage Rule ValidationMinimumUsageReading, ErrorMinimum Usage cannot be zero or negativePrevents zero or negative minimum usage reading