> AI agents: this is one page from PostHog's docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt # Linking Cin7 Core as a source Canonical URL: https://posthog.com/docs/data-pipelines/sources/cin7 > **Cloud region:** This page uses US Cloud hosts. For an EU Cloud project, use `https://eu.posthog.com` instead of `https://us.posthog.com` or `https://app.posthog.com` (app host for links). ## On this page - [Prerequisites](#prerequisites) - [Adding a data source](#adding-a-data-source) - [Sync modes](#sync-modes) - [Configuration](#configuration) - [Supported tables](#supported-tables) - [Troubleshooting](#troubleshooting) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_9608fcca70) ![](https://res.cloudinary.com/dmukukwp6/image/upload/texture_tan_dark_a92b0e022d) Let AI connect your sources for you Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog. `npx @posthog/wizard warehouse` ![PostHog Wizard hedgehog](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png) ![](https://res.cloudinary.com/dmukukwp6/image/upload/wizard_3f8bb7a240.png)Let AI connect your sources for you The Cin7 Core connector syncs your inventory management data – products, stock levels, customers, suppliers, sales, purchases, and more – into PostHog, so you can analyze your inventory and order data alongside your product data. > **Note:** This source supports Cin7 Core (formerly DEAR Inventory) only. It doesn't support Cin7 Omni. ## Prerequisites You need a Cin7 Core account with API access enabled. To get your credentials: 1. Log in to Cin7 Core. 2. Go to **Integrations** > **API**. 3. Create an API application if you don't have one. 4. Copy your **Account ID** and **Application key**. ## Adding a data source 1. In PostHog, go to the [Sources tab](https://app.posthog.com/data-management/sources) of the data pipeline section. 2. Click **\+ New source** and click **Link** next to this source. 3. Enter your credentials (see [Configuration](#configuration) below) and click **Next**. 4. Select the tables you want to sync, choose a sync method and frequency, then click **Import**. Once the syncs are complete, you can start querying this data in PostHog. When linking Cin7 Core, you'll need: - **Account ID** - Your Cin7 Core account identifier, found under **Integrations** > **API**. - **Application key** - Your API application key from Cin7 Core. This is stored securely and never displayed after setup. ## Sync modes Each table can be synced in one of several modes, depending on what the source supports: - **Webhook** (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes. - **Incremental** – only new or updated rows are synced on each run, using a cursor field (such as an `updated_at` timestamp). Cheaper than a full refresh, but deletes aren't captured. - **Append only** – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs. - **Full refresh** – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected. See [sync methods](https://posthog.com/docs/data-pipelines/sources.md#sync-methods) for a full explanation of how each mode works and how to choose between them. Seven tables support incremental sync using `ModifiedSince` or `UpdatedSince` filters, so only changed records are fetched on each run. All other tables use full refresh. | Incremental tables | Cursor field | | --- | --- | | `products` | `LastModifiedOn` | | `customers` | `LastModifiedOn` | | `suppliers` | `LastModifiedOn` | | `sales` | `Updated` | | `sale_credit_notes` | `Updated` | | `purchases` | `LastUpdatedDate` | | `purchase_credit_notes` | `LastUpdatedDate` | The Cin7 Core API allows 60 calls per minute. PostHog sends at most one request per second to stay within this limit. ## Configuration | Option | Type | Required | | --- | --- | --- | | `Account ID` | text | Yes | | `Application key` | password | Yes | ## Supported tables | Table | Description | Sync method | Incremental field | Primary key | | --- | --- | --- | --- | --- | | `products` | Product catalog containing stock and service items. | Incremental, Full refresh | LastModifiedOn | — | | `product_families` | Product families that group product variants by options. | Full refresh | — | — | | `product_availability` | Stock levels per product, location, bin, and batch. | Full refresh | — | — | | `product_categories` | Categories used to organize products. | Full refresh | — | — | | `brands` | Brands assigned to products. | Full refresh | — | — | | `customers` | Customers and their sales, billing, and contact settings. | Incremental, Full refresh | LastModifiedOn | — | | `suppliers` | Suppliers and their purchasing, payment, and contact settings. | Incremental, Full refresh | LastModifiedOn | — | | `sales` | Sale list with one row per sale, including status and totals. | Incremental, Full refresh | Updated | — | | `sale_credit_notes` | Sales that have a credit note, including their status and totals. | Incremental, Full refresh | Updated | — | | `purchases` | Purchase list with one row per purchase order. | Incremental, Full refresh | LastUpdatedDate | — | | `purchase_credit_notes` | Purchases that have a credit note, including their status and totals. | Incremental, Full refresh | LastUpdatedDate | — | | `stock_adjustments` | Inventory adjustments and their transaction status. | Full refresh | — | — | | `stock_takes` | Inventory stock takes and their locations and status. | Full refresh | — | — | | `stock_transfers` | Inventory transfers between locations. | Full refresh | — | — | | `locations` | Warehouses and bins used to store or move stock. | Full refresh | — | — | | `payment_terms` | Payment terms used for customer and supplier transactions. | Full refresh | — | — | | `chart_of_accounts` | Accounts keyed by account Code, including classification and payment details. | Full refresh | — | — | | `tax_rules` | Tax rules applied to sales and purchases. | Full refresh | — | — | | `units_of_measure` | Units of measure used for product quantities. | Full refresh | — | — | | `carriers` | Carriers available for shipments. | Full refresh | — | — | | `price_tiers` | Named product price tiers keyed by Code from 1 to 10. | Full refresh | — | — | Below is a reference of all 21 available tables and their sync methods: | Table | Sync method | Description | | --- | --- | --- | | `products` | Incremental | Product catalog with SKUs, pricing, and attributes | | `product_families` | Full refresh | Product groupings and variant options | | `product_availability` | Full refresh | Stock levels per product, location, bin, and batch | | `product_categories` | Full refresh | Product categorization | | `brands` | Full refresh | Product brands | | `customers` | Incremental | Customer records with billing and contact settings | | `suppliers` | Incremental | Supplier and vendor records | | `sales` | Incremental | Sales orders and transactions | | `sale_credit_notes` | Incremental | Credit notes for sales | | `purchases` | Incremental | Purchase orders | | `purchase_credit_notes` | Incremental | Credit notes for purchases | | `stock_adjustments` | Full refresh | Inventory adjustment records | | `stock_takes` | Full refresh | Physical inventory counts | | `stock_transfers` | Full refresh | Stock movements between locations | | `locations` | Full refresh | Warehouse and storage locations | | `payment_terms` | Full refresh | Payment term configurations | | `chart_of_accounts` | Full refresh | Accounting chart of accounts | | `tax_rules` | Full refresh | Tax rule configurations | | `units_of_measure` | Full refresh | Unit of measure definitions | | `carriers` | Full refresh | Shipping carrier information | | `price_tiers` | Full refresh | Pricing tier configurations | ## Troubleshooting - If your sync fails with an authentication error, Cin7 Core rejected the account ID or application key. Copy both values from **Integrations** > **API** in Cin7 Core and reconnect the source. - If your sync fails with a rate limit error, wait a minute and try again. The Cin7 Core API allows 60 calls per minute per application. If your sync is failing or data looks wrong, see the [Data warehouse troubleshooting guide](https://posthog.com/docs/data-warehouse/troubleshooting.md). If that doesn't help, [contact support](https://us.posthog.com/#panel=support%3Asupport%3Adata_warehouse%3A%3Atrue) – we're happy to help.