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

Contract — entity reference

A service/maintenance agreement header for a customer Account, optionally tied to a single Asset. It carries the commercial frame: the coverage window (ContractStartDate/ContractEndDate), the term length in months, the signature block (company and customer signed dates, signatory title, the signing Contact) and a Draft, Pending Approval, Verified, Active status flow. Line-level scope, pricing and visit cadence live on ContractLine — but note that in first-party metadata ContractLine has no foreign key back to Contract, so the two cannot be joined out of the box. Also note this is the Contract Management app's agreement record only: service documents (ServiceOrder, Invoice, Quote, Claim) never reference it — they link to ItemServiceContract or AssetServiceContract instead, so use those entities when tracing a service document's contract coverage.

Fields

FieldLabelTypeRequiredWhat it does
AccountIdAccountLookup → Account
ActivatedDateActivated DateDateDate the agreement was activated (moved to the Active status), as distinct from ContractStartDate, which is the contractual start of coverage.
AssetIdAssetLookup → AssetOptional lookup tying the agreement header to a single covered Asset. Multi-asset coverage is expressed at line level (ContractLine's asset count) and per visit (PMTask.AssetId) instead.
BillingAddressBilling AddressText
CompanySignedDateCompany Signed DateDateAndTime
ContactIdContactLookup → ContactLookup to Contact. Note a naming mismatch: the domain model's only Contact reference on Contract is CustomerSignedById (the customer-side signatory), and the seeded Contract-to-Contact relation binds to that column — so treat this lookup as the customer signatory, pairing with CustomerSignedDate and CustomerSignedTitle.
ContractEndDateContract End DateDate
ContractNameContract NameTextBusiness title of the agreement, held separately from the platform-level record Name field.
ContractNumberContract NumberNumberNumeric identifier of the agreement, stored as an integer and held separately from both the record Name and the ContractName title.
ContractStartDateContract Start DateDate
ContractTermsContract Terms (Months)NumberCommitted contract term length in whole months, stored as a number. It complements ContractStartDate/ContractEndDate rather than being derived from them — no first-party code computes or reconciles it against the dates.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CustomerSignedDateCustomer Signed DateDate
CustomerSignedTitleCustomer Signed TitleText
DescriptionDescriptionText
IdIdGuidYes
LOBLOBPickListLine of business the contract belongs to. Picklist with a single seeded value (Automobile); the working vocabulary is tenant-defined. Values: Automobile.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
OwnerExpirationOwner ExpirationPickList
OwnerIdOwnerLookup → UserAccountYes
RecordTypeIdRecord TypeGuid, hidden
ShippingAddressShipping AddressText
SpecialTermsSpecial TermsText
StatusStatusPickListLifecycle stage of the agreement. Seeded picklist values: Draft (the default), Pending Approval, Verified, Active. No terminal state (expired/cancelled) is seeded; tenants add their own. Values: Draft, Pending Approval, Verified, Active.
SubscriptionKeySubscription KeyGuid, hiddenYes
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
EditEditEditEdit
NewNewNewNew
NewCreateNew CreateUIActionNew
  • Contact — looks up via CustomerSignedById
  • Asset — looks up via AssetId
  • Account — looks up via AccountId