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

Item Component — entity reference

One line of a package/bill-of-materials definition: it attaches a component item (and optionally a component SKU) to a parent item, with a quantity, min/max bounds and selection rules. PackageHelper explodes these rows into child document lines when a line is created for a parent item flagged isPackage - on orders, invoices, quotes, opportunities, purchase orders and requisitions - stamping itemComponentId and the package parent-line id on each child. Only components whose featureType is exactly 'Product Configurator' are ever exploded or offered by the configurator, so components carrying the other feature types are configuration-only. Component rows also police their children afterwards: min/max quantity, mandatory-with-zero-quantity, non-editable quantity and deletion of a mandatory component are all rejected.

Fields

FieldLabelTypeRequiredWhat it does
ApplicableForApplicable ForPickListRestricts the component to sales, purchase or service documents - an empty value applies everywhere, and each explosion path filters on its own context. All three seeded picklist values are inactive, so nothing is selectable until a tenant activates them.
ComponentItemIdComponent ItemLookup → ItemThe item placed on the generated child line - the component being consumed. The item on the row's own item reference is the package parent, not the component.
ComponentSKUIdComponent SKULookup → SKU
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
ExternalIdExternalText
FeatureTypeFeature TypePickListActs as a hard filter rather than a label: only components whose value is exactly 'Product Configurator' are exploded into document lines or returned by the package-configuration action. Components typed as standard or optional package are stored but never auto-added. Values: Standard Package, Optional Package, Product Configurator.
IdIdGuidYes
IsBundledIs BundledBooleanCopied to the generated child line as its price-bundled flag, meaning the component's value is carried in the package price rather than charged separately on the child line.
IsMandatoryIs MandatoryBooleanForces the component into every explosion of the package regardless of selection, requires a quantity greater than zero on the child line, and blocks deletion of that child line.
IsQuantityEditableIs Quantity EditableBooleanWhen not set, any change to the generated child line's quantity is rejected, so the component ships at its configured quantity.
IsSelectedIs SelectedBooleanMarks an optional component as selected by default, which is what gets it included in an automatic explosion; mandatory components are included whether or not this is set.
ItemFeatureIdProduct PackagesLookup → ItemFeatureGroups the component under an option group of the parent item; the group's name travels with the component in the configuration payload but imposes no selection limits.
ItemIdItemLookup → Item
ItemLotTypeIdItem Lot TypeLookup → ItemLotType
MaxQuantityMax QuantityNumberUpper bound enforced on the generated child line's quantity, with the minimum-quantity column enforcing the lower bound the same way; on either field a value of zero or below is treated as no bound at all.
MinQuantityMin QuantityNumber
ModifiedByIdModified ByLookup → UserAccountYes
NameComponent NameText
OwnerIdOwnerLookup → UserAccountYes
PackageTypePackage TypePickListDecides how the component quantity scales: the exact value 'Multiple Of Package' multiplies the component quantity by the parent line's quantity and keeps it in step when the parent changes, while anything else uses the component quantity as-is. Values: Multiple Of Package, Independent Of Package.
PartnerAccountGroupIdPartner Account GroupLookup → AccountGroup
PartnerAccountIdPartner AccountLookup → Account
QuantityQuantityNumberThe component quantity per package, used as the default on the generated child line - multiplied by the parent line quantity when the package type multiplies, otherwise taken literally.
RecordTypeIdRecord TypeGuid, hidden
SKUIdItem SKULookup → SKUNarrows the component to one SKU of the PARENT item: when the document line names a SKU, only components matching it or carrying no SKU are exploded. The component's own SKU is a separate field.
SortOrderSort OrderNumber
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

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

Validations

ValidationApplies toError messageNotes
Quantity Rule ValidationQuantity, ErrorQuantity cannot be 0 or negative.Quantity Rule Validation

Lookup filters

FilterLookup fieldNotes
Component SKUComponentSKUId