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

Opportunity Line — entity reference

One item or service on an opportunity: what is offered, how much, at what price, discount and tax, and how much of that quantity has already gone onto sales orders and service orders. Lines are added from the opportunity's Lines tab (Quick Add), or created automatically from a converted lead's interested item, a campaign run, open campaign maintenance on the asset, the opportunity's service contract, accepted service recommendations and package components. On a new line the item must be active with a valid SKU where needed; the line is priced from the sale price list unless a price was typed, given a tax group, discounts and taxes, and numbered OPL-DDMMYYYY-nnnnnn. The item cannot change once the line is saved, and Quantity must be more than zero. Order and Service Order on the opportunity copy each line's Pending Quantity; Quote copies every line in full and does not count as a release. Description is not copied onto quotes or orders. A line can be deleted even after it has been released.

Fields

FieldLabelTypeRequiredWhat it does
AlternateItemIdAlternate ItemLookup → ItemAlternateThe alternate item that replaced the requested item on this line. Original Item keeps the item first requested.
AmountAmountCalculated (calculated)Line value after discount and before tax: Base Amount less Net Discount and less the line's share of discounted-item lines. With Apply Post Tax Discount it is the base, and the discount comes off Gross Amount instead. On a Discounted Item line it is 0, or the negated value when the item's Discount Tax Treatment is After Tax. Calculated.
ApplyPostTaxDiscountApply Post Tax DiscountBooleanYesWhen ticked, discount percentages are worked out on base plus tax and taken off after tax, so tax is charged on the full base. Default off. Not on the shipped forms.
AssetMaintenanceIdAsset MaintenanceLookup → AssetMaintenanceThe open campaign maintenance item on the asset that this line was created from. Such lines are not added to the same opportunity twice.
AssetServiceContractIdAsset Service ContractLookup → AssetServiceContractThe service contract on the customer's asset that covers this line.
AssetServiceContractLineIdAsset Service Contract LineLookup → AssetServiceContractLineThe entitlement line of the asset's service contract that this line counts against. Set on lines created from the opportunity's service contract.
BaseAmountBaseAmountCalculated (calculated)Quantity times the unit price, using the override Unit Price when it is above zero and the list Unit Price otherwise. Value before any discount. Calculated; not on the shipped forms.
ContractDiscountAmountContract Discount AmountCurrencyA fixed contract discount on the line. When above zero it is used instead of the contract discount percentage. Copied onto quotes and orders.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DiscountAmountDiscount AmountCurrencyA fixed discount on the line. When above zero it wins over the discount percentage, which is cleared on save. Copied onto quotes and orders.
DiscountAmount2Cash Discount AmountCurrencyCash Discount Amount: a second fixed discount. When above zero the matching percentage is cleared on save. Not on the shipped forms.
DiscountGroupRuleIdDiscount Group RuleLookup → DiscountGroupRuleThe discount-group rule that gave the line its discount, set when the line is created.
DurationInHoursDuration In HoursDecimalEstimated labour time for the line. Default 0. Becomes the standard hours on a service order line; it does not affect the price.
ExternalIdExternalTextIdentifier of the line in an external system, for lines created by integration.
GrossAmountGross AmountCalculated (calculated)Amount plus Tax Amount; with Apply Post Tax Discount the net discount is taken off after tax. Calculated; not on the shipped forms.
IdIdGuidYes
IsCancelledCancelledBooleanYesNot recorded on opportunity lines.
IsConfirmedConfirmedBooleanYesNot recorded on opportunity lines.
IsPackageComponentPackage ComponentBooleanYesNot recorded on opportunity lines. A component line is one whose Package Opportunity Line is set.
IsPackageServicePackage ServiceBooleanYesNot recorded on opportunity lines. A package line is one that other lines point to through Package Opportunity Line.
IsPriceBundledPrice BundledBooleanYesMarks a package component whose price is included in the package price. Such a line is never repriced. Copied onto quotes and sales orders.
IsCampaignMandatoryCampaign MandatoryBooleanYesCampaign Mandatory: set on lines a campaign makes compulsory. The item, quantity and service contract of such a line cannot change, and the line cannot be deleted.
ItemAliasIdItem AliasLookup → ItemAliasThe item alias (for example a customer part number) by which the item was picked.
ItemComponentIdItem ComponentLookup → ItemComponentThe component definition of the package item that this line was created from. Copied onto quotes and sales orders.
ItemIdItemLookup → ItemYesThe product or service offered. Must be active. It cannot be changed after the line is saved: delete the line and add a new one instead.
ItemLotTypeIdItem Lot TypeLookup → ItemLotTypeThe lot or batch category for the item. The picker offers only the line item's lot types. Copied onto quotes and sales orders.
ItemNameItem NameTextNot recorded on opportunity lines; the item's name is read from the item.
ItemServiceContract2Service Contract Split 2Lookup → ItemServiceContractService Contract Split 2: a second service contract sharing the cost of the line.
ItemServiceContractIdService ContractLookup → ItemServiceContractThe service contract covering the line. It must be active on the opportunity's asset, cover the item, have quantity left and not be a used single-use contract. It decides Posting Type.
ItemServiceContractId3Service Contract Split 3Lookup → ItemServiceContractService Contract Split 3: a third service contract sharing the cost of the line.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYesThe line number, assigned on save from the Opportunity Line Name Setting: series OPL, the date as DDMMYYYY and a six-digit counter.
NetDiscountNet DiscountCalculated (calculated)Total discount on the line: the regular, cash and contract discounts, each as a fixed amount when one is above zero or else as a percentage. Zero on a Discounted Item line. Calculated.
OpportunityDiscountOpportunity DiscountCalculatedThe opportunity header's Discount percentage. It is copied onto the line's discount when the line is added; later header changes do not change the discount on saved lines.
OpportunityIdOpportunityLookup → OpportunityThe opportunity the line belongs to. Required, and cannot be changed.
OriginalItemIdOriginal ItemLookup → ItemThe item first requested on this line, kept when an alternate replaced it.
OwnerIdOwnerLookup → UserAccountYes
PackageClassificationPackage ClassificationPickListThe component's role within its package: Packaged Item or Custom BOM Item. Descriptive only. Values: Packaged Item, Custom BOM Item.
PackageOpportunityLineIdPackage Opportunity LineLookup → OpportunityLineOn a component line, the package line it belongs to. Changing the package line's quantity rescales its components, and deleting the package line deletes them.
PostingTypePosting TypePickListHow the line's cost is to be borne. Set by xMatix from the posting treatment of the line's service contract when it covers the item; otherwise a blank value becomes Generate Invoices. Copied onto quotes and service orders.
PriceAsOnDatePrice As On DateDateThe date the line is priced on. When empty, the opportunity's Price As On Date, then its Document Date, then today, is used. Changing it reprices the line.
PriceListIdPrice ListLookup → PriceListThe price list the line's price came from. The line's own list is used first, then the opportunity's, then the default. Changing it reprices the line.
PriceListRuleIdPrice List RuleLookup → PriceListRuleThe price-list rule behind the line's price.
QuantityQuantityNumberHow much is offered. Must be more than zero. On a package line, changing it rescales the components. Order and Service Order release Quantity less what has already been released.
RecordTypeIdRecord TypeGuid, hiddenSales or Service. Generated lines take the record type whose name matches the opportunity's; it decides which line record page opens.
SchemeBenefitIdScheme BenefitLookup → SchemeBenefitNot recorded on opportunity lines.
CampaignIdCampaignLookup → CampaignThe campaign that added the line.
CampaignItemIdCampaign ItemLookup → CampaignItemThe campaign item the line was created for.
ServiceContractItemIdService Contract ItemLookup → ItemThe contract product the line relates to, filled for lines created from the asset's service contract.
ServiceContractWeightageService Contract WeightageCalculated (calculated)The share of the line borne by the first service contract when the line is split across contracts. Calculated.
ServiceRecommendationIdService RecommendationLookup → ServiceRecommendationThe service recommendation this line was created from when it was accepted. Rejecting the recommendation removes the line.
ServiceRequestDiscountService Request DiscountCalculated (calculated)Not recorded on opportunity lines.
SKUIdSKULookup → SKUThe item variant. The picker offers only the line item's SKUs. Required when the item needs a SKU.
Tax1Tax1Currency
Tax1NameTaxName1Text
Tax1RateTaxRate1Currency
Tax1TypeTaxType1Text
Tax2Tax2Currency
Tax2NameTaxName2Text
Tax2RateTaxRate2Currency
Tax2TypeTaxType2Text
Tax3Tax3Currency
Tax3NameTaxName3Text
Tax3RateTaxRate3Currency
Tax3TypeTaxType3Text
Tax4Tax4Currency
Tax4NameTaxName4Text
Tax4RateTaxRate4Currency
Tax4TypeTaxType4Text
Tax5Tax5Currency
Tax5NameTaxName5Text
Tax5RateTaxRate5Currency
Tax5TypeTaxType5MultiLineText
Tax6Tax6Currency
Tax6NameTaxName6Text
Tax6RateTaxRate6Currency
Tax6TypeTaxType6Text
TaxAmountTax AmountCurrencyTax on the line, worked out from the tax group on the value after discount. Default 0. Recalculated when the tax group, item, SKU, quantity or amount changes.
TaxGroupIdTax GroupLookup → TaxGroupThe tax group that decides the line's taxes. Picked from the tax rules when the line is created; changing it recalculates the tax.
UIPropsUI PropsText
UnitPriceUnit PriceNumberThe list price per unit, filled from the sale price list when the line is created. A price typed on a new line is kept. On the record page this list price is not shown; the Unit Price there is the override.
UnitPrice2Unit PriceCurrencyThe override unit price, labelled Unit Price on the line's record page. When above zero the line's value is worked out from it instead of the list price. Copied onto sales and service orders.
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteListRowDeleteDeleteDeleteListRow
EditEditEditEdit
Edit1EditEditEditHeader
Edit2EditEditInlineEdit
NewNewNewInlineNew Opportunity Line

Validations

ValidationApplies toError messageNotes
Quantity Rule ValidationQuantity, ErrorQuantity should not be less than 0Quantity should not be less than 0
Unit Price Rule ValidationUnitPrice, ErrorUnit Price can not be less than 0Unit Price can not be less than 0