Documentation · Deliver

Sync Engine

The module that publishes products to Shopify from the EAN, keeps price and inventory up to date on every re-sync, applies SKU and tags — and stops for review whenever you want.

Last updated: September 2, 2026

Sync Engine is the third stage of the pipeline (Collect → Enrich → Deliver). Once products have been collected and enriched, it creates or updates each one in your Shopify store and runs a post-processing pass for SKU, tags, and price.

What Sync Engine does

For each product, it:

  1. Looks in the store for a product whose variant barcode matches the EAN.
  2. Updates it if found; creates it if not.
  3. Takes a pre-action snapshot of the catalog (with the Backup add-on active) before writing.
  4. Records which products were touched, for the job's revert button.
  5. Triggers post-processing: SKU → tags → price.

Writes are limited to ~2 per second to respect Shopify's rate limit.

The module

Activation Sync Engine is included in the Flex, Advantage, and Enterprise plans, or can be subscribed to separately under Billing → Modules. Without it, the job collects and enriches but stops before publishing, with a message showing how to activate it.

Connect your store

Under Stores → Connect a new store, enter your .myshopify.com domain and complete the OAuth authorization on Shopify. When you return:

Your plan defines how many stores you can connect: Trial 1 · Flex/Advantage 5 · Enterprise no practical limit.

Inventory sync requires reconnecting Inventory sync uses a new Shopify permission (write_inventory). Stores connected before this update need to reconnect once to grant it — new stores already come with it.

How products are published

The EAN is the key: it's what Trinis uses to decide between creating and updating, and it's what prevents duplicate products across re-syncs. Products without a valid EAN never make it to this stage (they're discarded in Collect).

Shopify fieldWhat it receives
TitleThe name collected from the supplier.
Description (body)The description rewritten by Enrich (or the original, if AI Enricher isn't active).
Supplier / vendorThe Brand name configured for the supplier.
Statusactive.
BarcodeThe EAN.
InventoryThe supplier's quantity, when their platform exposes it (see below). Managed by Shopify.
Images (creation only)Up to 5: images processed by Image AI when the module is active; otherwise, the original images collected from the supplier.

Keeping your store up to date

When Sync Engine finds a product that already exists (same EAN), it updates it — without duplicating. What changes and what doesn't change on a re-sync:

FieldCreationRe-sync
Title, description, supplier✓✓
Price and "compare-at" price✓✓ (recalculated — see Pricing rules)
Inventory✓✓ — only for VTEX, Nuvemshop, and WooCommerce (API) suppliers
Images and manual curation✓✗ — preserved

Suppliers on other platforms (public Shopify sites, sites read by AI) and products coming from Import don't carry an inventory quantity — for these, the field stays as it is in the store.

Not real-time The update happens when a job runs — manually or through the per-supplier schedule (the scheduler checks every 5 minutes). There's no real-time channel from the supplier to Trinis.

Pricing rules

Price goes through two stages:

At publishing

In post-processing (pricing step)

The pricing step recalculates from the inventory cost registered in Shopify (the variant's cost per item field):

Note If you want the "was/now" discount applied, register the cost per item for the variants in Shopify. Without it, the product keeps collected cost × multiplier, with no discount. Once approved, a price isn't re-rolled on later runs.

SKU and tags

These run automatically after publishing.

SKU

Generates an SKU for every variant that doesn't already have one — it never overwrites. The SKU comes from the title: Tramontina 5-Piece Knife Set → TRA-5-PIE-KNI-SET (first 3 letters of each word, whole numbers kept as-is).

Tags

Generates SEO tags from the words and word pairs in the title, the supplier, and the product type (plus seed keywords, when available). They're normalized to Title Case and capped at 50 per product.

Approval before publishing

Under Settings → Schedule, the "Approval before applying" toggle holds back every write to Shopify. With it on:

Requires a team Whoever started the action can't approve it themselves — approval has to come from another team member. In practice, this requires an account with at least 2 users (the Flex and Advantage plans, which unlock teams). On a single-user account, a job under review stays stuck.

Scheduling and reverting

Scheduled publishing

Each supplier can have a Sync schedule (a cron expression). The scheduler checks every 5 minutes and triggers the full pipeline — collection, enrichment, and publishing. If a scheduled run hits the plan's product limit, that supplier's sync is paused and resumes once you have quota again. Cron details are in Configuring Collect.

Reverting

Every job records the products it changed and takes a snapshot before writing. The job page has a revert button that undoes only the products from that job. History and point-in-time restore depend on the Backup add-on.

Next steps

Need help?

Products not showing up in your store, or price came out different than expected? Talk to us.

Contact support