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

Cycle Count — entity reference

A physical stock count for one partner account and branch, scoped by item, item group, ABC or FSN class, storage location and a maximum number of items. Saving a new count does not generate lines; lines are built (one per item lot, otherwise one per stock position, or a single zero line for a matching item with no stock) whenever a scope field changes while counting has not started, and only when at least one of Item, Item Group, Filter ABC, Filter FSN or Storage Location is set. Start Counting freezes the scope and optionally locks the counted stock, Finish Counting approves the lines and lifts the lock, and Release For Adjustment creates a linked draft Adjustment from the differences. The count itself never moves stock; only the posted adjustment does.

Fields

FieldLabelTypeRequiredWhat it does
AdjustmentIdAdjustmentLookup → AdjustmentNever written. The link between a count and the adjustment it produced is stored on the adjustment (its cycle count) and on its lines (their cycle count line).
AssignedToResourceIdAssigned ToLookup → ResourceNot shown on the seeded forms; when set, it is validated against the resources linked to the count's partner account and branch.
BranchIdBranchLookup → BranchYesThe branch whose stock is counted. Required, filtered to the partner account's branches, and not editable after the first save.
CountQuantityTypeCount Quantity TypePickListYesThe book figure each generated line takes as its On Hand Quantity: Quantity Available uses the available quantity, Quantity In Hand the in-hand quantity, and Actual Quantity currently also takes the in-hand quantity. Defaults to Quantity Available. Changing it does not rebuild existing lines. Values: Quantity Available, Quantity In Hand, Actual Quantity.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DocumentDateDocument DateDate
DocumentNumberDocumentNumberNumberYes
DynamicMemberTypeDynamic Member TypePickListReserved and not stored. Values: Report Data.
ExternalIdExternalText
FilterABCFilter ABCPickListRestricts line generation to items whose item inventory attribute carries exactly this ABC class; attribute rows with no partner account or branch also match. Values: A Category, B Category, C Category.
FilterFSNFilter FSNPickListRestricts line generation to items whose item inventory attribute carries exactly this value (F category, S category or N category); attribute rows holding Fast-Moving, Slow-Moving or Non-Moving never match it. Values: F category, S category, N category.
IdIdGuidYes
IsAdjustmentReleasedAdjustment ReleasedBooleanYesSet by Release For Adjustment when it creates at least one adjustment line; while it is off the action can run again. A count with no differences produces an empty adjustment and leaves this off.
IsCountingFinishedCounting FinishedBooleanYesSet by Finish Counting, which also approves every count line and lifts the stock lock. Finishing requires counting to have started and blocks a second finish.
IsCountingStartedCounting StartedBooleanYesSet by Start Counting. From then on the scope fields are locked and the action refuses to run again.
ItemGroupIdItem GroupLookup → ItemGroupScope filter: count only items that are members of this item group. A group with no item members does not narrow the count.
ItemIdItemLookup → ItemScope filter: count only this item. Changing it before counting starts rebuilds the lines.
LockInventoryLock InventoryBooleanWhen ticked, Start Counting locks the stock positions and lots on the count lines against any transaction until Finish Counting. Finish Counting lifts the lock only if this is still ticked.
MaximumItemsMaximum ItemsNumberCaps how many items line generation takes in; 0 means the built-in cap of 2000. Changing it, or any scope filter, before counting starts deletes and regenerates the lines; once counting has started these fields are locked.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberTextThe count's document number, generated from the Cycle Count Name Setting (default series CYC).
OwnerIdOwnerLookup → UserAccountYes
PartCostFromPart Cost From (Future Use)CurrencyReserved; not read by line generation.
PartCostToPart Cost To (Future Use)CurrencyReserved; not read by line generation.
PartnerAccountIdPartner AccountLookup → AccountYesThe company whose stock is counted. Required, limited to active partner accounts, and not editable after the first save.
PartStockFromPart Stock From (Future Use)NumberReserved and not stored.
PartStockToPart Stock To (Future Use)NumberReserved and not stored.
PerformFinishCountingPerform Finish CountingBooleanYesA flag the Finish Counting action resets to false; ticking it does nothing. Read Counting Finished.
PerformReleaseAdjustmentPerform Release AdjustmentBooleanYesNot used by the release action and never written by it. Read Adjustment Released.
PerformStartCountingPerform Start CountingBooleanYesA checkbox on the create form's Actions tab that starts nothing by itself; the Start Counting action resets it to false. Use the Start Counting action and read Counting Started.
RecordTypeIdRecord TypeGuid, hidden
ReportIdReport (Future Use)TextReserved; not read by line generation.
ResourceIdExecutiveLookup → ResourceThe executive responsible for the count. Shown as Resource in the list views.
RuleSuccessCriteriaRule Success Criteria (Future Use)PickListReserved; not read by line generation. Values: All Rules Are Met.
RuleSuccessCustomLogicRule Success Custom Logic (Future Use)TextReserved; not read by line generation.
StatusStatusPickListStage label set by seeded business rules: Draft on create, Counting in Progress once counting has started, Finish Counting when every line is approved, Released for Adjustment once any adjustment is linked to the count. Values: Draft, Counting in Progress, Finish Counting, Released for Adjustment.
StorageLocationIdStorage LocationLookup → StorageLocationScopes line generation to lots and stock positions in this location, so a count can target one zone or van rather than the whole branch. Changing it before counting starts rebuilds the lines; it is locked once counting has started.
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)Finish Counting: opens a dialog with an editable grid of the lines; edited (ticked) rows are saved, then every line is approved, Counting Finished is set and the stock lock is lifted. Requires a started, unfinished count with lines, and at least one ticked row in the dialog.
PerformReleaseAdjustmentRelease For AdjustmentServerAction (PerformReleaseAdjustment)Release For Adjustment: creates a draft Adjustment for the count's partner account and branch with one untyped line per non-zero discrepancy plus Damaged and Expired lines for recorded damaged and expired quantities. Refused when the count has no lines or was already released; it does not check that counting was finished.
PerformStartCountingStart CountingServerAction (PerformStartCounting)Start Counting: requires count lines and runs once. Sets Counting Started, freezes the scope fields and, when Lock Inventory is ticked, locks the counted stock positions and lots.

Lookup filters

FilterLookup fieldNotes
Only Part AccPartnerAccountId
Partner accBranchIdPartnerAccountId = __target.PartnerAccountId