Documentation

Getting started

1. Install and run your first scan

After installing Origova from the Shopify App Store, open the app from your Shopify admin. On the Scan & fix tab, click Run scan.

A scan reads your active product catalog, syncs current data from Shopify, and checks every product and variant against its compliance rules. Time scales with catalog size: most stores finish in under a minute, while catalogs with thousands of products take several minutes. The scan keeps running in the background even if you leave the page — results appear the moment it completes.

Large catalogs On stores with thousands of products, the app tells you up front that the scan will take a few minutes, and if a very large scan outlasts its usual progress window you'll see an amber still running in the background notice — that's informational, not an error. Origova blocks overlapping scans so counts stay accurate; there's never a reason to click Run scan twice.

2. Understand what got flagged

Once a scan finishes, the Issues to fix panel groups every problem by type. Click an issue type to see the specific products and variants it affects.

Missing country of originVariant

No country of origin set on the variant

Missing HS codeVariant

No HS code set on the variant

Invalid HS code formatVariant

HS code set, but not 6–10 digits

Missing product weightVariant

No weight set on the variant, or the weight is zero or negative

Missing materialProduct

No material set — applies to every variant of the product

Missing product descriptionProduct

No description set — checked on every product, including non-physical ones

IssueLevelWhat triggers it
Missing country of originVariantNo country of origin set on the variant
Missing HS codeVariantNo HS code set on the variant
Invalid HS code formatVariantHS code set, but not 6–10 digits
Missing product weightVariantNo weight set on the variant, or the weight is zero or negative
Missing materialProductNo material set — applies to every variant of the product
Missing product descriptionProductNo description set — checked on every product, including non-physical ones

3. Apply a fix

Select an issue type, enter the correct value, and choose which affected items to apply it to. Two ways to apply:

Some fields give you the right control for the job. Country of origin is always a searchable list of ISO country codes, never a free-text box, so a typo can't reach Shopify. Weight pairs a number with a unit selector — kg, lb, oz, or g.

Click Apply fix. Origova writes the new value directly to the product or variant in Shopify — not just inside the app — so the correction is real and permanent until changed again.

Your plan sets a fixing ceiling, not a scanning one. Every plan scans the whole catalog and shows every issue; what a plan governs is how many distinct products you may fix — 30 on Free (a one-time allowance), 1,000 each billing cycle on Starter, and no cap at all on Unlimited. If a batch would take you past your ceiling, Origova stops it before writing anything to Shopify and tells you how many products you have fixed, how many this batch would add, and which plan covers the rest. Nothing is applied halfway. See pricing for the full comparison.

Large batches run as one bulk job. Origova writes fixes through Shopify's Bulk Operations API — the whole batch is handed to Shopify as a single server-side job rather than sent one product at a time, so even a few thousand items typically apply in a few minutes. (Very small batches — a dozen items or fewer — skip the bulk job and write directly instead, because spinning one up costs more than it saves at that size.) The job keeps running in the background even if you leave the page: when it completes, the fixed items move to Issues fixed together, and anything that genuinely couldn't be written stays open in Scan & fix. If a very large batch outlasts the app's usual progress window, you'll see an amber still working notice rather than an error — give it a few minutes and refresh instead of clicking Apply again.

Quality checks A value has to clear a basic quality bar before it can be applied — titles need at least three meaningful words, HS codes need 6–10 digits, weights must be greater than zero. This prevents a fix from being accepted only to get flagged again on the very next scan.

4. Non-physical products and ignoring items

Some products — gift cards, digital downloads, services — will never have a real HS code, country of origin, or weight. Origova excludes these automatically: it detects non-physical products from Shopify's "requires shipping" flag and leaves them out of the four customs rules (HS code, country of origin, weight, material), so they never appear in your issue list under those.

One rule is deliberately not skipped. Missing product description is checked on every product, physical or not, because a description is catalog hygiene rather than a customs field — so a gift card with an empty description can still show up there. Ignore it if you would rather it didn't.

For the case where you want to exclude a physical product from a rule on purpose, tick those rows and use Ignore selected — the ⊗ button in the dark selection bar that appears once rows are selected. Ignoring changes nothing in Shopify; it only tells Origova to stop raising that rule for those items.

Ignored items stay excluded from every future scan until you put them back. They are listed under the matching issue on the Issues fixed tab, as a muted section separate from the items you actually fixed, and Restore returns them to Scan & fix. Note that an ignore is permanent until you lift it: if you later fill the value in directly in Shopify, the item stays on the ignored list rather than moving itself into your fix history, so restore it if you want it counted.

5. Review fix history

The Issues fixed tab lists every applied batch, grouped by issue type — for example, Missing HS Code · 5 items fixed, with the date it was last updated. Expand a batch to see each item and the value that was written to it.

Every fix is reversible. Undo batch reverts all the items in that batch to their previous values in Shopify and reopens the findings they resolved; or use Undo item(s) to revert just the ones you select. Reverted does not always mean reopened, and Origova reports the difference rather than glossing it: an item that reverts to an earlier value which still passes the rule stays resolved, so a confirmation may read "Reverted 2,003 items — 1,500 reopened in Scan & fix; 503 reverted to earlier values that already pass this check." Because Origova merges repeated fixes for the same issue into a single batch, you always have one clean, current record per issue type rather than a pile of overlapping ones.

Fix history is an audit trail, not a live mirror

Each history entry records what Origova set, and when, and is deliberately never rewritten. This matters for customs paperwork: an audit trail that quietly updates itself can't tell you what was declared on the day a shipment left. The list is a roster of what has been fixed, and the only verb on it is undo — there are no inline edits and no previous → new diffs to interpret. The one field that shows its current value rather than its historical one is weight, which reads the live synced number and unit so it can never contradict Shopify.

If a value is changed in Shopify after the fix, the next scan is what resolves it, in one of two directions:

If a product is deleted in Shopify, its catalog entry is deactivated rather than erased, so the fix history that references it survives.

6. Export for a broker or your own records

On the Export tab, click Run export to download a CSV of your full active catalog. It is one row per active variant, not per product — a product with five variants contributes five rows, each carrying its own parent product id — with the columns id, title, sku, countryOfOrigin, hsCode, weight, weightUnit, material, description, productCategory, parentProductId, and isActive. If any issues are still open, Origova asks you to confirm before exporting incomplete data.

Alongside the full catalog, Origova produces a per-issue CSV for each issue type you have already applied a fix to — just the items that were missing an HS code, say — so you can hand a broker exactly the slice they need. Those files list id, title, sku, field, and currentValue, with weights written as 10 lb so the unit travels with the number. Because they are built from your applied fix batches, a store that has never applied a fix gets the full catalog file only.

Exports are clean and broker-ready: descriptions come out as plain text with the HTML stripped, and weights use the unit you work in rather than a converted one. Each export is saved to the export history list, where you can re-download or delete it later. If a file would be byte-for-byte identical to the last one you downloaded in that category, Origova skips it and says there is nothing new instead of handing you a duplicate — so a Run export straight after another one can legitimately download nothing.

7. How Origova stays in sync with Shopify

Origova keeps its own copy of your catalog so it can compare, group, and export compliance data quickly. That copy is kept current in two ways.

Automatically, as you edit Shopify

When a product, variant, or its customs data changes in your Shopify admin, Shopify notifies Origova and the affected items are refreshed within seconds. No action needed. If a hand edit completes an open issue — say you type the missing HS code straight into Shopify — Origova clears the issue and records it under Issues fixed on its own. The exception is a large bulk import (a product CSV or a migration app), when Shopify sends thousands of change notifications in a short burst. If every product in that burst is new to Origova — the usual shape of an import or a migration — the app defers the whole thing to your next full scan rather than reconciling it a row at a time, so wait for Shopify's import-complete email and then run a scan. A re-import that only updates products Origova already knows about is handled notification by notification instead; nothing is lost, it just takes longer to settle. Origova also stands down for the duration of any scan or bulk fix that is already running, so background syncing can never race one. Automatic syncing covers:

New products appear in the catalog automatically. Deleted products are marked inactive and drop out of scans and exports, while any fix history that mentions them is preserved.

Completely, when you run a scan

A scan re-reads your entire active catalog from Shopify and re-evaluates every rule. It is the reconciliation step: if anything was ever missed, a scan catches it. Run one whenever you want a guaranteed-current picture — before an export, after a bulk import, or after a long stretch of manual editing.

Origova only writes when you tell it to Automatic syncing is read-only. Origova writes to Shopify in exactly two situations: when you click Apply fix, and when you click Undo. It never changes your catalog on its own.

8. Weights and units

Enter a weight in whatever unit you actually use — kg, lb, oz, or g. Origova writes that value to Shopify in the unit you chose, and shows it back to you in that same unit everywhere: in the fix preview, in fix history, and in Shopify's own admin.

Internally, weights are stored in kilograms so that rules and comparisons work consistently across a catalog where different products were entered in different units. That conversion is invisible: if you type 50 lb, you will see 50 lb, not its kilogram equivalent.

9. Permissions Origova requests

Shopify asks you to approve a specific set of permissions when you install or update the app. Here is every one, and why it exists.

What Origova never touches Inventory permissions in Shopify are broad, but within inventory Origova touches only the three customs fields. It does not read or change stock quantities, inventory levels, transfers, or shipments — and it never accesses customers, orders, or payment data. What it writes outside inventory is limited to the product fields it fixes: the custom.material metafield, and a title or description when you correct one. Location records are synced because Shopify requires them to resolve inventory items; Origova never reads, displays, or exports them, and never asks for write access to locations.

If you installed Origova before inventory permissions were introduced, Shopify will ask you to approve the updated set the next time you open the app. Until you approve, the app cannot read or correct customs fields.

Rescanning

Run a new scan any time you want a full reconciliation — after a bulk import, before handing an export to a broker, or whenever you simply want certainty. Each scan re-reads current Shopify data, so it always reflects what's actually live in your store.

Related reading: what an HS code actually is, bulk-editing HS codes in Shopify, setting country of origin in Shopify, and what the end of de minimis means for your store. Still stuck? The support and FAQ page covers the questions merchants ask most.

Last reviewed 26 July 2026.