← Back to StockIQ overview
S

Kernvel StockIQ User Guide

The complete handbook for AI inventory forecasting and demand planning on your Shopify store.

StockIQ User Guide

StockIQ helps you review Shopify inventory, forecast demand, plan replenishment, manage suppliers and purchase orders, and collect shopper interest. Start with your synced stock and sales history, review recommendations, then decide what to order.

Start here

  1. Open StockIQ from Shopify admin and follow the setup screens.
  2. Analyze your store to sync products, locations, inventory and available order history. Older orders depend on the access Shopify grants; the setup does not guarantee 90 days of orders.
  3. Choose your forecast horizon, safety-stock buffer and alert preferences, then open the dashboard.
  4. Check quantities against Shopify before making a purchasing decision. Order history is now derived from an order ledger so replaying the same orders does not add their sales twice.

Open Migration to import CSV or XLSX files. A bookmarked Data Migration page opens this workflow. Follow the import steps below and keep your original export as a backup.

Dashboard, Products and Inventory

The dashboard summarizes inventory health, alerts and planning estimates. Accuracy shows the latest measured store score: 100 minus volume-weighted WAPE, floored at zero. It appears only when a measured score exists; 0% and scores below 1% keep their percentage units.

Use Products to see tracked items and pin products you want included. Plans limit the tracked set; products outside it may not receive forecasts or alerts. Pinned products remain tracked even above the plan count; the app shows an over-cap warning.

Use Inventory to review stock, days of stock, sales velocity, stockout risk and ABC/XYZ classes. Filter to narrow the list. The plain-English search bar turns supported questions into filters and falls back to keyword matching when AI is unavailable.

Use Export to download CSV or Excel. The sales-date range controls units-sold figures; optional columns include pricing, collections and product type. Migration can read an Inventory Report XLSX as an unchanged identity check; it ignores stock and other calculated report values. Use Migration’s own exports for editable catalogue data. StockIQ sync reads inventory from Shopify. Stock corrections and transfers submitted through the inventory API also write to Shopify; the Inventory screen remains a review and export screen. Reorder settings do not change Shopify stock.

Import data with Migration

Migration is available on every plan. Choose Products and variants, Suppliers, Product supplier costs or Purchase orders, then upload CSV or XLSX. Files can contain up to 5 MiB and 5,000 data rows; use the first worksheet and replace formulas with values. Each cell can contain up to 4,000 characters, with at most 80 columns. Download a template for the selected type to see the supported fields.

Import products and suppliers before costs or PO lines. Products match an existing SKU, or a canonical Shopify handle and variant title. Suppliers match email or name. StockIQ exports also carry stable product_id and supplier_id columns for existing records in your shop, including products without SKU or handle. Keep these columns when re-importing. Supplier costs match the product/supplier pair. PO exports also include po_id and po_line_id: keep these to distinguish repeated lines for the same product, including different quantities and prices. Older files without line IDs can use PO number and product only when the PO has one matching line. IDs must belong to the same shop, PO and product; they cannot create a missing line. Rows that overlap through different keys are all reported as errors; correct them to one row per entity. When an identity is ambiguous, the row is an error rather than a guessed match. New products are local StockIQ catalogue records; importing does not create Shopify products.

  1. Map fields. StockIQ suggests matches for StockIQ, Stocky export and Inventory Planner headers. Choose a preset or change each column’s target field. Blank cells and ignored or omitted columns keep existing values; only explicit values change. An existing supplier can update by email without its name, and an existing PO line can omit its supplier.
  2. Save a preset with a name to reuse your mappings on later files. Up to 50 presets are saved for your shop; presets store column mappings, not uploaded rows.
  3. Preview changes. Review each row’s create, update, unchanged or error result, including changed field values. Filter or page through the diff. Preview does not change catalogue records.
  4. Apply valid rows. Create/update rows apply together; unchanged and error rows are skipped. Download Errors CSV to correct invalid rows. If data changes after preview, preview again. Retrying the same completed apply does not import twice.

Migration’s Export CSV and Export XLSX downloads use the importer’s columns. Re-importing an unedited export reports unchanged rows, including legacy products without SKU or handle and their linked supplier costs and repeated-product PO lines. Large exports download in bounded parts: use Download next export part until no part remains, then upload each file separately. Avoid editing records while downloading the parts.

Legacy text that is too long for an upload cell is represented by a preservation reference beginning [[stockiq:keep:v1:. Leave it unchanged to keep the entire saved value; it is never stored as replacement notes or truncated. Other fields can still change. A stale reference or one moved to another record, field or shop is an error; export again. Edit oversized text in its original editor. References preserve existing values in the same shop; they do not copy the text into a new shop or serve as a standalone backup. The upload limits stay the same.

Inventory Report XLSX files are read-only identity checks; report quantities and sales figures are ignored, as are totals, summary sheets and repeated locations. An older report row without a resolvable SKU or handle needs a catalogue export with identity.

Importing never sends supplier email, receives a shipment or changes Shopify inventory. Imported open POs appear in Purchase Orders for review. Stocky Ordered maps to sent without sending another email. For a new partly received PO, map the historical quantity received and use Partial or partially_received status; this records receipt history without adjusting stock. Record further receipts on existing POs through Purchase Orders; changes to received or closed POs are rejected. PO lines absent from the file stay in the PO. Raw uploaded rows and the diff are retained in StockIQ’s migration job record for review.

Forecasting and planning

Open Forecasting and choose Generate Forecasts when you want a new run. The method uses your sales history, trend and weekly patterns; shorter histories use a simpler method. A forecast is an estimate, not a stock or revenue guarantee. Each run can produce additional rows for the same product.

Open a forecast to review its daily curve, range and available factor breakdown. Forecasts use your sales history and seasonal patterns. The forecasting method is selected automatically: mostly-zero sales histories use an intermittent-demand method, and recent days without sales count as zero through yesterday. Ranges use one-step model errors, including for short histories; with fewer than two completed days, the interval stays pending. These estimated ranges do not guarantee future coverage. The explanation describes the saved daily curve’s direction. The recent backtest score is 100 minus WAPE on a held-out week, floored at zero; it stays pending when there is insufficient history or no realised units in that week.

Forecast accuracy vs baseline compares StockIQ with the last four weeks’ average, frozen before the outcome was known. The table uses the latest scored horizon per product, with product/SKU search and pages. WAPE, MAPE and bias compare gross predicted units with gross sales from the synced order ledger; lower WAPE and MAPE mean smaller errors. Overall WAPE weights errors by realised units across the matching products. MAPE skips zero-sales days; WAPE still counts their forecast errors. WAPE and bias are undefined when realised units total zero, so the screen also shows absolute errors in units.

Scoring runs nightly after a complete forecast horizon and a sync checkpoint beyond its last day. New forecasts keep their baseline snapshot; older forecasts without it remain readable but unscored. If a ReturnsIQ adjustment shows net demand, accuracy compares the original gross prediction with gross orders rather than estimating realised returns. A backtest or measured score describes past error and does not guarantee future accuracy.

Safety Stock calculates mean demand and variability over 28 completed calendar days, including zero-sales days, then ranks buffer recommendations and shows estimated capital tied up or stockout exposure. Restock Recommendations uses demand, supplier lead times and receiving history to suggest replenishment. Review the quantities and supplier links before creating a draft. Different planning screens can produce different estimates.

Demand Sensing reviews recent demand snapshots and offers an Auto-Adjust action. Its dashboard currently requires Scale or Enterprise, even though Growth may show its navigation link. Scenarios, on Scale and Enterprise, lets you model assumptions such as promotions, supplier delays or demand spikes without placing an order.

Assortment Gaps can show unmet search demand when the related search app is connected and has data. Bundles lets you define component quantities and review a component-based forecast on Growth and above.

Suppliers and purchase orders

Create suppliers with contact information, lead time and order terms. Link products to the suppliers you use. Supplier detail pages show available performance and delivery history; the learned lead-time multiplier helps flag suppliers that arrive late.

On Purchase Orders, create a draft manually or choose AI Generate PO to draft suggestions. Check products, supplier, quantities, costs, currency and destination before sending.

Send to Supplier queues a store-branded email with the PO line items and your contact email as Reply-To when one is available. The PO remains draft while queued and becomes sent when the email provider accepts it. Provider acceptance does not confirm that the supplier received or read it. The PO page keeps the email status and any failure visible after reload. Its acceptance message names the address used for that email, even if you later edit the supplier contact. Queued supplier documents cannot be edited, cancelled or deleted, including through the public API. Supplier totals and line prices include their currency code. Agent emails use the shop currency of the product costs at send time, including drafts saved before the upgrade. Explicit manual PO currencies remain unchanged. Before sending, StockIQ checks the current PO and supplier contact; a changed document or contact must be reviewed and retried. Add a missing supplier address in Suppliers → Edit, or correct the displayed error and retry. If delivery is unknown, check the provider record before sending again. Emails awaiting review from an older version appear in Email logs and the PO email state after the upgrade reconciliation; they are not automatically resent.

When a shipment arrives, open the PO and choose Receive Items. Choose the destination location and enter quantities for this shipment. Confirming receipt updates Shopify and then StockIQ; a Shopify failure leaves StockIQ quantities unchanged and shows the error. Do not enter the same receipt again after a timeout: retry the original receipt so its saved identity prevents duplicate stock. Distinct deliveries use distinct receipt identities. A definite validation refusal unlocks the form so you can correct the destination or quantities. A timeout keeps the original inputs for a safe retry. Locations must be active and synced. Deliveries and inbound transfers can reduce an existing negative stock balance, and product totals include negative location balances. Editing, cancelling or deleting a PO waits until its pending receipt is resolved. External inventory updates received while the receipt is pending are retained and reconciled when the receipt completes. Conflicting updates in the same Shopify second, including delayed updates after completion, are checked against the current Shopify location quantity. Failed checks retry automatically; another stock write waits until the location is reconciled. StockIQ still records ordered, received and damaged quantities and updates the PO status. If a write remains unconfirmed, other stock changes pause until it is resolved; after 23 hours, support must reconcile it with Shopify before retrying.

AI Copilot and Agent

AI Copilot answers supported inventory questions using your store data and monthly allowance. Check its context and recommendations before acting. Paid AI prose uses existing fallback behavior when the provider is not configured, a monthly store/app spending ceiling is reached, or the usage meter is unavailable. Statistical forecasts continue without an LLM call. Use Settings → AI preferences and usage to configure forecasting, anomaly detection and anomaly sensitivity, and review usage.

The AI-Assisted Agent appears in Enterprise navigation. It records suggestions and, at higher autonomy levels, drafts POs inside configured limits. Approval and automatic execution queue the same supplier email as Send to Supplier. Actions stay queued until the provider accepts the email, then show executed. Failures and missing supplier addresses appear in the action history; open the linked PO to review the email state and retry a safe failure. Once that retry is accepted, the associated action shows executed. Other proposed actions still need manual follow-up.

Level 1 records suggestions; level 2 can draft for review; levels 3 and 4 can queue supplier POs within guardrails. Review the action log, pending drafts and spending settings. Changing a recommendation into an action is your decision; do not rely on this screen for unattended supplier ordering.

Alerts, recovery and analytics

Alerts lists stock, demand and supplier events. Mark them read or dismiss them after review. Pre-order requests and capture signups also appear as alert records.

Dead Stock, from Starter upward, identifies slow-moving stock and offers recovery ideas. A suggestion alone does not create a discount. Connected auction or listing tools may handle a separate reviewed liquidation workflow.

Promotions, from Growth upward, records forecast hints. Create actual customer discounts in Shopify separately.

Analytics summarizes recorded revenue, orders and inventory health for your chosen window. Revenue Impact estimates stockout losses and carrying costs; its dashboard currently requires Scale or Enterprise despite Starter plan copy in older versions. Accuracy charts appear only when measured scores exist.

Channels, on Scale and Enterprise, records allocation and offers revenue-weighted allocation suggestions. It does not connect and write stock into Amazon, TikTok or Walmart automatically.

Custom dashboard layouts are early access, hidden from normal navigation, and have incomplete widget data sources. The sustainability view is also hidden and requires separately supplied carbon records; it does not automatically produce an ESG result.

Storefront widgets

In Shopify's theme editor, add Stock Status or Demand Capture to a product template. Enable the StockIQ app embed for automatic product-card badges. Preview the actual product and collection pages before publishing theme changes.

Stock Status shows a qualitative stock state and, when you allow it, an exact quantity. The setting to hide stock numbers changes those labels; it does not disable the block. Optional availability chat depends on a connected support app.

Demand Capture chooses a form according to the selected variant and your block settings:

  • Out of stock, pre-orders enabled: collects a pre-order request with quantity and contact information. This does not take payment, create a Shopify order, reserve stock or send automatic shipping updates. Arrange fulfilment with the customer separately.
  • Out of stock, back-in-stock enabled: guests can enter an email without creating an account. Open the store-branded confirmation email and select Confirm stock alert within 24 hours. The link activates the subscription once; repeat clicks are safe. The request only counts as an alert after confirmation. Logged-in shoppers can subscribe directly.
  • In stock, price alerts enabled: offers a price-drop subscription according to your block settings. This also asks shoppers to log in.

Guest confirmation and confirmed guest stock emails use the platform notification provider (SES when configured), the store name, and the existing notification allowance. Requests are limited by shop, product, email and IP to reduce abuse. Pending requests are excluded from alert counts and marketing audiences. Every back-in-stock email includes an unsubscribe link; unsubscribing also blocks future back-in-stock mail sent through a connected merchant provider. In Settings → Email Notifications, Back-in-stock consent confirmation is enabled by default. This transactional consent email has its own toggle: disabling it stops new guest confirmation emails; existing confirmed alerts follow the separate Back-in-stock notifications setting. Repeated requests share one pending confirmation. After that alert completes, shoppers can sign up again. Uninstalling invalidates outstanding links, including after reinstall. If a link expires, sign up again. Signup has no additional plan gate.

Back-in-stock and price-drop checks run periodically, roughly every 15 minutes when the worker is healthy. Delivery also depends on stock, enabled notification rules, provider availability and the plan’s email allowance; there is no instant-delivery promise.

To stop badges, disable the app embed. To stop a product form or stock block, remove that block or disable its modes in the theme editor. Turning off automatic card placement does not disable separate product blocks. Previously saved custom theme messages can remain after an app update; revise any text promising reservations or automatic shipping.

Email, campaigns and connections

Notifications configures rules; Settings → Email Notifications controls built-in email types, recipients and cadence. The low-stock digest and weekly executive summary require Scale or Enterprise. Weekly summaries include available measured forecast accuracy as a percentage and its change in percentage points.

Email Templates lets you edit subjects and bodies, reset defaults or request an AI draft within your allowance. Preview and test a template before relying on it.

Connect your own SendGrid or Klaviyo account for marketing campaigns. Free, Starter and Growth can connect one provider; Scale and Enterprise can connect two. Campaigns require subscribed customers and respect recorded marketing consent and opt-outs. AI-generated campaign copy is a draft for review.

Connections controls optional sharing with other Kernvel apps, including settled return-rate adjustments, search-demand gaps, liquidation requests, restock events and availability chat. A connection needs both configuration and a working provider. Accounting, Slack/Teams and fulfilment-provider connectors shown as coming soon are not live integrations.

Plans and billing

Prices below are USD and reflect the current seeded plans. Shopify displays the actual charge for your selected billing cycle before approval.

Allowance Free Starter Growth Scale Enterprise
Monthly price $0 $14.99 $39 $99 $299
Annual price $0 $149.90 $390 $990 $2,990
Tracked products 50 500 2,000 10,000 50,000
Locations 1 2 5 15 25
Forecasts/month 10 50 200 500 5,000
AI queries/month 5 25 100 500 5,000
Purchase orders 5 25 100 500 5,000
Suppliers 3 10 30 100 500
Team members 1 2 5 15 50
Campaigns/month 0 4 20 100 500
Transactional emails/month 100 1,000 10,000 100,000 500,000
AI email drafts/month 0 10 50 200 1,000

The agent's normal navigation requires Enterprise. Anomaly detection, promotion modeling and bundle forecasting start at Growth. The current demand-sensing and revenue-impact dashboards require Scale. No tier is unlimited. A quota describes a ceiling. See the workflow guidance above before planning an import or arranging supplier delivery.

Use Billing to select a plan/cycle and follow Shopify's approval screen. Read the confirmation before accepting. You can cancel from Billing. If a payment issue shows a grace-period banner, follow the billing instructions; do not uninstall to repair sync totals.

API Keys supports test keys on Free, live read access on Starter, and permitted write scopes/webhooks from Growth. Treat keys as passwords and revoke unused keys. See the separate API reference for endpoint details.

Help and troubleshooting

  • Import row errors: download the errors CSV, correct the original fields and upload again. If data changed after preview, run Preview changes again before applying.
  • A receipt failed: read the Shopify error on the PO, check the location and synced quantity, and retry the original receipt after resolving the error. Ask support to reconcile an unconfirmed write older than 23 hours.
  • Agent supplier email failed: open the linked PO and follow its error. Queued is awaiting provider acceptance; unknown delivery needs review before another send.
  • Accuracy and signal cards stay hidden when they have no data; no extra configuration is needed to dismiss them.
  • Forecast looks wrong: check tracked products, sales history, variant stock and supplier links. Avoid repeating onboarding as a repair.
  • Reconnect banner: reopen StockIQ from Shopify admin and follow the connection instructions. Contact support if it persists.

Use the StockIQ user guide link in page help banners or email support@kernvellabs.com. Include your store URL, screen name and relevant screenshot. Never send access tokens or API keys. Growth Services lets you request help with a broader store project.