Plan integrations

Ask about this Page
Copy for AI
View as Markdown

This page is the canonical cross-domain overview for assigning data ownership across a commercetools solution. Assign one authoritative writer to each domain and treat synchronized copies in other systems as read-only replicas. The ownership choices below are common defaults, not mandatory architecture. Use the linked guides to validate each choice and design its implementation.

Data domainTypical ownerDirectionCanonical guide
Core product dataPIM, or ERP when no PIM existsExternal system to commercetoolsIntegrate product data
Product contentPIMPIM to commercetoolsIntegrate product data
CategoriesPIMPIM to commercetoolsIntegrate product data
MediaPIM or DAMExternal system to commercetoolsIntegrate product data
List and base PricesERPERP to commercetoolsIntegrate product data
Contract and customer-specific PricesERPERP to commercetoolsIntegrate ERP
InventorySystem that owns OrdersUsually OMS or ERP to commercetoolsIntegrate an order management system
Customer profileCRM, or commercetools when no CRM masters itVariesIntegrate a CRM
B2B accountsERP, or commercetools when no ERP existsUsually ERP to commercetoolsIntegrate ERP
Order capture and contentscommercetoolscommercetools to OMS or ERPIntegrate an order management system
Order fulfillment lifecycleOMS, or ERP when it owns the Order lifecycleOMS or ERP to commercetoolsIntegrate an order management system
Invoices and financial documentsERPReferences or summaries to commercetools as neededIntegrate ERP
TaxTax service, ERP, or commercetoolsSynchronous calculation and asynchronous recordingIntegrate tax
Promotionscommercetools or an external promotion engineVariesIntegrate a promotion or loyalty engine
PaymentPSP for the financial outcome and commercetools for the Payment representationBidirectionalIntegrate a payment service provider
Searchcommercetools for the catalog and external engine for its indexcommercetools to the search engineIntegrate external search
Shippingcommercetools, a carrier service, or OMS, depending on the flowVariesIntegrate a shipping carrier or rate service
EmailExternal email service providercommercetools events to the providerIntegrate transactional email

Customer

Separate Customer profiles from B2B account data. A CRM commonly owns profile and contact data, while commercetools can own the profile when no CRM masters it. Even when another system owns the profile, a Customer must exist in commercetools for permissions, Cart and Order assignment, and personalized promotions. For ownership and synchronization decisions, see Integrate a CRM.
In B2B implementations, an ERP commonly owns account hierarchies, credit limits, and payment terms. Replicate the account structure to Business Units as needed. A Business Unit requires name, unitType, and key. Its status is optional and defaults to Active. For account-data integration, see Integrate ERP.
To reference the corresponding customer record in the other system, use the externalId field of the Customer resource. To replicate data with no equivalent field, store it in Custom Fields.

Order

commercetools owns Order capture and contents at checkout. After capture, an OMS or ERP typically owns the fulfillment lifecycle, including status, shipments, cancellations, and returns, and replicates relevant updates to commercetools. When no OMS or ERP owns that lifecycle, commercetools can remain the authoritative writer. For the handoff and update boundaries, see Integrate an order management system.

Inventory

Inventory usually follows the system that owns the Order lifecycle, such as an OMS or ERP. Stock level notifications can emit Messages at configured thresholds and trigger asynchronous workflows. commercetools does not call an external inventory master before Order creation.
When commercetools owns the Order lifecycle, it can also own Inventory. Tracking Inventory in commercetools remains optional when an external system manages stock or the business does not need platform-side tracking. For synchronization and reconciliation decisions, see Integrate an order management system.

Product data

Assign ownership separately for core product data, product content, Categories, and media. A PIM typically owns core data, content, and Categories, while a digital asset management system can own media. An ERP can own core data when no PIM exists. Synchronize only the data needed by commercetools and keep each replica read-only for externally owned fields. For the complete ownership model, see Integrate product data.

Pricing

An ERP typically owns list and base Prices as well as contract and customer-specific Prices. Replicate the Prices needed for storefront selection into commercetools. See Integrate product data for list and base Prices and Integrate ERP for contract and customer-specific Prices.
A configure, price, quote (CPQ) system owns configuration and quotation workflows, not the underlying Price master. For quotation boundaries, see Integrate CPQ.

Financial data

The ERP is authoritative for invoices, credit notes, and other financial documents. Replicate only the references or summaries needed by the storefront or Merchant Center. For reconciliation and account-data patterns, see Integrate ERP.

Promotions

Promotions can use one of two ownership models. commercetools can own native Discounts, or an external promotion engine can own campaign rules, coupon inventory, and loyalty balances for the Carts assigned to it. Do not assign both systems as writers for the same discount domain. For the ownership boundary, see Integrate a promotion or loyalty engine.

Tax

Tax has no universal owner. commercetools can calculate tax from configured Tax Categories and Tax Rates, while an external tax service can calculate jurisdiction-specific rates or amounts and record transactions. An ERP can own tax data in some architectures. For calculation modes and lifecycle boundaries, see Integrate tax.

Payment

A payment service provider (PSP) is authoritative for the financial outcome. The commercetools Payment is the commerce representation of that outcome and must be updated from verified provider events. Ownership of the Payment resource depends on the selected Checkout or Connector path. For these boundaries, see Integrate a payment service provider.

Shipping

commercetools owns native Shipping Methods, Zones, predicates, and configured rates. A carrier or rate service owns live quotes when checkout requires external rates. An OMS owns fulfillment, labels, and tracking when it books shipments. For the boundary between these flows, see Integrate a shipping carrier or rate service.

Email

Customer and Order events in commercetools trigger asynchronous workflows, while an external email service provider delivers transactional messages. For event selection, delivery, and recovery boundaries, see Integrate transactional email.