# Set up Cin7 Core with Starshipit WMS
URL: https://support.starshipit.com/articles/14700000000035-set-up-cin7-core-with-starshipit-wms
Canonical: https://support.starshipit.com/articles/14700000000035-set-up-cin7-core-with-starshipit-wms
Markdown: https://support.starshipit.com/articles/14700000000035-set-up-cin7-core-with-starshipit-wms.md
Updated: 2026-09-17

> For the complete documentation index, see [llms.txt](https://support.starshipit.com/llms.txt).

> Connect Cin7 Core directly to Starshipit WMS, map a warehouse, import opening stock, and manage product, purchase order and inventory syncs.

Connect Cin7 Core directly to Starshipit WMS to keep products, purchase orders and bin-level inventory aligned while your team manages day-to-day warehouse locations and movements in WMS. Cin7 Core was previously known as DEAR Inventory.

## Before you begin

You need:

* A Cin7 Core account with API access and webhooks available.
* Permission to create an API application in Cin7 Core.
* Permission to manage settings and products, and view and import locations in Starshipit WMS.
* Access to **Operations** and **Process Logs** if you will monitor the rollout yourself.
* One active, top-level Cin7 Core warehouse for this WMS account.
* Active Cin7 Core bins for the WMS locations used in receiving, storage, staging, equipment and packing.
* If Cin7 Core has stock without a bin, a visible WMS **Staging dock**, **Quarantine** or **Overflow** location that is not linked to a Core bin.
* A secure password manager for the API application key and webhook bearer secret.

This direct WMS integration is separate from the standard [Cin7 Core integration](/articles/211651203-cin7-core-integration) used to import sales orders into Starshipit or request shipping rates from Cin7 Core.

## Decide which system owns each type of data

:::important
Manage the product catalogue, suppliers and Advanced Purchase orders in Cin7 Core. Link Core bins to WMS locations so stock changes can stay aligned in both systems. Enable inventory writeback before starting WMS warehouse movements.
:::

| Data | Source of truth | How the integration handles it |
| --- | --- | --- |
| Product catalogue | Cin7 Core | WMS imports supported products and updates the Core-managed product fields. |
| Suppliers and Advanced Purchase orders | Cin7 Core | WMS imports eligible purchase orders and matches or creates suppliers by name. |
| Bin stock | Cin7 Core and WMS | WMS reconciles Core stock by linked bin, preserving batch, serial and expiry details. Enabled writeback sends supported WMS changes to Core. |
| Bins and WMS locations | Cin7 Core for bin identity; WMS for operational settings | Location import creates stable Core bin links. Later Core location changes are not imported automatically. |
| Putaway, replenishment and internal movements | WMS | Enabled writeback sends supported movements between linked bins to Core. |
| Sales and shipping | Your existing Starshipit and Cin7 Core workflow | This direct integration does not replace the sales-order and shipment integration. |

The diagram below shows the sales, shipping, WMS import, webhook and writeback flows between the three systems.

```mermaid
sequenceDiagram
    accTitle: Cin7 Core, Starshipit and Starshipit WMS data flows
    accDescr: Swimlane diagram showing sales, shipping, product, purchasing, inventory, webhook and writeback flows between the three systems

    participant C as Cin7 Core
    participant S as Starshipit
    participant W as Starshipit WMS

    rect rgb(240, 247, 255)
        Note over C,S: Sales and shipping

        S->>C: Request eligible sales orders or fulfilments
        C-->>S: Return sales order or fulfilment data
        S->>C: Write back carrier and tracking details

        C->>S: Request available shipping rates
        S-->>C: Return carriers, services and rates
        C->>S: Request shipment and label
        S-->>C: Return label and tracking details
    end

    rect rgb(243, 250, 246)
        Note over C,W: WMS imports and webhooks

        W->>C: Request product catalogue
        C-->>W: Return supported Stock products

        W->>C: Request opening stock
        C-->>W: Return stock for the mapped warehouse

        C-->>W: Product/Updated webhook
        W->>C: Fetch the latest product
        C-->>W: Return updated product data

        C-->>W: Stock/AvailableStockLevelChanged webhook
        W->>C: Fetch current warehouse stock
        C-->>W: Return mapped-warehouse stock
        Note over W: Reconcile linked bins and tracking details

        C-->>W: Purchase/OrderAuthorised or Purchase/Updated webhook
        W->>C: Fetch the latest Advanced Purchase
        C-->>W: Return purchase order, supplier and product data
    end

    rect rgb(255, 248, 235)
        Note over C,W: WMS writeback

        W->>C: Write back completed purchase receipt
        W->>C: Write back bin adjustments and internal transfers
        opt Outbound Pick/Pack enabled
            W->>C: Authorise and verify Pick and Pack
            W->>S: Request shipping label
            S->>C: Write back Ship and tracking
        end
    end
```

## Start with a fresh WMS instance

Set up Cin7 Core before starting warehouse operations. Use a fresh WMS instance, or review **System > Settings > Data Management** if you are deliberately starting over with an existing instance.

:::warning
A transactional data reset permanently deletes inventory, orders, jobs and stock movements. It preserves products, locations and configuration. Only reset an existing instance when you intend to remove its operational data.
:::

Arrange a setup window in which users and connected systems pause product, stock and purchase changes in Cin7 Core. Keep those changes paused from before the first import until webhooks are registered and the final comparison below is complete. Changes made before registration are not captured by these webhooks.

## Connect Cin7 Core while the integration is disabled

Keep **Enable Cin7 Core sync**, **Enable Cin7 Core writeback** and **Enable outbound Pick/Pack writeback** off while you configure and test the connection.

### Create Cin7 Core API credentials

1. Open the Cin7 Core API setup page.
2. Create a dedicated API application for Starshipit WMS.
3. Copy the **Account ID** and **Application key** into your password manager.

See [Connecting to the Cin7 Core API](https://help.core.cin7.com/hc/en-us/articles/9982480315407-Connecting-to-the-Cin7-Core-API) for detailed API setup instructions.

Treat the account ID and application key like a username and password. Do not send them by email, place them in process notes or share them with users who do not manage the integration.

### Enter the connection details in WMS

1. In WMS, go to **System > Settings**.
2. Under **Products & Inventory**, select **Direct Integrations**.
3. Find **Cin7 Core**.
4. Enter the **Core account ID** and **Application key**.
5. Create a long, unique secret in your password manager and enter it in **Webhook bearer secret**. This secret is created by you; it is not the Cin7 Core application key.
6. Leave **Enable Cin7 Core sync** and **Enable Cin7 Core writeback** off.
7. Select **Test connection**.

Settings save automatically when you leave a text field or change a selection. Wait for **Saved** before continuing. If **Not saved** appears, correct the reported problem and select **Retry**. Complete any required fields if **Unsaved changes** appears. **Test connection** also saves changed connection details before testing.

When the test succeeds, WMS displays the number of active Cin7 Core warehouse locations it found. Saved application keys and webhook secrets are not displayed again. Enter a new value only when you intend to replace the saved value.

### Map the warehouse and import locations

1. Select the matching **Cin7 Core warehouse**.
2. Wait for **Saved**.
3. Select **Import locations from Cin7 Core** to open the import flow in **Setup > Locations**.
4. Review the import summary, then select **Import locations**.
5. Wait for the import to finish and review any failed rows.
6. Confirm that every location used for bin-based movements has a Core link, including receiving, staging, equipment and packing locations.

One WMS account maps to one active, top-level Cin7 Core warehouse. The import copies active descendants and links them to their Core IDs. WMS reuses existing Core ID links first, then matches unlinked locations by name without regard to letter case. Existing same-name locations keep their type and settings; new locations are created as **Pick Face** locations. Duplicate names or conflicting mappings require correction before the affected rows can import.

Later Core additions, renames, hierarchy changes and deactivations are not imported automatically. Run the import again when needed and review the links. Continue managing WMS location types, barcodes, capacity, sequence, zones and restrictions in WMS.

### Choose a location for stock without a Core bin

If Cin7 Core holds stock at warehouse level without a bin, return to the Cin7 Core settings card and select a **WMS reconciliation location**, then wait for **Saved**. Choose a visible **Staging dock**, **Quarantine** or **Overflow** location that is not already linked to a Core bin.

This location receives stock that has no Core bin. It does not replace a missing mapping for stock that already belongs to a Core bin. Assign unbinned stock to a Core bin before using bin-based outbound movements.

## Enable inbound sync

1. Confirm that the location import has finished and the warehouse mapping is correct.
2. Turn on **Enable Cin7 Core sync**.
3. Keep both writeback settings off during the initial import.
4. Wait for **Saved** to unlock the **Integration status** actions.

## Import products and opening stock

### Import the product catalogue

1. Under **Integration status**, select **Import products**.
2. Go to **Operations > Background work**.
3. Find **Cin7 Core product import** under **Tracked jobs**.
4. Wait for the job to complete before importing opening stock.

WMS imports active Cin7 Core products that have the **Stock** type and a non-empty SKU. A product import or webhook updates these Core-managed fields:

* **Product details:** Name, barcode, brand, description and tags.
* **Pricing:** Price Tier 1 and average cost.
* **Physical and customs details:** Dimensions, weight and country of origin.
* **Tracking:** Batch or serial tracking based on the Cin7 Core costing method.

WMS hides a linked Stock product when it is deprecated in Cin7 Core. Edit these managed fields in Cin7 Core because a future import or product webhook can replace the WMS values.

### Import Assembly bills of materials

The product import also converts supported Cin7 Core Assembly bills of materials (BOMs) into WMS **exploding bundles**. Orders for these bundles use the component SKUs rather than picking a stocked bundle SKU.

To import a BOM, it must have:

* The **Assembly** BOM type and **Quantity to produce** set to `1`.
* At least one stock component, with a product ID, SKU and positive whole-unit quantity.
* No service components, wastage, duplicate components or nested bundles.
* Component products that can be imported and pass WMS bundle validation.

After the import completes, open a sample bundle in **Products** and check its bundle mode, component SKUs and quantities. Review **System > Process Logs** for any skipped BOMs before using them on orders.

Manage the BOM in Cin7 Core. A later product import or product-update webhook can replace the WMS component configuration and set its mode to **Explode**. This import does not create pre-kitted stock or write assemblies back to Cin7 Core. See [Configure WMS products and inventory](/articles/14700000000006-starshipit-wms-products-and-inventory-configuration) for the difference between exploding and require-stock bundles.

### Apply opening stock

Apply opening stock after both the location and product imports have finished. This is a one-time setup action for products with no existing WMS stock.

1. Select **Apply opening stock** under **Integration status**.
2. Go to **Operations > Background work**.
3. Find **Cin7 Core opening stock** under **Tracked jobs** and wait for completion.
4. Review warnings in **System > Process Logs**.
5. Compare representative SKUs in both systems by bin, quantity and any batch, serial or expiry details.

WMS supports whole-unit untracked, batch-tracked and serial-tracked opening stock. Stock goes to its linked WMS bin, or to the reconciliation location when the Core row has no bin.
:::caution
Do not use opening stock to overwrite active inventory. Missing mappings, fractional quantities and conflicting existing WMS stock require review before continuing.
:::

## Register webhooks after the imports

1. Return to the Cin7 Core settings card.
2. Under **Integration status**, select **Register webhooks** when you are ready for ongoing changes.
3. Confirm that all four events under **Webhooks** show **Active**. **Not configured** means the subscription needs registration or reactivation; **Not checked** means WMS has not confirmed its state.
4. While Core changes remain paused, compare the imported product data and stock by bin and tracking identity against Core. Review any eligible purchase orders that need to reach WMS.
5. Resolve missing or mismatched records before resuming changes. If Core changed during setup, do not assume registration replays those changes: refresh products with **Import products again**, use the inventory comparison below to reconcile stock, and contact Starshipit support for missing purchases. Do not rerun opening stock over existing WMS inventory.
6. Resume Core changes only after this comparison is complete and all discrepancies are resolved.

WMS creates or reactivates these subscriptions. You do not need to copy webhook URLs or authentication values into Cin7 Core manually.

| Cin7 Core event | What WMS does |
| --- | --- |
| `Product/Updated` | Fetches the latest product record. |
| `Stock/AvailableStockLevelChanged` | Reconciles stock by linked bin and tracking identity. |
| `Purchase/OrderAuthorised` | Imports an eligible authorised Advanced Purchase order. |
| `Purchase/Updated` | Fetches the latest eligible Advanced Purchase order. |

## Understand ongoing sync flows

Cin7 Core webhooks notify WMS that something changed. WMS then retrieves the latest record from Cin7 Core before processing it.

### Product updates

Cin7 Core remains the product catalogue master. When an imported product changes, WMS refreshes the Core-managed product fields. Only active Stock products with a non-empty SKU are imported. Linked Stock products marked as deprecated in Cin7 Core are hidden in WMS.

You can refresh the catalogue from the Products page using **Sync from Cin7 Core**. This requires the direct integration to be enabled and the relevant settings and product permissions. Follow the import in **Operations > Background work**.

### Purchase orders

WMS imports a purchase order when all of these conditions are met:

* It is an **Advanced Purchase** in Cin7 Core.
* Its order stage is **Authorised**.
* It belongs to the mapped Cin7 Core warehouse.
* It is not service-only.
* It contains at least one stock line, and every line has a product and SKU, a positive whole-unit quantity and a valid non-negative price.

The purchase order appears in WMS with its Cin7 Core order number, supplier, dates, products, quantities and prices. If a product on the order is not yet linked, WMS imports the product before creating the purchase order.

Make purchase-order changes in Cin7 Core before receiving begins. Once the WMS purchase order has receiving activity, later Cin7 Core updates do not replace its lines.

### Inventory changes

For a stock-change event, WMS fetches the current Core stock and compares it with WMS stock by linked bin, batch or serial number and expiry. Unbinned Core stock uses the selected reconciliation location.

WMS moves existing stock between locations before applying any remaining quantity adjustment. It preserves tracking and receipt details. A missing mapping, fractional quantity, required removal from allocated or container-held stock, or unresolved outbound write sends the product for review instead of applying a partial reconciliation.

Changes imported from Core do not generate another writeback to Core. Review **Background work** and **Process Logs** when a difference remains.

## Reconcile an inventory difference

Use a directional sync for an existing product when you have confirmed which system has the correct stock. This requires permission to adjust inventory and an enabled Cin7 Core integration. Syncing to Core also requires inventory writeback to be enabled.

1. Go to **Inventory** and open the linked product's actions.
2. Select **Sync from Cin7 Core** to replace WMS quantities with Core quantities, or **Sync to Cin7 Core** to replace Core quantities with WMS quantities.
3. Wait for the background preview to appear.
4. Compare the quantities by bin and any batch, serial and expiry details, including the destination quantity after sync. Review any blocked inventory writebacks the preview says it will resolve.
5. Select the matching **Sync from Cin7 Core** or **Sync to Cin7 Core** button to queue the change.
6. Check **Operations > Background work** for the result, then compare the product in both systems.

If inventory, mappings or queued work changes after the preview, refresh it and confirm the revised quantities. An error may require you to resolve missing links or review a receipt or sale separately. Do not use opening stock to overwrite existing inventory.

## Enable inventory writeback after testing

**Enable Cin7 Core writeback** adds these outbound flows:

| WMS action | Cin7 Core result |
| --- | --- |
| Receive stock against a Cin7 Core-sourced Advanced Purchase order | WMS sends the completed receipt to the matching Cin7 Core purchase using the actual receiving bin. |
| Adjust or write off stock, or complete a stocktake or cycle-count correction | WMS sends the resulting quantity for each affected linked bin and tracking identity. |
| Move stock between linked WMS locations, including putaway and replenishment | WMS sends a Core stock transfer between the linked bins. |
| Restock a customer return to a linked bin | WMS sends a stock adjustment for the returned quantity. This does not create a Core credit note or return document. |
| Ship a linked product on an order with a known source other than Cin7 Core | WMS sends a stock deduction. Core-sourced sales retain their existing Core sale deduction. |

Writebacks run in the background. A Cin7 Core error does not undo the completed WMS receipt or inventory adjustment.

For purchase receipts, WMS handles Cin7 Core's **Use put away** setting automatically.

To test and enable writeback:

1. Confirm that the connection, warehouse mapping and webhooks are working.
2. Complete the product import and review any opening-stock warnings.
3. Authorise a small test Advanced Purchase order in Cin7 Core for the mapped warehouse.
4. Confirm that the order and its products appear correctly in WMS.
5. Confirm that receiving and movement locations are linked to active Core bins.
6. Turn on **Enable Cin7 Core writeback** and wait for **Saved** before receiving or moving stock in WMS.
7. Receive the controlled purchase, then test a bin movement and an adjustment. Confirm quantities and tracking details in both systems.
8. Review **Operations > Background work** and **System > Process Logs** before starting normal warehouse operations.

Writeback is not retroactive. Receipts, adjustments and movements completed while writeback is off are not sent later when you enable it.

## Optionally enable outbound Pick/Pack writeback

**Enable outbound Pick/Pack writeback** is separate from inventory writeback and is off by default. For supported sales imported at **Ordered**, WMS authorises and verifies Cin7 Core Pick and Pack before requesting a shipping label. Starshipit continues to handle Ship and tracking updates.

Use this only when all these conditions apply:

* The Starshipit Cin7 Core connection uses API v2 sale import for the same Core account, without enhanced fulfilment import.
* The order is a full **Simple Sale** in the mapped warehouse with one existing sale-level fulfilment.
* The full sale is packed into one Starshipit package, with at most 20 distinct products.
* All packed stock has exact bin and batch or serial attribution where required.
* The sale has no previous shipment or return.

Partial quantities, Advanced Sales, multiple fulfilments and multiple packages are not supported by this setting. Existing authorised Pick/Pack records must match exactly; WMS does not overwrite existing work.

1. Prepare an eligible Ordered sale in a non-production Cin7 Core and Starshipit account.
2. Turn on **Enable outbound Pick/Pack writeback** and wait for **Saved**.
3. Pack the full sale in WMS and request its label.
4. Confirm Pick and Pack in Core, the label in Starshipit, and the subsequent Ship and tracking update before enabling this workflow for live orders.

If Pick/Pack validation or writeback fails, printing is blocked. Review the Core sale and process status before continuing. Do not delete or requeue an uncertain operation to bypass the error. Successful Pick/Pack alone does not confirm shipping succeeded.

## Monitor background work and process logs

Check **Integration status** in the Cin7 Core settings for the latest product import, opening-stock run and each webhook subscription. Completed import cards offer **Import products again** and **Apply opening stock again**; the latter still does not replace existing stock.

Use **Operations > Background work** for a quick operational view:

* **Tracked jobs** shows product imports and opening-stock imports, including progress and warning counts.
* **Queue activity** shows recent product updates, stock updates, purchase-order updates and writebacks.
* **Retryable** means WMS plans another attempt after a temporary response such as rate limiting.
* **Needs review**, **Failed** or **Dead letter** means you should inspect the error before changing data in either system.

Use **System > Process Logs** for detailed warnings and audit information. Look for entries related to Cin7 Core, inventory sync, purchase orders or stock movements.

If a writeback outcome is uncertain, check Cin7 Core before repeating the WMS action. WMS avoids automatically repeating an operation when doing so could create a duplicate receipt or adjustment.

## Understand the limitations

The direct integration does not:

* Automatically import later changes to the Cin7 Core location catalogue.
* Send bin-based movements from locations without valid Core bin links.
* Replace the existing Starshipit and Cin7 Core sales-order and shipment flow.
* Write back cross-warehouse transfers, assemblies or kitting, or create customer return and credit documents in Core.
* Apply fractional stock quantities automatically.
* Cancel or delete an imported WMS purchase order if the Cin7 Core purchase later becomes unauthorised or moves outside the mapped warehouse.
* Map more than one Cin7 Core warehouse to one WMS account.

## Troubleshooting

| Problem | What to check |
| --- | --- |
| The connection test fails | Confirm the account ID and application key belong to the correct Cin7 Core company, the API application is active and the values were copied without extra spaces. |
| The expected warehouse is missing | WMS lists active, top-level Cin7 Core locations only. Check the location in Cin7 Core, then test the connection again. |
| A Cin7 Core location import cannot start | Complete the Cin7 Core credentials and mapped warehouse, then wait for **Saved**. Resolve duplicate location names beneath the warehouse or ambiguous same-name WMS locations, then wait for any other location import to finish. |
| An Integration status button is disabled | Turn on **Enable Cin7 Core sync** and wait for **Saved**. Complete any required fields or resolve a **Not saved** error. Writeback can remain off. |
| A product is missing | Confirm it is an active Cin7 Core **Stock** product with a non-empty SKU, then check Background work. |
| A purchase order is missing | Confirm it is an authorised, non-service Advanced Purchase for the mapped warehouse and every stock line has a product, SKU, positive whole-unit quantity and valid non-negative price. |
| Opening stock has warnings | Check for existing WMS stock, fractional quantities, missing bin links or unbinned Core stock without a reconciliation location. |
| Inventory differs after a webhook | Check bin links, tracking details, fractional quantities, allocated or container-held stock, and unresolved outbound writes. Review Process Logs. |
| Webhooks stop arriving after the secret changes | Do not rotate the webhook bearer secret during live processing. Contact Starshipit support to coordinate the secret change and webhook registration. |
| A receipt or adjustment did not write back | Confirm both sync and writeback are enabled, the record is linked to Cin7 Core, and the operation was completed after writeback was enabled. Check Background work and Process Logs. |

If the problem continues, contact [Starshipit support](https://help.starshipit.com) with the affected WMS account, SKU or purchase-order number, the time of the event and the Background work or Process Logs status. Do not include API keys or webhook secrets.

## Related articles

* [Cin7 Core integration for sales orders and shipping](/articles/211651203-cin7-core-integration)
* [Set up WMS locations and your warehouse](/articles/14700000000033-starshipit-wms-locations-and-warehouse-setup)
* [Configure WMS products and inventory](/articles/14700000000006-starshipit-wms-products-and-inventory-configuration)
* [Manage suppliers and purchase orders](/articles/14700000000007-suppliers-and-purchase-orders)
* [Receive stock in WMS](/articles/14700000000008-receiving-stock)
