Documentation

Everything below describes the app as it ships. If something here does not match what you see, tell us — the docs are wrong, not you.

Getting started

Install InventoryIQ from the Shopify App Store. You will be asked to approve the permissions it needs to read your products and inventory and to create discounts on your behalf.

What happens automatically

  • Your products and variants are synced from Shopify in the background. Large catalogues take a few minutes.
  • A 30-day expiry digest rule is created and enabled for you, so you start receiving a useful summary immediately instead of silence. Upgrading to Pro does not add rules automatically — it unlocks creating additional rules yourself from the Alerts page, with custom recipients and daily cadence.

Add your first batch

Open Batches → Add batch, pick the product variant, and enter the batch number, quantity and expiry date. The manufacturing date is optional. That is the minimum InventoryIQ needs to start tracking risk and recommending flash sales.

Batches

A batch is a quantity of one product variant that shares an expiry date. One variant can have many batches with different dates.

Fields

Batch number, product variant, quantity, expiry date, and optionally a unit price and manufacturing date. Batch number is unique per variant within your shop, so importing the same batch number for the same variant twice is treated as a duplicate rather than creating a second row.

Statuses

  • Active — expiry is far enough out that no action is needed.
  • Expiring soon — inside your alert window; this is where flash sales are worth considering.
  • Expired — past the expiry date and no longer sellable.
  • Depleted — the quantity reached zero through sales or adjustment.

Statuses update automatically every hour. You do not set them by hand.

How stock depletes (FEFO)

When an order comes in, InventoryIQ decrements the batch expiring first — First Expired, First Out. Cancelling an order returns the quantity to stock, added back to the batch expiring soonest for that product at the time — not necessarily the batch the order was originally filled from. This happens through Shopify webhooks, so it reflects real orders rather than an estimate.

CSV import & export

Batches → Import accepts a CSV. Download the template first — the column names must match. Rows are validated before anything is written, and you get a row-by-row error report for anything rejected, so a single bad date does not fail the whole file. Large files are processed in the background.

If a batch number already exists for that variant, the row is skipped and reported as a duplicate by default. Turn on "Update existing batches on duplicate" before uploading to overwrite existing batches instead.

Bulk actions

Select multiple batches to change status, extend expiry by a number of days, or delete them together.

Expiry alerts

InventoryIQ does not email you once per expiring batch. It aggregates everything expiring inside a rule's window into one digest, so a hundred at-risk batches produce one email, not a hundred.

How often digests arrive

  • On Free, one digest per week, sent to your store owner email address and recorded in the app.
  • On Pro, digests are daily, and you can run several rules at once — for example a 30-day planning digest and a 3-day urgent one.

When digests are sent

Send times are evaluated in your store's own timezone, taken from your Shopify settings. If you set a digest for 09:00 and your store is set to Europe/Paris, it arrives at 09:00 Paris time regardless of where our servers are.

You choose the day of the week and the hour. On Pro you can also set quiet hours, and digests that would land inside them are held until the window closes.

Who receives them

On Free, the digest goes to your store owner email address. There is nothing to configure.

On Pro, each rule has its own recipients list. Be aware of one consequence: a Pro rule with an empty recipients list emails nobody. It does not fall back to the store owner. The digest is still recorded in the app where you can read it, but no email is sent — so if you expected mail and got none, check the recipients field first.

Changing the wording

Both plans can edit a digest's subject line and introductory text, turn it on or off, and set its send day and hour. On Free you edit exactly one digest rule — the active one. Pro unlocks creating additional rules, deleting them, and the preset template library.

Flash sales

A flash sale is a real Shopify automatic discount scoped to the products in an expiring batch. It is created through the Shopify Admin API, so it behaves at checkout exactly like a discount you created in Shopify yourself.

Creating one

From a batch, choose Create flash sale. InventoryIQ suggests a discount based on how close the expiry date is, which you can override. Set when it starts and ends, review, and schedule it.

The escalating ladder

The recommended discount deepens as the expiry date approaches. The shipped defaults are:

  • 30 days to expiry → 10% off
  • 14 days to expiry → 20% off
  • 7 days to expiry → 35% off
  • 3 days to expiry → 50% off

Change any of these in Settings → Flash sale discounts. A single batch can also run a tiered campaign, which schedules the whole ladder in advance as a series of sub-campaigns that hand over to each other.

How a campaign ends

A campaign ends at its end date, or earlier if the batch sells out. Either way InventoryIQ removes the Shopify discount, so no expired promotion is left active on your store.

Recovered revenue

While a campaign runs, paid orders containing its products accrue to that campaign's recovered revenue. That figure feeds your Revenue Recovery Score and the recovery report.

Storefront badge

An optional countdown badge that shows shoppers a flash sale is ending. It is an Online Store 2.0 app block, which means you add it yourself in the theme editor and remove it the same way. No theme files are edited and no scripts are injected.

Adding it

  1. In Shopify admin go to Online Store → Themes → Customize.
  2. Open a product template and choose Add block → Apps → InventoryIQ expiry badge.
  3. Drag it where you want it, set the text and colours in the block settings, and save.

The badge only appears on products with an active flash sale. On everything else it renders nothing, so it is safe to leave in place permanently.

Automation rules

A rule is an IF/THEN pair that runs hourly so you are not watching the calendar yourself.

Triggers

Days to expiry reaching a threshold, inventory level dropping below a number, a batch changing status, or manual execution.

Actions

Create a flash sale, send an alert, archive the batch, apply a discount, hide the product, or call a webhook.

Rules run in priority order and each rule executes at most once per matching batch, so a rule cannot fire twice for the same situation.

Revenue Recovery Score

A single number from 0 to 100 summarising how well you are recovering value from at-risk stock. It is recalculated once a day.

What raises it

Recovering revenue from stock that was heading for expiry; keeping the share of inventory expiring in the next 30 days low; selling through at a healthy pace; and letting automation rules do the work.

What lowers it

Inventory expiring unsold, and a growing proportion of your catalogue value drifting into the expiry window.

The score is a trend indicator, not an accounting figure. A new shop with little history will see it move sharply until there is enough data behind it.

Reports & recall

Risk snapshots

A snapshot of your inventory risk is stored daily — total value, value expiring in 30 and 7 days, expired value and recovered value — so the dashboard shows a trend rather than a single moment.

Recall lookup

Enter a batch number and InventoryIQ returns every order that included stock from it, with the customer and shipping address. Export it as CSV for an FDA, EU or equivalent submission.

Customer details in recall results are encrypted at rest and only shown to you for batches belonging to your own shop.

Plans & billing

Two plans. Every feature is on both — the paid plan buys batch volume and alert control.

Free

Permanently free, not a trial. Track 1 batch, receive one weekly digest to your store owner email, and edit that digest's wording, on/off state and send schedule.

Pro — $5 per month

Unlimited batches, daily digests, multiple alert rules, custom recipients and quiet hours. Billed from day one — there is no free trial.

Upgrading

Settings → Upgrade to Pro. Shopify handles the charge approval and bills it alongside your existing Shopify invoice; there is no separate payment method to enter.

Downgrading

Settings → Downgrade to Free cancels the Shopify charge immediately. Batches you already created stay visible and editable — you simply cannot add new ones past the free limit until you upgrade again.

Troubleshooting

I am not receiving digest emails

Check three things in order: the rule is enabled; on Pro, the recipients list is not empty, because a rule with no recipients emails nobody; and the send hour has actually passed in your store's timezone today. The digest also appears in the app under Alerts whether or not the email went out, which tells you whether the problem is generation or delivery.

My products are not showing up

The initial sync runs in the background after install and takes a few minutes on large catalogues. If products are still missing afterwards, run a manual re-sync from the Products page ("Sync now"), or from the Dashboard if nothing has synced yet.

A flash sale discount is not applying at checkout

Automatic discounts do not combine with other automatic discounts unless you have configured combinations in Shopify. Check whether another automatic discount already applies to the same product.

The countdown badge is not visible

The badge renders only for products with a currently active flash sale. Confirm the campaign status is Active, not Scheduled, and that the block is added to the product template you are actually viewing.

I am told I have reached my batch limit

The Free plan tracks 1 batch. Existing batches remain fully editable — only creating new ones is blocked. Upgrade to Pro for unlimited batches.

Support

Email us and a human replies. Include your store domain and, if it is about a specific batch or campaign, its name or number — it makes the answer much faster.

hello@appfactoryhq.xyz