Synchronisation

What RedERP imports from Shopify, how products, stock, categories and customers are matched, and when to use Synchronize or Full resync.

Overview

Synchronisation is one way: Shopify is the source, RedERP is the destination. The first import runs right after you connect; webhooks keep data live; Synchronize and Full resync are there when you want to be sure.

Go to Shopify → Synchronization or Shopify → Sync history.

What is imported

ShopifyRedERPWhere you see it
LocationsStock locationsData Management → Locations
Products, images, brand (vendor)Products with the Shopify badge, brand created if missingE-commerce → Products
Variants (size, colour, SKU, barcode, price)Product variantsE-commerce → Products → variants
Product type / collectionProduct categories ("Imported from Shopify")E-commerce → Categories
Inventory levels per locationStock levelsE-commerce → Products → Stock
Customers (name, email, phone, addresses, tags, note)Clients with the Shopify badgeE-commerce → Clients
Orders, line items, shipping, tax, discountsE-commerce orders SHP-#### + Sales documentsE-commerce → Orders, Sales
Payments (transactions, fees)Payments and ledger entriesSales → Payments, Accounting
Refunds, cancellations, fulfilmentsCredit note / reversal, status updatesE-commerce → Orders

How records are matched

  • Every imported record is linked to its Shopify id for that store. Running the import again updates the same record — it never creates a copy.
  • Customers are matched by Shopify id first. If a Shopify customer has the same email as an existing RedERP client, that client is linked, not overwritten: your name, phone and addresses stay as they are.
  • Categories and brands are matched by name (spaces and case ignored), so "Perfume" and "perfume" are one category.
  • Shopify data that has no RedERP field (tags, notes, metafields) is kept in the client's custom fields so nothing is lost.

Synchronize vs Full resync

ActionWhat it doesWhen to use it
SynchronizeImports what changed since the last successful sync (with a 10-minute overlap so nothing falls between two runs).Daily check, after a webhook error, after reconnecting.
Full resyncWalks through the whole store again and updates every record. Nothing is deleted in RedERP.After a long disconnection, after bulk edits in Shopify, or when counts look wrong.

Both buttons are disabled while a job is Running. Jobs are processed in the background; the page refreshes itself until the job ends.

Sync history

Shopify → Sync history lists every job:

Sync history

ColumnMeaning
TimeWhen the job finished (or was created if still queued).
TypeInitial import, Synchronize, or Webhook · topic (for example orders/paid).
StatusQueued, Running, ✓ Completed, ✗ Failed.
Products / Customers / OrdersRecords processed by that job (import jobs only).
ErrorThe exact reason a job failed.

A job is marked Completed only after every record was really saved. If one record cannot be saved, the job is Failed with the error, and the next Synchronize retries it.

Tips

  • Product counts on the Dashboard are per store — a product sold in two stores counts once per store.
  • Stock is imported per Shopify location. Set a default stock location in Settings only if you want all Shopify stock in one RedERP location.
  • Deleting a product in Shopify deactivates it in RedERP; it is not deleted, so past orders keep their lines.