The problem
Inventory accuracy is measured every quarter and defended every day, but the counting tools inside Dynamics 365 Finance & Operations were designed for periodic stocktakes rather than a continuous accuracy programme. Standard counting journals and the warehouse mobile app cycle counting menu items cover the mechanics — create a work line, scan a location, key a quantity — yet the surrounding programme is missing. There is no native ABC-weighted count calendar that guarantees your A items are visited twelve times a year and your C items once. Counters can usually see the on-hand quantity while they count, which quietly destroys the value of the count. Variances post the moment a supervisor releases the journal, with no structured second look, no reason code discipline, and no evidence trail that a financial auditor will accept months later.
The result is familiar. Spreadsheets shadow the ERP to track which locations were counted and when. Recounts are arranged over the radio. Adjustments hit the ledger with a generic reason code, and when the external auditor asks who approved a 40,000 USD write-down of a raw material in a specific warehouse, the answer has to be reconstructed from journal headers and memory.
What ECOSIRE builds
ECOSIRE builds a purpose-made cycle counting and stock audit extension for Dynamics 365 Finance and Supply Chain Management. It is written in X++ as a proper extension model — new tables, new forms, event handlers and Chain of Command augmentation, with no overlayering of Microsoft code — so it survives your update cadence rather than blocking it.
Count plan engine
A count plan is a configuration record scoped by legal entity, warehouse, and any combination of item, item group, product dimension group, ABC value or ABC frequency classification, and location profile. Each plan carries a target frequency, a tolerance profile and an assignment rule. A batch job running under the standard SysOperation batch framework evaluates the plans on your schedule, works out which items and locations are due, and generates counting work for the warehouse mobile app through the standard work template and location directive machinery. Because generation runs in batch with recurrence, the count calendar keeps itself populated without anyone remembering to press a button.
Blind and controlled counting on the mobile device
We deliver custom warehouse mobile app menu items built on the WHSMobileApp / WHSWorkExecuteDisplay pattern, so counters work inside the same device experience they already use — no second application, no separate login. Counting steps are configurable per plan: blind (no expected quantity shown), semi-blind (expected shown only after the first entry), or open. The device supports GS1 barcode parsing for item, batch, serial and licence plate, capture of a mandatory reason code on any variance, and an optional photo or note attached through the standard document management framework. A counter can be forced into an immediate recount when the first entry breaches tolerance, before the number ever reaches a supervisor.
Variance approval before anything posts
Every counted line lands in a variance workbench rather than straight into an inventory adjustment. Lines are classified against the tolerance profile — quantity threshold, percentage threshold, and extended value threshold using the item's current cost — and routed through a workflow built on the standard Dynamics 365 workflow framework. That means real approval hierarchies, delegation, escalation, work item queues, and the same mobile approvals surface your organisation already uses. Approved lines post through the standard InventCountJournal so that costing, ledger dimensions and the inventory closing process behave exactly as Microsoft intended. Rejected lines generate recount work automatically.
Audit history and reporting
The extension keeps an immutable count history table recording who counted, on which device, at what time, what was expected, what was entered, what reason code was chosen, who approved, and which journal and ledger voucher resulted. History is exposed as read-only data entities over OData so Power BI, Excel or an external audit tool can consume it without a database extract. We ship an SSRS report for count sheets and a variance summary, plus a workspace with tiles for counts due, counts overdue, open variances and value adjusted this period.
Who it is for
Distribution, manufacturing and retail organisations already live on Dynamics 365 Finance & Operations with advanced warehouse management enabled, running one or more warehouses with mobile devices in the aisles. It suits groups that must evidence inventory accuracy to auditors or to a parent company, sites that cannot afford a full annual shutdown count, and operations where high-value or regulated stock demands controlled recount and approval rather than a supervisor's release.
It is not a fit if you do not use advanced warehouse management, or if your process genuinely ends with a once-a-year physical count in a single legal entity — the standard counting journals already handle that.
How delivery works
Nothing here is pre-built and there is no download. The app is built for your environment.
1. Scoping call. We walk your current counting process, warehouse configuration, ABC classification, tolerance policy, approval hierarchy and device fleet. We agree exactly which plans, steps and thresholds you need. 2. Fixed quote. You receive a written scope and a fixed price with the build window stated. Nothing starts until you approve it. 3. Build. Typically one working week. Development happens in our own Dynamics 365 development environment against your target platform version, in a dedicated model within a package we agree with you. 4. Install in test. We hand over the deployable package and, where you prefer, run the deployment with your team through your LCS project into your sandbox. We configure the first count plans against your data, run a pilot count with your users on real devices, and adjust. 5. Production. After your sign-off in the sandbox, the same package is deployed to production through your normal release process. We attend the go-live window. 6. Support. A support window is included from the production go-live date, covering defect fixes and questions. Extended support and enhancement work are quoted separately.
You receive the X++ source. Nothing is obfuscated and nothing is licence-locked, so your team or another partner can maintain it later.