Help & documentation

Everything the app does, and why.

Short by design. Each section below is read off what the code actually does, not copied from a template — if a behaviour changes, this page changes with it.

Getting started — three steps

  1. Open Home and click "Import orders". It scores your last 60 days of orders through the same checks live orders get — up to 250, oldest first, so customer history builds in the right sequence. Tagging is off for the import by default.
  2. Open Settings and tune thresholds for your store — IP distance, duplicate window, units per order, how many names one phone may carry. Every threshold has a "How it works" popup with a worked example.
  3. Open Orders and check the Manual Review tab for anything that needs a human decision. Verified orders are the ones you shouldn't have to look at.
One approval Shopify needs first. Verifai reads names, phones, emails and addresses, which Shopify classes as protected customer data. The app shows a banner with the exact steps if the approval is missing; until it's granted, checks can't see the order and everything reports "skipped".

Verdicts — what the four words mean

A check that says "skipped" is not a failure

Skipped means the check could not run — there was no data to check, or a vendor isn't configured — not that it failed. A skipped check is never held against the order. Two reasons are shown: not configured (you can fix it in Settings) and no data (the order didn't carry that field).

The 12 checks

All twelve run in parallel inside Shopify's webhook. One check throwing an error becomes a Review for that order — it never silently passes, and it never takes the other eleven down with it.

Phone

Email

Address

Behaviour

The risk score

Alongside the verdict, every order gets a 0–100 score. Each check that fails contributes a fixed number of points from a named rule — Invalid phone +40, Duplicate order +30, Postal-code mismatch +25, Email typo +10, and so on. Only the single highest factor in each category counts, so one bad field can't be charged twice. The total is capped at 100.

Hover the score on any row to see the breakdown. Every calculation is written to an audit log with the old score, the new score, and why it changed.

Which decision wins? The verdict on the order comes from the checks themselves — any Rejected-level failure → Rejected; any failure → Review; else Verified. The score is the explanation and the ranking, shown alongside.

The queue

Home is the queue. Ten clickable stat cards filter it — Total, Verified, Rejected, Manual Review, Location mismatch, Invalid phone, Invalid email, Invalid address, Duplicates, Cancelled/RTO. An order can carry more than one issue, so the cards don't sum to the total.

Products

The Products screen answers a warehouse question: how many of each item can be packed today? Live catalogue with Confirmed / Review / Rejected / Not checked counts and a confirmation rate per product. "Not checked" is prepaid, shown in grey and never folded into Rejected.

Settings

Changes apply to all new orders instantly. Defaults, with what each one does:

Settings also shows what the app can actually see: whether the GeoLite2 database and postal dataset are present, whether a landmark has ever arrived on an order, which payment gateways it has classified as COD or prepaid, and which couriers you actually ship with.

Integrations

Four cards, each with a provider selector, key fields, a Test Connection button and a live status. Keys are encrypted at rest with AES-256-GCM and never shown back — the page only tells you whether one is saved. Leaving a field blank keeps the existing key.

Two datasets are self-hosted, not vendors: MaxMind GeoLite2 (free account, one download) for IP location, and the GeoNames postal file (free, imported once) for postal-code matching and delivery coordinates. Neither is bundled; both are free.

Every adapter follows three rules: never throw, never block (hard timeouts), and only a definite negative fails a check.

Outcomes & RTO

Shopify has no concept of a parcel coming back. Verifai records the outcome of every shipped order three ways, and the customer-history check reads it on the next order from that person:

RTO is the final word: a "delivered" scan followed by a return is recorded as a return.

Plans & billing

Four plans — Free, Starter ($9), Growth ($29), Plus ($79) — billed through Shopify, cancellable any time from the Plans page with unused time prorated. Paid plans start with 14 days free. The offline checks are free on every plan; paid plans add the live vendor lookups and CSV export.

Troubleshooting

Every order says "skipped"

Almost always the protected-customer-data approval. Home shows a banner with the exact Partner-dashboard steps when this is the cause.

The landmark check skips on every order

Your checkout isn't collecting one. Home shows a nudge with a link to Checkout settings when this has been true for the last 30 orders.

Import failed

The banner shows Shopify's actual reason rather than a bare error code. Most often it's the approval above; occasionally it's the 60-day read window — the Free and Starter scopes can't see orders older than that.

A verdict looks wrong

Hover the score for the per-rule breakdown. If a field is wrong, fix it in place and it re-scores. If the rule is too strict for your store, the threshold is in Settings with a worked example.

I turned off tags but old ones are still there

Turning tagging off strips the tags Verifai wrote on the next update to each order. It only ever removes its own eight; anything else on the order is yours.

Still stuck? Contact us with the store handle and order number.