> For the complete documentation index, see [llms.txt](https://support.ordereazi.com/central/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.ordereazi.com/central/apps/business-systems/cin7-core/master-data-sync.md).

# Master data sync

Bring Cin7 reference data, products, prices, clients, suppliers, images, and stock into OrderEazi with the Cin7 Core app.

Before your team can quote Cin7 products in OrderEazi, the products, prices, and clients need to be there. The Cin7 Core app's **Reference Data** and **Master Sync** tabs bring them across straight away, and show what each run did. The same syncs also run on their schedule. See [Sync schedule](/central/apps/business-systems/cin7-core/sync-schedule.md).

### Before you start

Save your Cin7 credentials on the **Configuration** tab, and tick the syncs you want under **Sync Settings**. The **Master Sync** buttons only run when **Cin7 → OrderEazi (pull-back)** and their own switch are on. Otherwise you see "\[name] → OrderEazi sync is disabled in Sync Settings.", with the sync's name in place of \[name]. See [Configuration](/central/apps/business-systems/cin7-core/configuration.md).

> **Warning:** A client or supplier already in OrderEazi under a different code isn't recognised, so a second one is created. Check your client and supplier codes before the first clients and suppliers sync, using the rule under "How matching works" below.

### How to sync reference data

On the app's **Reference Data** tab, select **Sync Now**. You see "Sync started.", and the sync carries on in the background, so you can leave the page.

When it finishes, you see "Sync complete: \[x] customers, \[y] products, \[z] suppliers.", with the counts in place of \[x], \[y], and \[z]. It takes several minutes for a large account. It refreshes the Cin7 lists on the tab, such as **Tax Types**, **Price Tiers**, and **Locations**, and the app's own copies of your Cin7 customers, products, and suppliers. It also creates pricelists, brands, categories, and locations in OrderEazi. See [Mappings](/central/apps/business-systems/cin7-core/mappings.md).

### How to sync products, clients, suppliers, images, and stock

On the app's **Master Sync** tab, select **Sync Items**, **Sync Clients**, **Sync Suppliers**, **Sync Product Images**, or **Sync Stock**. The sync runs while you wait, then shows what it did, and the run is added to **Recent Runs**.

Run **Sync Items** before **Sync Stock**, because stock only comes across for products already in OrderEazi.

### What each sync does

* **Sync Items:** Creates or updates each product, with its name, description, brand, category, barcode, size and weight, and Cin7 average cost. Each tier price (the product's price on a Cin7 price tier) that isn't zero goes on that tier's pricelist, at quantity 1.
* **Sync Clients:** Adds Cin7 customers that aren't in OrderEazi, with their contacts, tax and registration numbers, addresses, tax type, currency, and payment terms.
* **Sync Suppliers:** Adds Cin7 suppliers that aren't in OrderEazi, with their contacts, tax number, addresses, tax type, currency, and payment terms.
* **Sync Product Images:** Sets each product's main image from Cin7, replacing the one in OrderEazi, even one you added yourself.
* **Sync Stock:** Brings Cin7 stock into your main warehouse. See [Stock and locations](/central/apps/business-systems/cin7-core/stock-and-locations.md).

**Example:** You select **Sync Items**. The run shows "Full sync: 1250 products upserted, 3 skipped (invalid SKU); 2480 tier prices applied." Upserted means created or updated. The 3 skipped products had a SKU of fewer than 3 characters, and **Recent Runs** counts them under **Failed**. You fix them in Cin7 and sync again.

### How matching works

* **Products:** By SKU (the product code), so the Cin7 SKU and the OrderEazi product code must be identical. Every synced product is set to active.
* **Clients and suppliers:** The app turns the Cin7 name into a code, and looks for an OrderEazi record with that code. The code is in capitals, with spaces, hyphens, underscores, dots, and slashes turned into "-", and at most 40 characters.

**Example:** Cin7's "Clientco (Pty) Ltd" becomes the code "CLIENTCO-PTY-LTD". If your OrderEazi client has the code "CLI001", the sync doesn't recognise it, and adds a second Clientco. Change the OrderEazi code to "CLIENTCO-PTY-LTD" before you sync.

Clients and suppliers already in OrderEazi aren't updated. A Cin7 customer with no email address is skipped, because OrderEazi needs one.

### Product images

* **File types:** JPEG, PNG, GIF, and WebP images up to 8 MB.
* **Which image:** The one marked as default in Cin7, or else the first by file name. An image that hasn't changed isn't uploaded again.
* **How many:** Up to 1,500 products are checked each run, so a large catalogue is covered over several days.

### Recent Runs

**Recent Runs** lists each button run, each scheduled items, clients, suppliers, and images run, and **Sync Now**. Scheduled stock and reference runs aren't listed. Each row has the **Date (UTC)**, in Coordinated Universal Time, 2 hours behind South African time. It also shows the **Entity**, such as "Products" or "Clients", its **Source** (Manual or Scheduled), the **Created**, **Updated**, **Skipped**, and **Failed** counts, its **Status** (OK or Failed), and a **Message**. Items sync rows count every product under **Updated**.

### What the syncs do not do

The syncs don't link clients to pricelists. Set each client's pricelist in OrderEazi. See [Pricelists](/central/order-management/pricelists.md).

### Related pages

* [Mappings](/central/apps/business-systems/cin7-core/mappings.md): see and change the links the syncs made
* [Sync schedule](/central/apps/business-systems/cin7-core/sync-schedule.md): choose how often each sync runs
* [Logs](/central/apps/business-systems/cin7-core/logs.md): check what came across
