Setup checklist

Most workspaces are live in under an hour. The order matters: connect Cin7 first, then Shopify, then configure suppliers.

  1. Create your stocura workspace and invite your team.
  2. Connect Cin7 Core (you’ll need an admin account in Cin7).
  3. Connect Shopify (admin account in Shopify Admin).
  4. Wait ~20 minutes for the initial sync to finish — we’ll email you when the queue is ready.
  5. Review supplier lead times in Settings → Suppliers. We populate them from Cin7 but the field is sometimes empty.
  6. Configure your daily digest channel and time.
Nothing pushes during setup. Read-only mode is on by default. You explicitly toggle “write to Cin7” and “write to Shopify” when you’re ready, per integration.

Connecting Cin7 Core

From Settings → Integrations → Cin7 Core, click Connect. We use Cin7’s OAuth flow — you’ll be redirected, asked to approve, and bounced back. The required scopes are catalog read, stock read, supplier read, and PO write.

# If you’re using a custom Cin7 plan and need static API keys instead # of OAuth, send your account ID to support@stocura.com and we'll # enable the legacy connector.

Connecting Shopify

Install stocura from the Shopify App Store, or use the direct install link your account manager will send. The app requires read_products, read_orders, write_products (for price push), and read_inventory.

Once installed, point each Shopify location at its Cin7 Core warehouse equivalent in Settings → Locations. We try to auto-match by name; you can override.

Days of cover

For each SKU at each location:

cover_days = stock_on_hand / forecast_daily_run_rate

Where forecast_daily_run_rate blends a 28-day moving average with the current month’s seasonal multiplier. SKUs are ranked in the Reorder Queue by ascending cover; ties broken by absolute revenue contribution.

How forecasts work

We fit a multiplicative seasonal-naïve model per SKU using up to 24 months of history. Where history is short (under 6 weeks) we fall back to category-level seasonality. Promotions you’ve tagged are excluded from the baseline before fitting.

Forecasts are retrained weekly. You can see the model’s historical accuracy (MAPE) on each SKU detail page.

Landed cost model

ComponentSourceEditable?
Unit costCin7 Core product costNo (sync)
Inbound freightAllocated from container POsPer category
Raw material yieldPer-SKU overrideYes
LabourPer-category overrideYes

Margin = (sell_price − landed_cost) / sell_price. We use Shopify variant price where available; Cin7 retail price otherwise.

API quick-start

Generate a workspace API key from Settings → Developer. All requests use bearer auth.

# List the current reorder queue curl https://api.stocura.com/v1/reorder-queue \ -H "Authorization: Bearer $STOCURA_KEY"

Endpoints are documented at api.stocura.com/docs with an OpenAPI spec.

Webhooks

Subscribe to reorder.suggested, stockout.imminent, and price.changed events. Payloads are signed with HMAC-SHA256 using a secret you configure per endpoint.