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

Cycle Count — entity reference

A physical stock-count exercise for one branch and partner account, optionally narrowed by Item, ItemGroup, ABC/FSN class or StorageLocation. Lines are auto-generated on insert and regenerated when the filters change, until counting starts: one CycleCountLine per item lot, else per InventoryStock row, capped by MaximumItems (0 falls back to 2000). The count itself posts nothing - it is a data-entry exercise whose only outputs are recorded variances and, optionally, locked stock; stock and value move only through the separate Adjustment that Release For Adjustment creates and someone then posts.

Fields

FieldLabelTypeRequiredWhat it does
AdjustmentIdAdjustmentLookup → AdjustmentThe link between a count and the adjustment it produced is stored the other way round, on Adjustment.CycleCountId, and on the adjustment lines through CycleCountLineId - follow those reverse references instead.
AssignedToResourceIdAssigned ToLookup → Resource
BranchIdBranchLookup → BranchYes
CountQuantityTypeCount Quantity TypePickListYesValues: Quantity Available, Quantity In Hand, Actual Quantity.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DocumentDateDocument DateDate
DocumentNumberDocumentNumberNumberYes
DynamicMemberTypeDynamic Member TypePickListValues: Report Data.
ExternalIdExternalText
FilterABCFilter ABCPickListRestricts generated count lines to items whose ItemInventoryAttribute carries this ABC class; attribute rows scoped to the count's partner/branch or left unscoped both match. Values: A Category, B Category, C Category.
FilterFSNFilter FSNPickListRestricts line generation to items with this Fast/Slow/Non-moving class on their ItemInventoryAttribute, with the same null-scope wildcard matching as the ABC filter. Values: F category, S category, N category.
IdIdGuidYes
IsAdjustmentReleasedAdjustment ReleasedBooleanYesSet once PerformReleaseAdjustment has generated the Adjustment from the counted discrepancies; the action refuses to run twice.
IsCountingFinishedCounting FinishedBooleanYesSet by PerformFinishCounting, which also approves every count line and releases the inventory transaction lock. Finishing requires counting to have started and blocks a second finish.
IsCountingStartedCounting StartedBooleanYesSet by PerformStartCounting; from then on the item/filter fields are locked and the action refuses to run again. Starting also applies the transaction lock to counted stock and lots when inventory locking is on.
ItemGroupIdItem GroupLookup → ItemGroup
ItemIdItemLookup → Item
LockInventoryLock InventoryBoolean
MaximumItemsMaximum ItemsNumberCaps how many items line generation pulls (2000 when left at zero). Editing it or any filter before counting starts deletes and regenerates the lines; once counting has started these fields are locked.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText
OwnerIdOwnerLookup → UserAccountYes
PartCostFromPart Cost From (Future Use)Currency
PartCostToPart Cost To (Future Use)Currency
PartnerAccountIdPartner AccountLookup → AccountYes
PartStockFromPart Stock From (Future Use)Number
PartStockToPart Stock To (Future Use)Number
PerformFinishCountingPerform Finish CountingBooleanYesA trigger flag rather than stored state: running the Finish Counting server action clears it back to false as part of executing. Read IsCountingFinished to know whether counting has been completed.
PerformReleaseAdjustmentPerform Release AdjustmentBooleanYesA trigger flag naming the release server action, but unlike the start and finish flags it is never cleared by the release path. Whether an adjustment was actually produced is recorded by IsAdjustmentReleased, which is set only when at least one adjustment line was created.
PerformStartCountingPerform Start CountingBooleanYesA trigger flag rather than stored state: running the Start Counting server action clears it back to false as part of executing, so a saved record always shows false. Read IsCountingStarted to know whether counting has begun.
RecordTypeIdRecord TypeGuid, hidden
ReportIdReport (Future Use)Text
ResourceIdExecutiveLookup → Resource
RuleSuccessCriteriaRule Success Criteria (Future Use)PickListValues: All Rules Are Met.
RuleSuccessCustomLogicRule Success Custom Logic (Future Use)Text
StatusStatusPickListValues: Draft, Counting in Progress, Finish Counting, Released for Adjustment.
StorageLocationIdStorage LocationLookup → StorageLocationScopes line generation to lots and stock buckets sitting in this location, so a count can target one zone or van rather than the whole branch.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete
DeleteInListsDeleteDeleteDelete
EditEditEditEdit
EditInLineEditEditEdit
EditInLinesEditEditInlineEdit
EditListHeaderEditEditInlineEditListHeader
NewNewNewNew
PerformFinishCountingFinish CountingServerAction (PerformFinishCounting)It is used for finish counting for the inventory.
PerformReleaseAdjustmentRelease For AdjustmentServerAction (PerformReleaseAdjustment)This is used to release adjustment for the particular cycle count.
PerformStartCountingStart CountingServerAction (PerformStartCounting)It is used to start counting of physical inventory.

Lookup filters

FilterLookup fieldNotes
Only Part AccPartnerAccountId
Partner accBranchIdPartnerAccountId = __target.PartnerAccountId