Skip to main content

Cycle counts

Traditionally, stores and warehouses count their stock once in a blue moon, and all at once. This method of stock taking doesn't make any sense for unified commerce purposes: it's time-intensive, it's not often enough and it requires you to shut down operations for a certain amount of time. Now that we think of it, it doesn't make sense for any purpose. Accurate stock levels are essential for EVA to offer a smooth experience for real-time functionalities. Which is why we use cycle counting, a counting method where you periodically count specific products.

Cycle count chapters

To guide your store's cycle counting, we've created several chapters in Admin Suite:

Tasks module

  • Cycle count zones
  • Cycle count zone groups
  • Zoned cycle counts
  • Zoned cycle counts scheduled

Cycle count zones

EVA enables you to subdivide your store into several so-called zones. These zones are mainly set up for counting purposes and are completely user-configurable; examples could be Stockroom and Storefront. This allows 2 employees to count the same product in different zones at the same time, or assigning someone to do all the Stockroom counts and someone else to do all the Store counts, which means less walking back and forth.

Zones are for indicative purposes: they allow you to split up the cycle count tasks per zone in the Companion.

Zones are created on a higher level and can be activated/deactivated on lower levels. If all of your stores do not have the same zones, you can manage this in the Suite and select the correct zones for your store. Deleting zones is possible, but note that this will affect all stores that use the zone you're deleting.

The Cycle counts zones chapter gives you an overview of all cycle count zones you currently have configured, and allows you to easily add or delete zones.


In order to be able to access this chapter, you need the CycleCountZoneGroups permission.

Cycle count zone groups

The cycle counts zone groups chapter gives you an overview of all groups you currently have configured, and allows you to easily add or delete them.


In order to be able to access this chapter, you need the CycleCountZoneGroups permission.

These are just 'groups' where you can specify which cycle count zones are being used by which organization unit set.

In case you have a plethora of these groups configured, the filter menu on the right makes it easy to find exactly what you're looking for.

You can give your group a custom name. You can then choose whether the selection of zones applies to a single organization unit or to a set of organization units. Groups can only be assigned to individual OUs that do not yet have zones applied to them as part of an OU set. Then select the zones you want to apply to the organization unit(s).


When adding parent OU's whose children are already assigned to a cycle count zone group, you will get an error.

Zoned cycle counts AKA start counting

You can start creating the actual (zoned cycle) counts in the Zoned cycle counts chapter.

The last column in the overview shows how the ZCC was initiated, which can be either be done by a full stock count, negative auto stock correct (NASC), a schedule or manually.

Click the '+' icon to start creating your count. As you can see in the below image, it's quite straightforward: start off by selecting your OU/OU set. The OUs you can select in the dropdown are OUs specified as being Webshops, Stores or Warehouses.

Then start adding products that need counting. You can do so via the product modals you're familiar with: either add products In bulk (pasting values of product properties), or use the standard product filter (selecting from Values, Range or Prefill).


In order to be able to access this chapter, you need the ZonedCycleCounts permission.

By clicking the 'looking glass' you can see the products that are a match to your listed product specifications.

After Saving your new zoned cycle count, you can see the products in the Filtered zoned cycle counts overview, as well as in the Companion.

As you can see in the Cycle count tasks overview in the Companion below, the cycle count tasks are split up among the various cycle count zones.

Iphone screen

Zoned cycle counts scheduled

The Zoned cycle count scheduled chapter lets you do the same as the chapter here above, only then (optionally) based on a determined interval, starting from a specific date.


In order to be able to access this chapter, you need the ZonedCycleCountSchedule permission.


The following list of permissions let you influence what users are able, to create, edit or view the cycle counts.

  • CycleCountZoneGroups
  • CycleCountZones
  • CycleCounts
  • ZonedCycleCounts
  • DeactivateZonedCycleCounts
  • ManageZonedCycleCounts
  • ZonedCycleCountAllowManualCorrections
  • ZonedCycleCountPlans
  • InitialCycleCounts


There's several settings influencing your zoned cycle counts. These can all be found in your Settings chapter, but the following related settings can all be set simultaneously by using the SetCycleCountSettings service.

  • GenerateCycleCountAfterNASC - after a NASC (negative stock auto correct) is created, a cycle count will be generated
  • MaxCycleCountsPerShop - the max number of active cycle counts per shop
  • MaxCycleCountsPerShopPerDay - the max number of cycle counts to create per day per shop
  • CycleCount:OnlyCreatePastDue - generate only cycle counts for products when the interval is expired
  • CycleCount:DaysOfWeek - on which days cycle counts should be generated
  • CycleCount:StockLabels - which stock labels should be counted

The following settings can be done additionally in Suite:

  • CycleCount:ProductLimit
  • StockReplenishmentTasks:AutoGenerateCycleCountZoneReset
  • UserTasks:CreateCycleCountOnNoStockPartialPickCompletion
  • CycleCountAfterReservationOrderLineCancelled

The latter setting will automatically trigger a cycle count whenever products are being cancelled from a reservation task. It should be set to true on the pickup organization unit. The setting defaults to false.

Note that even when it's enabled, it will only trigger when there hasn't been a stock mutation between the placing of the order and the time of cancellation.