xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField Sales & SFACRMRewardsClaimsInventoryProcurementWarehouse 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
Auto DMSConsumer Goods DMSSales Force Automation (SFA) 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/Opportunity — entity reference
REFERENCE · Last reviewed

Opportunity — entity reference

An opportunity is a qualified deal being worked: the customer, the items or services under negotiation with their prices, and the record quotes, sales orders and service orders are raised from. It has three record types (Sales, Service, Partner) and appears in the CRM, Service and Partner Onboarding apps. It is created directly, by converting a lead or a case, or by a campaign run, and is numbered from document numbering (shipped series OP). Status starts as Prospecting; shipped business rules move it to Appointment/Quote when a quote, demo or appointment exists and to Closed Won when an order, service order or partner application is linked. Partner Account and Branch are locked after the first save. The Quote action copies every line into a new quote each time it runs; the Order and Service Order actions release each line's pending quantity and can run again until nothing is pending. Step-by-step procedures are on the Opportunities page of the CRM documentation.

Fields

FieldLabelTypeRequiredWhat it does
AccountIdAccountLookup → AccountThe customer the deal is with. Only active customer accounts can be picked. When left empty it is filled from the selected asset's owner, from the originating lead, or from the account whose phone matches the opportunity's phone number. Choosing an account fills the names, phone, email, contact and both addresses from it.
AccountNameAccount NameTextThe customer's filing name, stored as text. It defaults to the business name, or to first and last name when there is no business name, and is copied to the orders raised from the deal.
AdjustedAdvanceAmountAdjusted Advance AmountCurrency
AdvanceAmountAdvance AmountCurrency
AmountAmountCalculated (calculated)
AppointmentDateAppointment DateDateAndTime
AppointmentTimeSlotIdAppointment Time SlotLookup → BranchTimeSlot
AssetIdAssetLookup → AssetThe customer's asset for a service opportunity, required on the service form and limited to the account's assets. When the account is empty it is filled from the asset's owner, and open campaign items on the asset are added as lines.
AssetServiceContractIdAsset Service ContractLookup → AssetServiceContractThe asset's service contract; only contracts valid today can be picked.
BillingAddressBilling AddressText
BillingAddressIdBilling AddressLookup → ContactAddress
BillingCityBilling CityPickListValues: Mumbai, Pune, Chandigarh.
BillingCityPlaceIdBilling City PlaceLookup → PlaceValues: Pune, Mumbai, Chandigarh.
BillingContactAddressIdBilling AddressLookup → ContactAddress
BillingCountryBilling CountryPickListValues: India.
BillingPostalCodeBilling Postal CodeTextEntering a postal code fills the billing city, state, region and country from the postal-code master.
BillingRegionBilling RegionText
BillingStateBilling StatePickListValues: Haryana, Maharashtra, New Delhi, Punjab.
BillingStreetBilling StreetText
BranchIdBranchLookup → BranchThe selling branch. It must belong to the partner account and be active, and it cannot be changed after the opportunity is saved.
CancellationReasonCancellation ReasonPickList
CaseIdCaseLookup → CaseThe case the opportunity was converted from.
ContactIdContactLookup → ContactThe contact person, limited to the account's contacts. It defaults to the account's most recently created contact or the lead's contact.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CustomerVoiceCustomer VoiceText
DealerOnboardingIdDealer OnboardingLookup → DealerOnboarding
DiscountDiscountNumberA header discount percentage. Changing it on a saved opportunity applies it to every line. Not shown on the shipped layouts.
DiscountGroupIdDiscount GroupLookup → DiscountGroupThe discount group for the deal, set automatically on save. Not shown on the shipped layouts.
DocumentDateDocument DateDateThe business date of the deal. Lead conversion and campaign runs set it to the current date. It is used as the price date for lines when no price-as-on date is set.
DropOffAddressIdDrop Off AddressLookup → ContactAddress
ExternalIdExternalText
FailureDateFailure DateDate
IdIdGuidYes
IsAppointmentGeneratedIs Appointment GeneratedBooleanCalculated: true once the opportunity has at least one product demo or appointment.
IsCancelledCancelledBooleanYes
IsConfirmedConfirmedBooleanYes
IsDropOffRequiredDrop Off RequiredBooleanYes
IsFieldServiceField ServiceBooleanYes
IsKPICalculatedKPI CalculatedBooleanYesSet once the opportunity has been posted to performance KPIs.
IsLinePopulatedLine PopulatedBooleanYes
IsPickUpRequiredPick Up RequiredBooleanYes
IsQuoteGeneratedQuote GeneratedBooleanYesSet when the Quote action raises a quote. It records that a quote exists but does not stop another one being raised.
IsRepairOrderGeneratedRepair Order GeneratedBooleanYes
IsSaleOrderGeneratedSale Order GeneratedBooleanYesStamped by PerformGenerateOrder together with OrderId when the sales Order is created from this opportunity; generation is skipped when OrderId is already set.
ItemServiceContractIdService ContractLookup → ItemServiceContractLabelled Service Contract. Choosing it adds the pending lines of the asset's service contract, and the contract's usage band limits the usage readings.
JobTypeJob TypePickList
LeadIdLeadLookup → LeadThe lead the opportunity was converted from.
LinesSubtotalTotal Line AmountCalculated (calculated)
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberTextYesThe opportunity's document number, generated on save from the Opportunity Name Setting. The shipped format is OP, the day, month and year, and a six-digit counter, joined by hyphens.
OpenAmountOpen AmountCalculated (calculated)Calculated: equal to Total Amount.
OpportunityTimeSlotBookingIdOpportunity Time Slot BookingLookup → BranchTimeSlotBooking
OrderIdOrderLookup → OrderThe first sales order raised from the opportunity. Further orders can be raised while lines have pending quantity; all of them link back to the opportunity.
OwnerIdOwnerLookup → UserAccountYes
PackageServiceIdPackage ServiceLookup → Item
PartnerAccountIdPartner AccountLookup → AccountThe selling company that owns the deal. Only active partner accounts can be picked. It is validated together with Branch on create and cannot be changed after the opportunity is saved; it is copied to every quote and order raised from it.
PerformCancelPerform CancelBooleanYes
PerformConfirmPerform ConfirmBooleanYes
PerformGenerateQuotePerform Generate QuoteBoolean
PerformGenerateRepairOrderPerform Generate Repair OrderBooleanYes
PerformGenerateSaleOrderPerform Generate Sale OrderBooleanYes
PerformKPICalculationPerform KPI CalculationBooleanYes
PerformPopulateLinesPerform Populate LinesBooleanYes
PickUpAddressIdPick Up AddressLookup → ContactAddress
PickUpAssignedToIdExecutiveLookup → Resource
PopulateAssetMaintenancePopulate Asset MaintenanceBoolean
PriceAsOnDatePrice As On DateDateThe date prices are taken from. Changing it on a saved opportunity reprices every line from the price list. Not shown on the shipped layouts.
PriceListIdPrice ListLookup → PriceListThe sale price list for the deal, set automatically on save. Not shown on the shipped layouts.
QuoteForServiceContractIdQuote For Service ContractLookup → Quote
RecordTypeIdRecord TypeGuid, hidden
RemarksRemarksText
RepairOrderIdRepair OrderLookup
RoundOffRound OffCurrency
SaleOrderIdOrderLookup → Order
ServiceAddressService AddressText
ServiceAdvisorIdExecutiveLookup → ResourceLabelled Executive: the resource handling the deal. It must be active and authorized for the partner account and branch. It becomes the executive on a generated sales order and the service advisor on a quote or service order.
CampaignBatchInstanceIdCampaign Batch InstanceText
CampaignIdCampaignLookup → CampaignThe campaign whose run created the opportunity; a campaign run raises one opportunity per campaign member with one line per campaign item.
CampaignMemberIdCampaign MemberLookup → CampaignMember
ServiceContractItemIdService Contract ItemLookup → Item
ServiceOrderIdService OrderLookup → ServiceOrderThe first service order raised from the opportunity. Further service orders can be raised while lines have pending quantity.
ServiceTypeService TypePickListKind of service requested. Shipped values: Accidental Repairs, PDI, Paid Repairs, Warranty Repair. Values: Paid Repairs.
ServiceVanIdService VanLookup
ShippingAddressShipping AddressText
ShippingAddressIdShipping AddressLookup → ContactAddress
ShippingCityShipping CityPickListValues: Pune, Mumbai, Chandigarh.
ShippingCityPlaceIdShipping CityLookup → PlaceValues: Pune, Mumbai, Chandigarh.
ShippingContactAddressIdShipping AddressLookup → ContactAddress
ShippingCountryShipping CountryPickListValues: India.
ShippingPostalCodeShipping Postal CodeText
ShippingRegionShipping RegionText
ShippingStateShipping StatePickListValues: Haryana, Maharashtra, Punjab, New Delhi, Delhi.
ShippingStreetShipping StreetText
StatusStatusPickListThe deal's stage. Shipped values: Prospecting (the default), Appointment/Quote and Closed Won; a tenant may add more. Shipped business rules set Appointment/Quote when a quote, product demo or appointment exists and Closed Won when a sales order, service order or partner application is linked. A partner application can only be raised at Closed Won. Values: Prospecting, Appointment/Quote, Closed Won.
Tax1Tax1Currency
Tax1NameTaxName1Text
Tax1RateTaxRate1Currency
Tax1TypeTaxType1Text
TaxGroupIdTax GroupLookup → TaxGroup
TaxIdTaxLookup → Tax
TaxSupplyTypeTax Supply TypePickListWorked out on every save from the customer's address and the branch. Values: Within State.
TCSEligibleAmountTCS Eligible AmountCurrency
TotalAmountTotal AmountCalculated (calculated)Calculated: total line amount plus total tax.
TotalDiscountAmountTotal Discount AmountCalculated (calculated)
TotalLineBaseAmountTotal Line Base AmountCalculated (calculated)Calculated: quantity times unit price over the lines, before discounts, excluding discounted-item lines.
TotalLineGrossAmountTotal Line Gross AmountCalculated (calculated)
TotalLineTaxAmountTotal Line Tax AmountCalculated (calculated)
TotalQuantityTotal QuantityCalculated (calculated)
TotalTaxAmountTotal Tax AmountCalculated (calculated)
TotalTaxPostingAmountTotal Tax Posting AmountCalculated (calculated)
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes
UsageReadingUsage ReadingDecimalThe asset's reading at intake. It cannot be lower than the asset's last recorded reading and must sit within the usage band of the service contract on the opportunity.
UsageReadingHoursUsage Reading HoursDecimalThe asset's hours reading at intake, with the same checks as Usage Reading.

Actions

ActionLabelTypeWhat it does
ApplyPackageConfigurationApply Package ConfigurationServerAction (ApplyPackageConfiguration)Writes a package line's component selection: requires LineId and a components array of {ItemComponentId, Quantity, IsSelected}; the service applies the selection to the package's component lines under that opportunity line.
BulkDeleteDeleteDeleteDelete
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeletedocDeleteDeleteDelete
DeleteInListDeleteDeleteDelete
DeleteListDeleteDeleteDelete
EditEditEditEdit
EditEntityEditEditEdit
EditInLineEditEditInlineEdit
EditRowEditEditInlineEdit
GetConfigurableItemsGet Configurable ItemsServerAction (GetConfigurableItems)Read-only package-configurator query: returns the opportunity's lines that are configurable packages (ItemComponentService.GetConfigurableItemsForOpportunityAsync). No state change.
GetPackageConfigurationGet Package ConfigurationServerAction (GetPackageConfiguration)Read-only: returns the component configuration of one package line - requires a LineId argument; component pricing is resolved for the opportunity's partner account. No state change.
NewNewNewNew
PerformGenerateOrderOrderServerAction (PerformGenerateOrder)Creates a sales Order from the opportunity (skipped when OrderId is already set) and stamps OrderId + IsSaleOrderGenerated. Order lines are not copied here - the order pipeline creates them from the opportunity's lines via the new order's OpportunityId during the order save.
PerformGenerateQuoteQuoteServerAction (PerformGenerateQuote)Creates a Quote from the opportunity: copies account/partner/branch/asset/service fields onto a new Quote (Quote.OpportunityId links back) and copies every OpportunityLine into a QuoteLine. Sets IsQuoteGenerated and refuses to run when it is already true.
PerformGenerateServiceOrderService OrderServerAction (PerformGenerateServiceOrder)Creates a ServiceOrder from the opportunity (ServiceOrderService.CreateServiceOrderFromOpportunity), carrying the service-intake fields; the repair-order flow's generated flag is tracked on the opportunity (IsRepairOrderGenerated).
ProductConfiguratorProduct ConfiguratorServerAction (ProductConfigurator)ProductConfigurator
ProductDemoBook AppointmentServerAction (ProductDemo)ProductDemo

Validations

ValidationApplies toError messageNotes
Usage Reading blankErrorUsage Reading Cannot be blankUsage Reading Cannot be blank
Usage Reading Validation RuleUsageReading, ErrorUsage Reading Cannot be NegativeUsage Reading Cannot be Negative

Lookup filters

FilterLookup fieldNotes
ASC for Asset filterAssetId (inactive)
Asset Service Contract FilterAssetServiceContractIdAsset
Branch for PABranchIdBranch
Branch For Partner AccountBranchId
Customer Account FilterAccountId
Customer Account FilterAccountIdSales Opp
Executive FilterServiceAdvisorId
PA FilterPartnerAccountIdPA
Partner Account FilterPartnerAccountId