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

Cycle Count Line — entity reference

One stock position or lot to count within a cycle count, generated from stock when the count's scope changes. The Lines tab offers no New, so lines come only from generation. On Hand Quantity is the book figure captured when the line is created, Recorded Quantity is what the counter found (including damaged and expired units), and Discrepency Quantity is Recorded Quantity minus On Hand Quantity. Recorded Quantity defaults to 0, so a line never recorded releases as a write-off of its whole book figure. Release For Adjustment turns each non-zero discrepancy into an untyped adjustment line and recorded damaged and expired quantities into Damaged and Expired lines, each linked back to the count line. Generated lines are checked like any item line: an inactive item, or an item that requires a SKU but has none on the line, stops the save. A line with a positive discrepancy cannot be deleted, and a line for an item already on another started-but-unfinished count of the same partner account and branch (and storage location, when set) is refused.

Fields

FieldLabelTypeRequiredWhat it does
ConversionRatioConversion RatioNumberNot shown on the seeded forms and not used by line generation or release.
ConversionRatio1Conversion Ratio 1NumberNot shown on the seeded forms and not used by line generation or release.
CountedByResourceIdCounted ByLookup → ResourceNot shown on the seeded forms and never filled by the system.
CountedDateTimeCounted Date TimeDateAndTimeNot shown on the seeded forms and never filled by the system.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
CycleCountIdCycle CountLookup → CycleCountThe count the line belongs to. Set when the line is generated and cannot be changed afterwards.
DiscrepencyCostValueDiscrepency Cost ValueCalculated (calculated)Calculated as the discrepancy multiplied by Unit Cost; zero while Unit Cost is empty.
DiscrepencyQuantityDiscrepency QuantityCalculated (calculated)Calculated as Recorded Quantity minus On Hand Quantity. A non-zero value becomes an untyped adjustment line with that signed quantity; a positive value blocks deleting the line.
ExternalIdExternalText, uniqueThe line's identifier in an external system, for integrations. Must be unique.
IdIdGuidYes
InventoryStockIdStockLookup → InventoryStockThe stock position the line was generated from, set only for items without lots. When the count locks inventory, this stock position is locked.
IsApprovedIs ApprovedBooleanYesSet on every line of the count by Finish Counting.
ItemIdItemLookup → ItemThe item counted. Line generation takes only items with Track Inventory on; an inactive item in scope stops the save with "Item is Inactive."
ItemLotIdItem LotLookup → ItemLotThe lot the line was generated from, for lot-tracked items; locked when the count locks inventory.
ItemLotTypeIdItem Lot TypeLookup → ItemLotTypeThe lot type, copied from the lot on lines for lot-tracked items. Empty on lines generated from stock positions.
LineNumberLineNumberNumberNot shown on the seeded forms and not filled by line generation; the visible line number is the Line Number text field.
ModifiedByIdModified ByLookup → UserAccountYes
NameLine NumberTextYesThe line's number, generated on save from the Cycle Count Line Name Setting: by default the series CYCL, the date and a six-digit running number.
OnHandQuantityOn Hand QuantityNumberThe book figure the count is measured against, captured when the line is created: the available quantity when the count's Count Quantity Type is Quantity Available, the in-hand quantity otherwise. It does not move with later transactions. For an item without lots it is the total of the matching stock positions for the line's SKU and storage location, so a line whose stock has no storage location takes the item's total across every location at the branch.
OwnerIdOwnerLookup → UserAccountYes
RecordedDamagedQuantityRecorded Damaged QuantityNumberThe part of the recorded quantity found damaged. Each positive value becomes a Damaged line on the released adjustment.
RecordedExpiredQuantityRecorded Expired QuantityNumberThe part of the recorded quantity found expired. Each positive value becomes an Expired line on the released adjustment.
RecordedQuantityRecorded QuantityNumberEverything physically found for this line, including any damaged or expired units. Defaults to 0 and cannot be negative.
RecordTypeIdRecord TypeGuid, hidden
RemarksRemarksTextNot shown on the seeded forms.
SKUIdItem SKULookup → SKUThe item SKU, copied from the stock position or lot. Lines for items with no stock in scope have none, so an item marked SKU Required with no stock there stops the save with "SKU is required for this item." The lookup offers only SKUs of the line's item.
StorageLocationIdStorage LocationLookup → StorageLocationWhere the counted stock sits, copied from the stock position or lot.
UIPropsUI PropsText
UnitCostUnit CostCurrencyCopied to the adjustment line on release. Line generation does not fill it.
UOMUOMPickListNot shown on the seeded forms. Line generation does not fill it and Release For Adjustment does not copy it. Values: Box.
UOM1UOM1PickListNot shown on the seeded forms and not used by line generation or release.
UOMQuantityUOM QuantityNumberNot shown on the seeded forms and not used by line generation or release.
UOMQuantity1UOM Quantity 1NumberNot shown on the seeded forms and not used by line generation or release.
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete
EditEditEditEdit
EditInLineEditEditEdit
EditInLineEntityEditEditInlineEdit
NewNewNewNew
NewInLineNewNewInlineNew

Validations

ValidationApplies toError messageNotes
Quantity Recorded Rule ValidationRecordedQuantity, ErrorRecorded Quantity can't be negative.Recorded Quantity can't be negative.
Quantity Rule ValidationErrorExpected Quantity can't be negative.Expected Quantity can't be negative.
Unit Price ValidationUnitCost, Error, inactiveUnit Cost can't be negativeUnit Cost can't be negative

Lookup filters

FilterLookup fieldNotes
Sku For ItemSKUId