A qualified deal or customer service request, positioned between Lead and the transactional documents (Status: Prospecting, Qualification, Needs Analysis, Proposal/Quote, Negotiation, Closed Won, Closed Lost). Items/services under negotiation are child OpportunityLine rows. Server actions generate downstream documents and stamp one-way flags: PerformGenerateQuote copies the lines into a new Quote (isQuoteGenerated), PerformGenerateOrder creates a sales Order (orderId + isSaleOrderGenerated; order lines are copied by the order pipeline from the opportunity), PerformGenerateServiceOrder creates a ServiceOrder. Created from a Lead (leadId) or a Case (caseId) by their convert actions. Also carries service-intake fields for automotive/field-service flows (serviceAdvisorId, pick-up/drop-off addresses, usageReading) and document-level tax/total rollups.
Fields
| Field | Label | Type | Required | What it does |
AccountId | Account | Lookup → Account | | |
AccountName | Account Name | Text | | |
AdjustedAdvanceAmount | Adjusted Advance Amount | Currency | | |
AdvanceAmount | Advance Amount | Currency | | |
Amount | Amount | Calculated (calculated) | | |
AppointmentDate | Appointment Date | DateAndTime | | |
AppointmentTimeSlotId | Appointment Time Slot | Lookup → BranchTimeSlot | | |
AssetId | Asset | Lookup → Asset | | |
AssetServiceContractId | Asset Service Contract | Lookup → AssetServiceContract | | |
BillingAddress | Billing Address | Text | | |
BillingAddressId | Billing Address | Lookup → ContactAddress | | |
BillingCity | Billing City | PickList | | Values: Mumbai, Pune, Chandigarh. |
BillingCityPlaceId | Billing City Place | Lookup → Place | | Values: Pune, Mumbai, Chandigarh. |
BillingContactAddressId | Billing Address | Lookup → ContactAddress | | |
BillingCountry | Billing Country | PickList | | Values: India. |
BillingPostalCode | Billing Postal Code | Text | | |
BillingRegion | Billing Region | Text | | |
BillingState | Billing State | PickList | | Values: Haryana, Maharashtra, New Delhi, Punjab. |
BillingStreet | Billing Street | Text | | |
BranchId | Branch | Lookup → Branch | | |
CancellationReason | Cancellation Reason | PickList | | |
CaseId | Case | Lookup → Case | | |
ContactId | Contact | Lookup → Contact | | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
CustomerVoice | Customer Voice | Text | | |
DealerOnboardingId | Dealer Onboarding | Lookup → DealerOnboarding | | |
Discount | Discount | Number | | |
DiscountGroupId | Discount Group | Lookup → DiscountGroup | | |
DocumentDate | Document Date | Date | | |
DropOffAddressId | Drop Off Address | Lookup → ContactAddress | | |
ExternalId | External | Text | | |
FailureDate | Failure Date | Date | | |
Id | Id | Guid | Yes | |
IsAppointmentGenerated | Is Appointment Generated | Boolean | | |
IsCancelled | Cancelled | Boolean | Yes | |
IsConfirmed | Confirmed | Boolean | Yes | |
IsDropOffRequired | Drop Off Required | Boolean | Yes | |
IsFieldService | Field Service | Boolean | Yes | |
IsKPICalculated | KPI Calculated | Boolean | Yes | |
IsLinePopulated | Line Populated | Boolean | Yes | |
IsPickUpRequired | Pick Up Required | Boolean | Yes | |
IsQuoteGenerated | Quote Generated | Boolean | Yes | One-way flag stamped by the PerformGenerateQuote action after it copies the opportunity lines into a new Quote; the action refuses to run again once set. |
IsRepairOrderGenerated | Repair Order Generated | Boolean | Yes | |
IsSaleOrderGenerated | Sale Order Generated | Boolean | Yes | Stamped by PerformGenerateOrder together with OrderId when the sales Order is created from this opportunity; generation is skipped when OrderId is already set. |
ItemServiceContractId | Service Contract | Lookup → ItemServiceContract | | |
JobType | Job Type | PickList | | |
LeadId | Lead | Lookup → Lead | | The originating Lead when this opportunity was produced by a lead-conversion action; the lead's own OpportunityId points back at this record. |
LinesSubtotal | Total Line Amount | Calculated (calculated) | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Document Number | Text | Yes | |
OpenAmount | Open Amount | Calculated (calculated) | | |
OpportunityTimeSlotBookingId | Opportunity Time Slot Booking | Lookup → BranchTimeSlotBooking | | |
OrderId | Order | Lookup → Order | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PackageServiceId | Package Service | Lookup → Item | | |
PartnerAccountId | Partner Account | Lookup → Account | | |
PerformCancel | Perform Cancel | Boolean | Yes | |
PerformConfirm | Perform Confirm | Boolean | Yes | |
PerformGenerateQuote | Perform Generate Quote | Boolean | | |
PerformGenerateRepairOrder | Perform Generate Repair Order | Boolean | Yes | |
PerformGenerateSaleOrder | Perform Generate Sale Order | Boolean | Yes | |
PerformKPICalculation | Perform KPI Calculation | Boolean | Yes | |
PerformPopulateLines | Perform Populate Lines | Boolean | Yes | |
PickUpAddressId | Pick Up Address | Lookup → ContactAddress | | |
PickUpAssignedToId | Executive | Lookup → Resource | | |
PopulateAssetMaintenance | Populate Asset Maintenance | Boolean | | |
PriceAsOnDate | Price As On Date | Date | | |
PriceListId | Price List | Lookup → PriceList | | |
QuoteForServiceContractId | Quote For Service Contract | Lookup → Quote | | |
RecordTypeId | Record Type | Guid, hidden | | |
Remarks | Remarks | Text | | |
RepairOrderId | Repair Order | Lookup | | |
RoundOff | Round Off | Currency | | |
SaleOrderId | Order | Lookup → Order | | |
ServiceAddress | Service Address | Text | | |
ServiceAdvisorId | Executive | Lookup → Resource | | |
ServiceCampaignBatchInstanceId | Service Campaign Batch Instance | Text | | |
ServiceCampaignId | Service Campaign | Lookup → ServiceCampaign | | |
ServiceCampaignMemberId | Service Campaign Member | Lookup → ServiceCampaignMember | | |
ServiceContractItemId | Service Contract Item | Lookup → Item | | |
ServiceOrderId | Service Order | Lookup → ServiceOrder | | |
ServiceType | Service Type | PickList | | Values: Paid Repairs. |
ServiceVanId | Service Van | Lookup | | |
ShippingAddress | Shipping Address | Text | | |
ShippingAddressId | Shipping Address | Lookup → ContactAddress | | |
ShippingCity | Shipping City | PickList | | Values: Pune, Mumbai, Chandigarh. |
ShippingCityPlaceId | Shipping City | Lookup → Place | | Values: Pune, Mumbai, Chandigarh. |
ShippingContactAddressId | Shipping Address | Lookup → ContactAddress | | |
ShippingCountry | Shipping Country | PickList | | Values: India. |
ShippingPostalCode | Shipping Postal Code | Text | | |
ShippingRegion | Shipping Region | Text | | |
ShippingState | Shipping State | PickList | | Values: Haryana, Maharashtra, Punjab, New Delhi, Delhi. |
ShippingStreet | Shipping Street | Text | | |
Status | Status | PickList | | Sales-stage picklist: Prospecting, Qualification, Needs Analysis, Proposal/Quote, Negotiation, Closed Won, Closed Lost. Values: Prospecting, Appointment/Quote, Closed Won. |
Tax1 | Tax1 | Currency | | |
Tax1Name | TaxName1 | Text | | |
Tax1Rate | TaxRate1 | Currency | | |
Tax1Type | TaxType1 | Text | | |
TaxGroupId | Tax Group | Lookup → TaxGroup | | |
TaxId | Tax | Lookup → Tax | | |
TaxSupplyType | Tax Supply Type | PickList | | Values: Within State. |
TCSEligibleAmount | TCS Eligible Amount | Currency | | |
TotalAmount | Total Amount | Calculated (calculated) | | |
TotalDiscountAmount | Total Discount Amount | Calculated (calculated) | | |
TotalLineBaseAmount | Total Line Base Amount | Calculated (calculated) | | |
TotalLineGrossAmount | Total Line Gross Amount | Calculated (calculated) | | |
TotalLineTaxAmount | Total Line Tax Amount | Calculated (calculated) | | |
TotalQuantity | Total Quantity | Calculated (calculated) | | |
TotalTaxAmount | Total Tax Amount | Calculated (calculated) | | |
TotalTaxPostingAmount | Total Tax Posting Amount | Calculated (calculated) | | |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
UsageReading | Usage Reading | Decimal | | |
UsageReadingHours | Usage Reading Hours | Decimal | | |
Actions
| Action | Label | Type | What it does |
ApplyPackageConfiguration | Apply Package Configuration | ServerAction (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. |
BulkDelete | Delete | Delete | Delete |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
Deletedoc | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete |
DeleteList | Delete | Delete | Delete |
Edit | Edit | Edit | Edit |
EditEntity | Edit | Edit | Edit |
EditInLine | Edit | EditInline | Edit |
EditRow | Edit | EditInline | Edit |
GetConfigurableItems | Get Configurable Items | ServerAction (GetConfigurableItems) | Read-only package-configurator query: returns the opportunity's lines that are configurable packages (ItemComponentService.GetConfigurableItemsForOpportunityAsync). No state change. |
GetPackageConfiguration | Get Package Configuration | ServerAction (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. |
New | New | New | New |
PerformGenerateOrder | Order | ServerAction (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. |
PerformGenerateQuote | Quote | ServerAction (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. |
PerformGenerateServiceOrder | Service Order | ServerAction (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). |
ProductConfigurator | Product Configurator | ServerAction (ProductConfigurator) | ProductConfigurator |
ProductDemo | Book Appointment | ServerAction (ProductDemo) | ProductDemo |
Validations
| Validation | Applies to | Error message | Notes |
| Usage Reading blank | Error | Usage Reading Cannot be blank | Usage Reading Cannot be blank |
| Usage Reading Validation Rule | UsageReading, Error | Usage Reading Cannot be Negative | Usage Reading Cannot be Negative |
Lookup filters
| Filter | Lookup field | Notes |
| ASC for Asset filter | AssetId (inactive) | |
| Asset Service Contract Filter | AssetServiceContractId | Asset |
| Branch for PA | BranchId | Branch |
| Branch For Partner Account | BranchId | |
| Customer Account Filter | AccountId | |
| Customer Account Filter | AccountId | Sales Opp |
| Executive Filter | ServiceAdvisorId | |
| PA Filter | PartnerAccountId | PA |
| Partner Account Filter | PartnerAccountId | |