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

Item — entity reference

The product/service master referenced by the item line of every transactional document (order, invoice, quote, opportunity, purchase order, requisition, goods receipt, delivery, transfer, adjustment, cycle count, service order). It stores no selling price, cost or tax rate: prices are dated PriceListRule rows, discounts are DiscountGroupRule rows, tax mapping is chosen by TaxGroupRule, and markupRate is the only price-like column on the item itself. Behaviour is driven by flags rather than by a type switch - trackInventory (stock is kept), trackLots (stock is held per ItemLot), trackAsset (units become serialized Assets), isPackage (ItemComponent rows explode into child lines), isSKURequired (a SKU must be chosen on every line); several other item flags such as saleable, order allowed, discontinued, registration required and the code/name editable pair are stored but read by no code path. ItemService.ValidateItemAsync is the shared gate every line handler calls: it refuses an inactive item, an item marked onlySoldInPackage outside a package line, a missing SKU when one is required, and a SKU that does not belong to the item.

Fields

FieldLabelTypeRequiredWhat it does
ABCCategoryABC CategoryPickListDescriptive value-class label on the item itself. Planning does not read it: cycle-count filtering and auto-purchase-order category exclusions both use the ABC category stored on ItemInventoryAttribute instead. Values: A Category, C Category.
AllowServiceAllow ServiceBoolean
BillingFrequencyBilling FrequencyPickListHow often the item is billed, defaulted onto a document line when the line leaves it blank. All three seeded picklist values are inactive, so the field renders with no selectable options out of the box.
BillingTypeBilling TypePickListDefaulted onto document lines that leave it blank, alongside billing frequency, charge type and invoice group; it has no seeded picklist, so the values in use are whatever the tenant types.
ChargeTypeChargeTypePickListNature of the charge, defaulted onto a document line when blank. Its single seeded picklist value is inactive, so nothing is selectable until a tenant adds values.
ClaimToAccountIdClaim To AccountLookup
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DescriptionDescriptionText
ExternalIdExternalExternalId
FailedItemIdFailed ItemLookup
FailedItemTreatmentFailed Item TreatmentPickListValues: Scrap, Send to Supplier.
FSNCategoryFSN CategoryPickListDescriptive fast/slow/non-moving label on the item itself, read by no code path; the movement class that actually drives cycle counts and auto-purchase-order exclusions lives on ItemInventoryAttribute. Values: F category, S category, N category.
GTINGTINText
HsnSacCodeHSN/SAC CodeTextIndia GST goods (HSN) or services (SAC) classification code, up to eight characters. It is stamped onto document lines that have none - and re-stamped when the line's item changes - so it flows into the captured tax transactions and the HSN summaries of the GST returns.
IdIdGuidYes
InventoryValuationMethodInventory ValuationPickListValues: FIFO, LIFO, Actual Cost, List Cost, Weighted Average.
InvoiceGroupInvoice GroupPickListCopied down onto a document line from the item when the line does not already carry one, so lines can be grouped into separate invoices by the nature of the charge; it is a defaulting value, not a rule the engine evaluates. Values: Insurance, Spare, Vehicle, Subscription.
IsActiveActiveBooleanGates whether the item may be used at all: the shared item validation every document-line handler calls rejects any line whose item is explicitly inactive, and the item-group member handler refuses to add an inactive item to a group.
IsCodeEditableCode EditableBoolean
IsDiscontinuedDiscontinuedBoolean
IsNameEditableName EditableBoolean
IsOrderAllowedOrder AllowedBoolean
IsPackagePackageBooleanMarks the item as a package whose contents are its ItemComponent rows; only items with this set are exploded into child lines when a document line is created, and only they are offered by the package-configuration actions.
IsRegistrationRequiredRegistration RequiredBoolean
IsSaleableSaleableBoolean
IsSKURequiredSKU RequiredBooleanWhen set, a document line for this item must also carry a SKU, and the SKU chosen must be one of the item's own SKUs - both checks are enforced by the shared item validation and again when adding the item to an item group.
ItemCodeCodeText, uniqueYes
ItemFamilyItem FamilyPickListFree-text grouping used as a reporting dimension - the financial statement service groups product profitability by it, labelling items without one as '(no family)'. It is not a lookup and takes no part in pricing or scoping. Values: Family A, Family B, Family C, Family D, Family E.
ItemMaintenanceScheduleIdItem Maintenance ScheduleLookup → ItemMaintenanceSchedule
ItemSegmentItem SegmentPickListValues: Segment A, Segment B, Segment C, Segment D, Segment E.
ItemSubTypeItem Sub TypePickListValues: Accessories, Bikes, Clothing, Components.
ItemTypeItem TypePickListYesValues: Product, Part, Charge Item, Work Item, Service Contract.
MakeMakePickListValues: Honda, Honda, TVS, TVS, Bajaj, Bajaj, Yamaha, Yamaha, Suzuki, Suzuki, Royal Enfield, Royal Enfield.
ManufacturerOEMManufacturer (OEM)Text
MarkupRateMarkupRateDecimalThe only price-like value stored on the item itself; actual selling prices come from dated PriceListRule rows. Its database column name contains a space ('Markup Rate').
MaximumLotQuantityMaximum Lot QuantityNumberCaps how much may be received into a single lot for this item during goods receipt; a value on the receipt line's SKU takes precedence over the item's value.
ModelModelPickListValues: Activa 110, Activa 125, Activa 125, Shine 125, Shine 125, Dio 125, Dio 125, Jupiter 125, Jupiter 125, Ntorq 125, Ntorq 125, Raider 125, Raider 125, Apache RTR 160 4V, Apache RTR 160 4V, Pulsar NS200, Pulsar NS200, Pulsar N250, Pulsar N250, Chetak 3501, Chetak 3501, FZ-S FI V4, FZ-S FI V4, R15 V4, R15 V4, Access 125, Access 125, Burgman Street EX, Burgman Street EX, Classic 350, Classic 350, Meteor 350, Meteor 350.
ModifiedByIdModified ByLookup → UserAccountYes
NameNameTextYes
OnlySoldInPackageOnly Sold In PackageBooleanMarks a component that may only appear as part of a package: the line must be a package child (it must carry a package invoice-line or package order-line parent). The check is opt-in per caller and is currently only requested for invoice lines, so other document types do not enforce it.
OwnerIdOwnerLookup → UserAccountYes
PercentageOfTotalPercentage Of TotalPercent
PercentageOfTotalCategoryPercentage Of Total CategoryPickList
PricingMethodPricing MethodPickListCopied onto a subscription created from an invoice line for this item; nothing on the item itself branches on it, so it is descriptive metadata carried forward rather than a pricing switch. Values: Markup On Cost, Bundled Price, Percent Of Total.
ProductMaintenanceScheduleIdProduct Maintenance ScheduleLookup
QuantityUnitOfMeasurePrimary Unit Of MeasurePickListNames the item's base unit, in which its stock balances and derived line quantities are expressed. It is free text on the item (only 'Each' is seeded); alternate units and the ratios back to this one are ItemUnitOfMeasure rows. Values: Each.
RecordTypeIdRecord TypeGuid, hidden
RequireInspectionOnDeliveryInspection On DeliveryBooleanIntended as the outbound counterpart to inspection on receipt, but no code path currently reads it, so setting it has no effect on delivery processing.
RequireInspectionOnReceiptInspection On ReceiptBooleanWhen set, received quantity is held as pending inspection instead of being freely available, and the goods receipt cannot be completed while any line still has an uninspected quantity.
RequireServiceOrderOnReceiptRepair Order On ReceiptBooleanWhen set, an inspection of this item raises a repair/service order, and the inspection line cannot be marked complete until that service order is closed.
RFIDRFText
SequenceNumberSequence NumberNumber
ServiceDurationInMinutesService Duration(Minutes)DecimalStandard labour time for a service item; quote-line pricing converts it to the line's duration in hours by dividing by sixty. A value of zero leaves the line duration at zero.
SubscriptionDurationInMonthsSubscription Duration(Months)NumberTerm length used when a subscription is created from an invoice line for this item: the subscription's end date is set to the invoice document date plus this many months, minus one day.
TrackAssetTrack AssetBooleanWhen set, units of this item become individually serialized Asset records after receipt or sale. It cannot stand alone: the item handler rejects a new item with this set unless lot tracking is also set.
TrackInventoryTrack InventoryBooleanWhen set, the item participates in stock keeping (InventoryStock balances and InventoryLedger movements); services, charge items and other non-stock items leave it clear so no stock is expected or consumed for them.
TrackLotsTrack LotsBooleanWhen set, the item's stock is held per ItemLot (batch) rather than as a single pooled quantity, and lot-type-scoped pricing, tax, discount and group rules become applicable through their itemLotTypeId columns. It is also a prerequisite for asset tracking.
UIPropsUI PropsText
UOMDecimalPrecisionPrimary UOM Decimal PrecisionNumberDecimal places the item's base-unit quantity is rounded to (away from zero) whenever a line quantity is set or derived from unit-of-measure legs; when left null the derived quantity is stored unrounded and entered quantities fall back to six places.
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Runs the platform's generic record clone: every persisted property including custom fields is copied onto a new item, and the metadata cascade children are deep-copied onto it. Audit stamps, job state and the identifier are not copied, and the name is regenerated by document numbering where an active numbering setting exists, so the new record saves through the full lifecycle rather than being an exact duplicate.
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditEdit
EditInLineEditEditInlineDelete in page.
EditListHeaderEditEditInlineEditListHeader
EditListRowEditEditEditListRow
NewNewNewNew
productConfiguratorProduct ConfiguratorServerActionConfigure a package from the document that consumes it rather than from the item master.
ShowStockShow StockServerAction (ShowStock)Despite its name this does not read stock: the handler overwrites the record's transient UI properties with a fixed set of sample insight tiles (engagement, revenue, adoption and a next-step card with placeholder figures) and returns a count of them. It is a demonstration stub, so nothing it displays reflects the item's real inventory.