G2 Customer Reviews

What do you like best about Stok.ly – Inventory-Centric Cloud ERP?
“we have been a user for the last 4 years and we cannot think of life without it for our retail business. it makes listing to shopify and other marketplaces easy, keeps inventory accurate online and the POS is easy to use. accurate inventory across all sales channels is the big win for us.”

★★★★★ 4.9/5 — 22 reviews on Capterra
·
★★★★★ 5.0/5 — 18 reviews on G2

ERP - Cost vs Benefit

 

Stok.ly vs Cin7 for stock allocation control: at a glance

  • Why compared now: B2B and omnichannel sellers need to know whether their inventory platform can ring-fence stock for wholesale orders before it arrives, without exposing those units to B2C channels in the meantime.
  • Where Stok.ly leads: Stok.ly defines reservation, allocation and pre-allocation as separate, governed states and calculates available-to-sell stock dynamically across all channels and locations in real time.
  • Where Cin7 leads: Cin7 Core and Omni offer documented operational breadth — pick/pack/ship workflows, landed costs, in-transit accounting, manufacturing and a large integration ecosystem — suited to businesses that need wide operational coverage in one platform.
  • Price position: Cin7 Core publishes USD list prices from $349/month; Omni requires a quote. Speak to both vendors for a like-for-like UK figure.
  • Honest verdict: If protecting B2B commitments from live B2C sellable stock — before goods arrive — is a hard requirement, Stok.ly’s pre-allocation model addresses it directly; Cin7 Core’s documented allocation triggers at the pick stage.

Cin7 vs Stok.ly: inventory allocation and order management capability comparison — September 2026

Capability Why it matters Cin7 Stok.ly Source
Where Cin7 leads
End-to-End Inventory Audit Trail Finance and ops teams need a traceable record of every stock movement. Native. Cin7 Core records user actions, API and configuration changes, and old/new field values in an Audit Report, subject to user permissions. Transfer activity includes timestamps and in-transit accounting. The capability is documented and included without separate purchase on supported plans. Native. Stok.ly maintains a full audit trail of all inventory movements across locations, workflows and channels. Every receipt, adjustment, pick, transfer, return and dispatch is recorded, giving finance and operations teams a single traceable log without manual consolidation. Cin7 documentation, September 2026
Automated Min/Max Replenishment & Supply Trigger Engine Prevents stockouts and overbuying without manual reorder calculations. Native (Core Pro and above). Cin7 Core documents supplier- and location-specific lead time, safety stock, reorder quantity and minimum order fields feeding Inventory Velocity replenishment suggestions. MRP is listed from Core Pro. ForesightAI demand forecasting is an additional paid add-on. Native. Stok.ly automates store replenishment, purchasing and manufacturing triggers based on configurable min/max rules per SKU and location. When stock falls below the minimum, the engine raises the appropriate supply event automatically, removing the need for manual monitoring runs. Cin7 documentation, September 2026
Variance Detection Across Inventory Workflows Undetected variances silently erode margin and distort stock counts. Native. Cin7 Core documents landed cost allocation to purchases, transfers, assembly and production, and records COGS journal timing. Transfer activity logs and the Audit Report surface discrepancies at the transaction level. Coverage across every workflow type should be verified at demo for the specific plan. Native. Stok.ly provides variance reporting wherever inventory actual does not match expected — covering goods receipts, purchase orders, manufacturing orders, transfers, picks, returns and stock takes — giving a single, consistent variance view across all operational workflows. Cin7 documentation, September 2026
Allocation and stock commitment control
Reservation vs Allocation vs Pre-Allocation Control Layer Without distinct commitment states, promised stock and available stock become indistinguishable. Cin7 Core’s pick workflow allocates stock at the point of picking, preventing reuse by another order. A formal, named control layer distinguishing reservation, allocation and pre-allocation states as separate, queryable inventory statuses was not found in published documentation. Native. Stok.ly creates a formal control layer for reservation, allocation and pre-allocation as distinct stock commitment states. Operators can see at any moment what is promised, what is physically available, and what is linked to future supply — without relying on pick timing to enforce the distinction. Cin7 documentation, September 2026; operator accounts, September 2026
Allocation Timing Control Engine Committing stock too early or too late creates either phantom availability or unnecessary holds. Cin7 Core allocates stock during the pick step of a documented sale → pick → pack → ship workflow. A configurable engine that sets commitment timing based on rules such as payment status, pre-sale release date, goods-in receipt or scheduled fulfilment run was not found in published documentation. Native. Stok.ly’s Allocation Timing Control Engine defines when inventory commitments are created, held, released or converted based on operational rules — including order creation, payment confirmation, pre-sale release date, goods-in receipt or a scheduled fulfilment run — without manual intervention at each stage. Cin7 documentation, September 2026
Dynamic Allocation Reconciliation Engine Manual reconciliation after stock state changes delays fulfilment and ties up staff.  Cin7 Core documents that allocating during picking prevents stock use by another order. Automatic, continuous reconciliation of allocation status as stock states change — so that eligible orders advance without manual intervention — was not found in published documentation. Native. Stok.ly automatically reconciles allocation status whenever stock states change — for example when a receipt arrives, a cancellation occurs, or a hold is released — so eligible orders move forward to the next stage without a member of staff triggering each step manually. Cin7 documentation, September 2026
Pre-Allocation Against Future Supply Engine B2B operators need to commit future inbound stock to named orders without freezing current sellable stock. Cin7 Core documents assembly, BOM and batch tracking on supported plans, and its pick workflow allocates from available stock. Committing a named B2B sales order line against a future PO receipt while leaving current stock free to sell through other channels was not found in published documentation. Native. Stok.ly’s Pre-Allocation Against Future Supply Engine lets operators ring-fence inbound PO or manufacturing-run receipts for named B2B sales order lines before those goods arrive, while current on-hand stock remains fully available to sell through B2C or other channels. Cin7 documentation, September 2026
Future Supply Pre-Allocation for B2B Sales Orders Wholesale operators need confirmed customer commitments without displacing stock available today. Cin7 Core’s B2B portal supports customer price lists and purchase order management. A specific mechanism for ring-fencing future inbound supply against named wholesale customer orders — distinct from allocating current on-hand stock — was not found in published documentation. Native. Stok.ly lets wholesalers and hybrid B2B/B2C operators ring-fence future inbound supply for named customer orders without removing stock that is available to sell today across stores and e-commerce. The commitment is tracked against the inbound supply line, not drawn from current stock. Cin7 documentation, September 2026
Multi-location inventory visibility and control
Real-Time Multi-Location Inventory State Control Operators running stock across warehouses, stores and channels need a single live view to prevent overselling. Native. Cin7 Core lists multiple inventory locations on all published plans and documents an operational stock transfer process. Independent reviewers report inventory push delays to Shopify and Amazon in certain Omni workflows, and a G2 Core reviewer notes Shopify lag can lead to overselling on fast-moving products. Verify sync frequency and location mapping for your exact configuration. Native. Stok.ly provides real-time unified visibility of inventory across warehouses, stores, suppliers and channels. Stock state is updated at the point of each transaction — receipt, pick, transfer, adjustment — so every channel reflects the same live position without polling delays or manual refresh steps. Cin7 documentation + operator accounts, September 2026
Cross-Location Allocation Orchestration Allocating from the wrong location wastes transfer time and can create local stockouts. Cin7 Core supports multiple inventory locations and stock transfers with in-transit accounting. An allocation decision engine that actively considers stock across central warehouses, stores, depots, in-transit and manufacturing runs when determining where to commit a sales order was not found in published documentation. Native. Stok.ly’s Cross-Location Allocation Orchestration evaluates stock across multiple physical and future locations — including warehouses, stores, depots, stock in transfer and live manufacturing runs — when making each allocation decision, directing commitment to the most operationally appropriate source. Cin7 documentation, September 2026
Granular Inventory State Governance Without defined states, quarantined, reserved and available stock are indistinguishable in counts. Cin7 Core documents allocated stock during picking and quarantine handling is not described as a distinct, governed inventory state in published sources. Customers report inventory count inaccuracies across multiple locations. Verify whether your required states — reserved, quarantined, allocated, in-transfer — are separately tracked. Native. Stok.ly defines and governs all inventory states across locations and workflows. Each state — available, reserved, allocated, pre-allocated, quarantined, in-transfer — is tracked distinctly, so reported stock counts are never conflated and each state can be queried independently by location or channel. Cin7 documentation + operator accounts, September 2026
Inbound goods and receipt control
Inbound Receipt Variance and Quarantine Control Over-received or unexpected goods must be held, not absorbed silently into sellable stock. Cin7 Core documents landed cost allocation and transfer receipts with put-away steps. Automatic flagging of unexpected or excess items at receipt and placement into a governed quarantine state pending purchasing or finance review was not found in published documentation. Native. Stok.ly validates receipts against purchase orders, manufacturing runs and stock transfers, flags unexpected or excess items at the point of goods-in, and automatically places flagged items into quarantine until reviewed by purchasing or finance — preventing unreviewed stock from entering sellable inventory. Cin7 documentation, September 2026
Traceability and compliance
Serial Number and Batch Number Capture and Search Order-level serial and batch capture enables rapid recall response and dispute resolution. Native (plan dependent). Cin7 Core lists batch tracking under assembly and manufacturing on supported plans. Serial number capture against individual sales order lines and a cross-order search for a specific serial or batch number across all historical orders should be verified in a live demo for your plan and workflow. Native. Stok.ly captures serial numbers and batch numbers against sales orders, supports scanning during order processing, and provides cross-order search to locate any specific serial or batch number across all historical transactions. The capability is functional for standard traceability needs. Cin7 documentation, September 2026
Expiry Date, Serial Number & Batch Tracking for Compliance Regulated categories such as vape, food and pharma require expiry and batch audit trails for recall and inspection. Native (plan dependent). Cin7 Core documents batch tracking and FIFO/FEFO enforcement in its warehouse module. Whether expiry date capture at goods-in, FEFO picking enforcement and a full batch audit trail for regulatory recall scenarios are available on your specific plan and connector should be confirmed in a live demo. Native. Stok.ly captures expiry dates, serial numbers and batch identifiers at goods-in and tracks them throughout the warehouse lifecycle. This supports FIFO/FEFO picking rules, regulatory compliance requirements — including UK vape batch and expiry obligations — and provides audit trails for recall or quality control events. Cin7 documentation, September 2026
Transfer-State Inventory Audit Trail Goods counted at the sending location but not yet received must not appear as available at the destination. Native. Cin7 Core documents a full stock transfer process covering order, picking, in-transit accounting, receipt and put-away, with cost allocation and an audit log. FIFO date settings at transfer level are also documented. This is one of Cin7’s documented operational strengths. Native. Stok.ly maintains a full audit trail of inter-location stock movements. Goods in transit are not made available at the receiving location until the transfer is formally accepted, with every step — dispatch, in-transit, receipt, put-away — recorded in the audit log. Cin7 documentation, September 2026
SKU-Level Transaction Audit Trail Operations teams tracing a stock discrepancy need every movement against a specific SKU in one view. Native. Cin7 Core’s Audit Report records old and new values at the transaction level, and inventory reports expose per-SKU movement history. Core is described as “rigid” and “basic” by some operator accounts, and customers report difficulties maintaining accurate inventory counts across multiple locations. Verify depth of per-SKU transaction history for your volume. Native. Stok.ly provides a complete order and transaction history against each SKU, covering every meaningful movement and stock-affecting event. Operational teams can trace a discrepancy from current stock position back through each pick, receipt, adjustment, return or transfer without switching between reports. Cin7 documentation + operator accounts, September 2026
Location-Level Transaction Audit Trail Warehouse managers investigating a location discrepancy need every event at that location without a bespoke report. Native. Cin7 Core’s Audit Report and transfer logs provide location-level activity records. The same operator accounts that describe count inaccuracies across multiple locations suggest that the depth of location-level transaction history may vary by plan and configuration. Verify that receipts, put-aways, picks, adjustments and returns are all visible per location in your plan. Native. Stok.ly lets users view every transaction that occurred within a location — receipts, put-aways, movements, picks, sales, adjustments, returns, transfers, variances and dispatches — in a single location-level view, without requiring a custom report or manual data export. Cin7 documentation + operator accounts, September 2026
Availability calculation and channel control
Available-to-Sell (ATS) Logic Engine Channels must see only genuinely sellable stock — not reserved, quarantined or pre-allocated units. Cin7 Core tracks allocated stock during picking and documents multiple inventory locations. A dedicated ATS calculation that subtracts reservations, pre-allocations and quarantine from on-hand stock before publishing a channel-facing available figure was not found in published documentation. Overselling reports from reviewers suggest this warrants specific verification. Native. Stok.ly’s Available-to-Sell Logic Engine calculates true sellable stock across channels by deducting reservations, allocations, pre-allocations and quarantine quantities from on-hand stock. Each channel receives an accurate, real-time sellable figure rather than a raw on-hand count. Cin7 documentation + operator accounts, September 2026
Channel Availability Control for In-Transfer Stock In-transfer stock should count as available when arrival is imminent, and be excluded when it is days away. Cin7 Core documents in-transit accounting during transfers and timestamps transfer activity. A configurable rule that includes or excludes in-transfer stock from channel-facing availability figures based on transfer duration or operator-defined criteria was not found in published documentation. Native. Stok.ly gives granular control over in-transfer inventory visibility. Operators configure whether in-transit stock is included in or excluded from channel availability figures — for example, including it when same-day transfer is confirmed and excluding it when the goods are three days away — without manual adjustment each time. Cin7 documentation, September 2026
Kitted and composite product management
Composite / Kitted Product Availability Control Selling a bundle that cannot be built from current components creates a fulfilment failure at pick. Cin7 Core documents assembly and BOM capabilities on supported plans, including production and capacity scheduling at higher tiers. Continuous, real-time recalculation of how many finished bundles can be sold from current component stock — and surfacing that count to channels as the live sellable quantity — was not found in published documentation. Native. Stok.ly supports composite and kitted products built from simple and manufactured items, then continuously recalculates how many finished bundles can be sold from current component stock. The sellable bundle count updates in real time as components are received, picked or allocated to other orders. Cin7 documentation, September 2026

Why inventory-led B2B and omnichannel sellers move off Cin7

The businesses described below reached out because something specific had stopped working for them. They are not representative of every Cin7 customer — many operators running Core or Omni report strong results, particularly with Shopify and Xero integrations and with support. What follows documents the gap, not a verdict on the platform as a whole.

Stock is allocated too late to protect B2B commitments

Cin7 Core’s documented pick workflow allocates stock at the point of picking — the moment a warehouse operative begins physically selecting items for a sale. For a business running a single fulfilment channel against broadly available stock, this is often sufficient. For a business carrying committed wholesale orders alongside live B2C demand, it creates a structural timing problem: stock destined for a B2B customer remains technically available to another channel until someone physically begins picking it. Operators running Cin7 Core in this configuration report needing to manage B2B commitments outside the system — manually reserving quantities in spreadsheets or timing pick jobs to prevent B2C channels from drawing the same units. The root cause is structural: Cin7 Core’s published allocation model does not define a distinct reservation or pre-allocation state that can ring-fence stock before the pick stage begins. Stok.ly’s Reservation vs Allocation vs Pre-Allocation Control Layer addresses this by treating reservation, allocation and pre-allocation as separately governed inventory states, so a confirmed wholesale order holds stock from the moment it is placed, not from when picking starts.

Future supply cannot be committed against purchase orders before stock arrives

Wholesale and B2B businesses commonly need to confirm orders against incoming stock — a container on the water, a purchase order confirmed with a supplier but not yet receipted into the warehouse. A buyer wants a commitment; the seller needs to hold that future stock against that specific order without making it appear available to other channels. No published Cin7 Core documentation describes a mechanism for pre-allocating inbound purchase order stock to specific sales orders before physical receipt. Operators in this position typically manage future-supply commitments manually, tracking expected quantities and promised allocations in a separate tool or spreadsheet and reconciling when the stock arrives. Stok.ly’s Future Supply Pre-Allocation for B2B Sales Orders covers this workflow directly, associating incoming purchase order stock with committed sales orders before the goods land, so available-to-sell figures across all channels reflect those commitments in real time.

Available-to-sell figures do not reflect the true committed position

When allocation happens only at pick time and future supply cannot be pre-committed, the available-to-sell figure a business sees — and, critically, what it exposes to live sales channels — does not reflect actual committed stock. Customer reports from Cin7 Core users describe Shopify integration lag leading to overselling on fast-moving products, a pattern indexed in G2’s Core review summary. A G2 Core reviewer specifically identifies Shopify integration lag as a cause of oversells on fast-moving lines. The commercial consequence is orders accepted that cannot be fulfilled, or B2B commitments broken because B2C channels drew on stock that should have been protected. Where Cin7 Core’s allocation timing drives the gap, the fix is not a faster sync — it is an inventory state model that dynamically recalculates available-to-sell across all channels and locations the moment a reservation or pre-allocation is created. Stok.ly recomputes available-to-sell in real time across channels and locations, feeding those figures to connected channels before a conflicting order can be accepted.

Multi-location inventory accuracy creates operational uncertainty at scale

Cin7 Core lists multiple inventory locations as a standard feature across its published plan tiers. However, independent customer accounts describe documented failures in maintaining accurate inventory counts across multiple locations — a pattern flagged in the competitive evidence for this page. Businesses that began on Core with one or two locations and expanded to three, four or more sites report that count accuracy under concurrent demand from multiple channels becomes harder to maintain. The operational consequence is that warehouse teams lose confidence in the system’s own figures and begin keeping shadow counts — a local spreadsheet, a physical tally, a manual check before committing stock. When the system of record is not trusted, decisions move offline. Stok.ly maintains a live inventory position per location, updated as reservations, allocations and fulfilment events occur, so the platform’s own count is the count operators act on.

The B2B portal is an add-on rather than a native order channel

Cin7’s published pricing matrix lists a customisable B2B portal as an add-on, not a capability included in Core’s base tiers. For a seller whose wholesale channel is a meaningful share of revenue — and who needs B2B orders to flow through the same allocation and fulfilment logic as all other channels — a separately purchased, separately configured portal creates both a cost question and an integration question. If the portal does not share the same inventory state model as the core platform, B2B orders placed through it face the same late-allocation timing problem described above. Businesses evaluating whether to pay for and integrate the B2B add-on, versus moving to a platform where B2B order management is part of the central order model, identify this as a trigger for re-evaluation.

A note on who these triggers represent: every pattern described above comes from operators who contacted us because something was not working — businesses actively in the process of evaluating alternatives. This is a self-selecting group. It does not include the many Cin7 customers who have configured Core or Omni successfully for their specific operation and have no reason to look elsewhere. The triggers above describe the gap between what Cin7 was set up to do and what a particular operation grew to need — not a ceiling on what the platform can do for a business whose requirements it fits well.

How does Stok.ly handle stock allocation, forecasting and order control differently from Cin7?

Cin7 Core and Omni cover a wide operational surface — purchasing, pick/pack/ship, transfers, accounting integrations and replenishment parameters are all documented. What the platform’s architecture does not resolve is the question a hybrid B2B and B2C seller actually needs answered before a pick run starts: which stock is genuinely available to sell, to whom, and in what priority order. The four structural differences below explain where Stok.ly does something specifically different, and why it matters to that decision.

Does Stok.ly include AI-driven demand forecasting and stockout risk scoring in the platform itself?

Stok.ly is AI-native. Demand forecasting, stockout risk scoring and margin analysis are computed inside the platform for every SKU at every location, every day, and the output feeds directly into purchasing decisions — not as a separately licensed add-on requiring a different interface, but as part of the daily operational picture.

The Stok.ly daily snapshot covers the full inventory position and valuation alongside a commercial layer: gross margin recognised at fulfilment, GMROII over 30, 60 and 90 days, demand statistics and variability, days since last demand, and recorded stockout days. Forward-looking outputs include a demand trend ratio, a trend-adjusted forecast, statistical safety stock calculated at 95% service level, a lead-time-aware reorder point, days of cover, and a 0–1 stockout risk score for every SKU.

Cin7 Core’s replenishment layer works from supplier and location-specific reorder parameters — lead time, safety stock quantity, reorder quantity and minimum order — feeding an Inventory Velocity suggestion engine. ForesightAI forecasting is marketed separately as an add-on at an additional cost. The structural difference is pre-computation: because Stok.ly calculates the analysis continuously rather than querying it on demand, the answer is already present at the moment of the purchasing decision.

See how Stok.ly AI inventory management covers demand forecasting, GMROII and stockout risk

How does Stok.ly manage product data across multiple sales channels without duplicating it?

The cost operators consistently underestimate is not stock — it is product data. When the inventory platform and each sales channel hold their own version of a product record, every new line is created at least twice, and every update is made at least twice. Cin7 Core documents product families and variants, and whether it meets a full multi-channel product information management definition across every channel configuration is not confirmed in published Cin7 documentation as of the research date.

Stok.ly holds product information once and pushes it outward. Attributes, variants, images, barcodes, dimensions, pricing tiers and channel-specific content all live against a single product record. Listings are created and updated from that record. Bulk listing and bulk editing apply a price change, a description update or a new attribute across every SKU and every channel in a single action — rather than requiring a per-channel correction each time something changes.

For a seller running both B2B wholesale and B2C e-commerce, this matters at the allocation level too: when the product record is the single source of truth, the available-to-sell figure calculated against it is consistent across every channel simultaneously, rather than dependent on each channel’s last sync.

See how Stok.ly product information management handles bulk listing and multi-channel editing

How does Stok.ly connect to ecommerce channels, couriers and accounting packages without middleware?

Every platform publishes an integration count. Cin7 markets over 700 ecosystem connections, with included connections tiered by plan and additional connection capacity purchasable. Documented Cin7 integrations cover Shopify, Xero and QuickBooks; 3PL and EDI connectivity may involve API or partner solutions depending on the plan, and Cin7’s own documentation notes that some sync operations — for example, refunds and restocks initiated in Core — are not automatically sent back to Shopify.

Stok.ly’s integrations are pre-built, maintained by Stok.ly, and configured rather than developed: no middleware to licence, no connector to commission, no integration partner to engage. The connection set covers 200-plus ecommerce channels and marketplaces syncing stock, orders, pricing and fulfilment status in real time; 150-plus couriers and freight partners with rates, labels, manifests and tracking at dispatch; and 20-plus accounting packages including Sage, Xero, QuickBooks and Microsoft Dynamics. The relevant question for any specific channel is not whether the connection exists but what it covers — sync direction, location mapping, exception handling and return flows — and Stok.ly’s pre-built model means those details are owned and maintained in one place.

See the full list of Stok.ly ecommerce, courier and accounting integrations

How does Stok.ly use rules to control order allocation, routing and exception handling automatically?

In Cin7 Core, the documented operational flow runs from authorised sale through pick, pack and ship, with stock allocation occurring at pick stage if it has not already been allocated. The workflow is structured and auditable. What it does not provide — in published documentation — is a pre-allocation layer that ring-fences stock against a B2B sales order before it reaches the warehouse floor, or a rules engine that resolves the routing and priority questions automatically rather than leaving them to individual decision at pick time.

In Stok.ly, the sales order is the operational controller. Allocation, reservation, routing, fulfilment priority and exception handling — including returns — are governed by rules you configure, not by a manual queue. An order that meets its conditions moves to pick without a person deciding it should. An order that does not — because of a credit hold, partial stock availability, or a pre-allocated B2B line — is held with the specific reason attached, rather than sitting in a general queue for someone to diagnose.

The Stok.ly rules engine converts analysis into executable action: allocation state, channel routing, carrier selection, replenishment triggers, transfer top-ups, pricing tiers, credit holds and exceptions all run on configured rules. For a seller managing B2B commitments alongside live B2C demand, this is the mechanism that prevents a B2C channel from consuming stock that has already been reserved against an incoming purchase order or an open wholesale account.

See how Stok.ly’s automation rules engine controls order management, inventory and warehouse operations

Where Cin7 is the better choice for your business

Stok.ly is an order management-led, inventory-centric ERP built for B2B and omnichannel sellers who need precise stock state control. It is not the right fit for every business, and Cin7 genuinely outperforms it in several real scenarios.

  • Businesses that need integrated manufacturing and production scheduling. Cin7 Core and Omni include documented BOM, assembly, batch tracking and capacity scheduling, with MRP available at Pro tier. If manufacturing execution sits at the centre of your operation — not just purchasing against a PO — Cin7’s production depth is a genuine, documented advantage over an order management-led platform.
  • Smaller retailers or direct-to-consumer brands without a B2B wholesale channel. Cin7 Core’s published entry tier is built for growing businesses that primarily sell through a single ecommerce channel. If B2B pre-allocation, ring-fenced future supply or multi-channel inventory state control are not live requirements, the simpler operational model and lower entry cost of Core may be a more proportionate fit.
  • Businesses already deep in the Cin7 ecosystem with customised workflows. If your team has built reporting, integrations or operational processes around Cin7 Omni’s API and configurable UI — and those workflows are functioning — the cost and disruption of migration will likely outweigh any allocation-control benefit Stok.ly offers unless overselling or B2B commitment failures are causing active commercial damage.

How to migrate from Cin7 to Stok.ly without losing stock history or open order data

Export your master data first, before anything else. The records that matter most — products, variants, barcodes, supplier settings, reorder parameters, location structures and customer price lists — live inside Cin7 in formats that can be exported to CSV or accessed via API. Do this before any cancellation notice is served. Open purchase orders, outstanding B2B sales orders and any pre-allocated lines should be captured as a dated snapshot, because these are the records most likely to be mid-process when a cutover happens and the most likely to be lost in an unplanned transition.

Inventory state needs more than a quantity. A stock count on its own is not enough. Any stock that is reserved, allocated, pre-allocated against a future purchase order, or held under a B2B commitment needs to be carried across with its state intact. In Stok.ly, reservation, allocation and pre-allocation are governed as separate states under the Reservation vs Allocation vs Pre-Allocation Control Layer — so the import process must map each record to the correct state, not collapse everything into a single on-hand figure. If that mapping is skipped, the available-to-sell count in Stok.ly will be wrong from day one, and B2B commitments will not be protected from B2C channel demand.

Channel connections are configured, not developed. Stok.ly’s integrations with ecommerce channels, marketplaces, couriers and accounting packages are pre-built and maintained by Stok.ly. There is no middleware to commission and no integration partner to engage before the connection is live. For sellers moving from Cin7, this means the Shopify, Xero or QuickBooks connection can be configured and tested in parallel with the Cin7 instance still running, so stock and order sync can be verified before the old system is switched off.

Run both systems in parallel across a real trading week. The only reliable migration test is a live one. Run Stok.ly alongside Cin7 for at least one full trading cycle — long enough to capture a B2B order, a B2C order, a stock receipt against an open purchase order, and at least one return. Compare available-to-sell figures, allocation states and accounting entries between the two systems at the end of each day. Discrepancies caught during parallel running cost nothing to fix; discrepancies found after cutover cost orders.

Cutover on a low-volume day, with open orders closed or paused. The cleanest cutover point is one where the outstanding order book is as short as possible — typically end of week or end of month. Any B2B order that cannot be fulfilled before cutover should be carried across explicitly, with its allocation state confirmed in Stok.ly before the Cin7 instance is closed. Historical order data and stock movement records from Cin7 should be archived and retained separately; they will be needed for accounting reconciliation and, in some cases, for compliance.

Smarter Stock Management Across Locations

 

How Stok.ly and Cin7 are priced: what each model actually covers

Cin7 Core is sold on published monthly tiers, with the price varying by the number of included users, the annual sales order volume and the number of ecommerce or app connections included at each level. Exceeding any of those limits — more users, more connections, higher order volumes — typically requires moving to the next tier or purchasing additional capacity. Certain capabilities, including ForesightAI forecasting and the B2B portal, are listed as add-ons rather than included features, depending on the plan. Cin7 Omni is priced by custom quote, so a Core list price cannot be used as a proxy for what an Omni contract will cost. Published amounts are in USD and exclude tax; a UK contract price would require a direct quote from Cin7. Implementation and onboarding options carry their own costs, which vary by format.

Stok.ly is priced on a subscription model built around the operational scope of the business — the combination of channels, locations and order volumes being managed — rather than a per-user seat count. That means adding a warehouse team member or a picking operative does not automatically trigger a higher monthly charge in the way that per-user pricing does. The integrations — ecommerce channels, couriers, accounting packages — are included within the platform rather than counted against a connection allowance, so a seller running multiple channels does not pay incrementally more for each one. For a direct pricing conversation, including implementation scope, contact Stok.ly.

 

Which sellers Cin7 typically suits, and which are better served by Stok.ly

Cin7 Core or Omni tends to fit well when:

  • The business is primarily product-led and needs broad operational coverage — purchasing, inventory, basic manufacturing, POS and accounting integration — in a single system, with a moderate order volume.
  • The operation runs from a small number of locations with straightforward allocation needs and no requirement to ring-fence B2B stock from B2C channels in real time.
  • MRP, assembly, BOM management or light manufacturing scheduling are active requirements, particularly on Core Pro or above.
  • The team is small and a published, tiered pricing structure makes budget planning straightforward at the outset.
  • The business already has familiarity with Cin7 and the current workflows, order volumes and connection count fit comfortably within the chosen plan.

Stok.ly is typically the stronger fit when:

  • The business operates across B2B and B2C simultaneously and needs to protect committed B2B stock from being sold through B2C channels — a use case requiring genuine pre-allocation against future purchase orders, not just pick-time allocation.
  • Accurate available-to-sell figures across multiple locations and channels are a commercial requirement, and a pick-time allocation model creates real overselling or fulfilment failure risk.
  • The sales order is the operational controller: allocation, routing, fulfilment priority, credit holds and exception handling all need to run on rules without manual intervention at each step.
  • AI-native demand forecasting, stockout risk scoring and margin analysis are needed inside the platform, computed daily at SKU and location level, without a separately purchased add-on.
  • The team manages a high volume of integrations — multiple ecommerce channels, marketplaces, couriers and accounting packages — and cannot afford per-connection pricing or middleware costs to add each one.
  • Product information needs to be maintained once and pushed to all channels, with bulk listing and bulk editing applied across every SKU in a single action.

Is Stok.ly the right inventory management platform for your operation?

Stok.ly is built for operators who need real stock commitment control

  • B2B and wholesale sellers who need to pre-allocate future inbound supply to named customer orders without removing stock available to sell through other channels today.
  • Omnichannel operators running stock across warehouses, stores and e-commerce channels who cannot afford overselling caused by polling delays or raw on-hand counts being published as sellable stock.
  • Businesses with complex commitment workflows where reservation, allocation and pre-allocation must be tracked as separate, queryable inventory states — not inferred from pick timing.
  • Regulated category sellers — including vape, food and pharma — who require expiry date capture, FIFO/FEFO enforcement and batch audit trails for compliance or recall readiness.
  • Multi-location distributors who need cross-location allocation orchestration, granular inventory state governance and a single live view of what is genuinely available to sell at any moment.
  • Operators moving off Cin7 who have outgrown its pick-led allocation model and need formal stock commitment states, dynamic reconciliation and a dedicated Available-to-Sell logic engine.

Stok.ly is not the right fit for every business

  • Pure-play retail or single-location businesses with simple, low-volume fulfilment needs and no requirement for pre-allocation, multi-location state governance or B2B wholesale order management.
  • Businesses whose primary requirement is manufacturing-heavy MRP with deep production scheduling, capacity planning and work-in-progress tracking as the central operational workflow — Cin7 Core Pro documents MRP and production scheduling capabilities that suit this profile.
  • Teams not ready to define their inventory states and allocation rules — Stok.ly’s control layer requires operators to configure commitment rules; businesses seeking a system that works without that configuration investment are not the right fit.
  • Very early-stage businesses with fewer than a handful of SKUs, a single sales channel and no near-term plan to add wholesale, multi-location or pre-order fulfilment.

Frequently Asked Questions

Can Stok.ly pre-allocate inbound stock to named B2B orders before the goods arrive?

Stok.ly’s Pre-Allocation Against Future Supply Engine lets operators ring-fence receipts from a specific purchase order or manufacturing run against named B2B sales order lines before those goods arrive in the warehouse. Current on-hand stock is not touched — it remains fully available to sell through B2C or other channels. Operators moving from Cin7 report that Cin7’s allocation is triggered at the pick step, which means a formal pre-allocation commitment against future supply was not established in Cin7’s published documentation as at September 2026.

How does Stok.ly calculate Available-to-Sell stock for connected channels?

Stok.ly’s Available-to-Sell Logic Engine deducts reservations, allocations, pre-allocations and quarantine quantities from on-hand stock before publishing a sellable figure to each channel. Every channel receives a real-time, accurate sellable count rather than a raw on-hand number. Cin7 Core allocates stock during the pick step and documents multiple inventory locations; however, a dedicated ATS calculation that subtracts all commitment states before publishing a channel-facing figure was not found in Cin7’s published documentation as at September 2026, and independent reviewers have noted overselling on fast-moving products.

Does Stok.ly track reservation, allocation and pre-allocation as separate inventory states?

Stok.ly creates a formal control layer in which reservation, allocation and pre-allocation are distinct, queryable inventory states. Operators can see at any moment what is promised, what is physically available and what is linked to future supply — without relying on pick timing to enforce the distinction. Cin7 Core’s documented workflow allocates stock during picking, which prevents reuse by another order; however, a named control layer distinguishing reservation, allocation and pre-allocation as separate, queryable statuses was not found in Cin7’s published documentation as at September 2026.

When is Cin7 the better choice over Stok.ly?

Cin7 Core is a stronger fit for businesses where manufacturing-heavy MRP and production scheduling are the central operational requirement. Cin7 Core Pro documents MRP, capacity scheduling and production workflows, and its audit trail and transfer-state accounting are genuine documented strengths. Cin7 also suits operations that need a broadly capable, multi-module platform and are not primarily driven by formal stock commitment state control or B2B pre-allocation workflows. If your core problem is production planning rather than order-led inventory allocation, Cin7 Core Pro warrants serious evaluation.

How does Stok.ly handle inventory count accuracy across multiple warehouse locations?

Stok.ly updates stock state at the point of each transaction — receipt, pick, transfer, adjustment — so every location reflects the same live position without polling delays or manual refresh steps. Each state, including available, reserved, allocated, quarantined and in-transfer, is tracked distinctly per location so reported counts are never conflated. Operators moving from Cin7 note that Cin7 is described by customers as rigid and basic, with documented failures in maintaining accurate inventory counts across multiple locations; Stok.ly’s Granular Inventory State Governance is built specifically to remove that conflation at its source.

Can Stok.ly automatically reconcile allocation status when stock states change?

Stok.ly’s Dynamic Allocation Reconciliation Engine automatically reconciles allocation status whenever a stock state changes — for example when a goods receipt arrives, a cancellation is processed or a hold is released — so eligible orders advance to the next fulfilment stage without a member of staff triggering each step manually. Cin7 Core documents that allocating during picking prevents stock use by another order; automatic, continuous reconciliation of allocation status as stock states change throughout the day was not found in Cin7’s published documentation as at September 2026.

How does Stok.ly support expiry date and batch tracking for regulated product categories?

Stok.ly captures expiry dates, serial numbers and batch identifiers at goods-in and tracks them throughout the warehouse lifecycle, supporting FIFO and FEFO picking rules and providing audit trails for recall or quality control events — including UK vape batch and expiry obligations. Cin7 Core documents batch tracking and FIFO/FEFO enforcement in its warehouse module; whether expiry date capture at goods-in, FEFO picking enforcement and a full recall-ready batch audit trail are available on a specific plan and connector should be confirmed in a live Cin7 demo, as availability is documented as plan dependent.

How does Stok.ly control which in-transfer stock is included in channel availability figures?

Stok.ly gives operators granular, configurable control over in-transfer inventory visibility. A rule can be set to include in-transit stock in channel availability when a same-day transfer is confirmed, and exclude it when goods are multiple days away — without requiring a manual adjustment each time a transfer occurs. Cin7 Core documents in-transit accounting during transfers and timestamps transfer activity; however, a configurable rule that includes or excludes in-transfer stock from channel-facing availability figures based on transfer duration or operator-defined criteria was not found in Cin7’s published documentation as at September 2026.
  • This field is for validation purposes and should be left unchanged.

Contact Information

All our sales, support and development team are located in Hereford and Cheltenham in the U.K. Please submit the contact form and we will contact you within the same business day.

Technical Support

Sales Team & Customer Services

sales@stok.ly
Book a Demo